html {
    box-sizing: border-box;
    background-color: #E5E5E5;
    width: 100%;
    overflow-x: hidden;
}
*, *::before, *::after {
    box-sizing: inherit;
}
@font-face {
    font-family: proxima-nova-black;
    src: url("../fonts/ProximaNova-Black.ttf") format("opentype");
}
@font-face {
    font-family: proxima-nova-bold;
    src: url("../fonts/ProximaNova-Bold.ttf") format("opentype");
}
@font-face {
    font-family: proxima-nova-extra-bold;
    src: url("../fonts/ProximaNova-Extrabld.ttf") format("opentype");
}
@font-face {
    font-family: proxima-nova;
    src: url("../fonts/ProximaNova-Regular.ttf") format("opentype");
}
body {
    background-color: white;
    color: black;
    max-width: 1920px;
    margin: 0 auto;
}
a, a:hover, a:focus, a:active {
    color: inherit;
}
a {
    cursor: pointer;
    color: inherit; /* blue colors for links too */
}
button {
    font-family: proxima-nova-black, serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 900;
    text-align: center;
    color: white;
    background: #000000;
    border: none;
    text-transform: uppercase;
    width: 267px;
    height: 77px;
    cursor: pointer;
}
button:hover {
    opacity: 0.7;
}
h1 {
    font-family: proxima-nova-black, serif;
    font-style: normal;
    font-weight: 900;
    font-size: 31px;
    line-height: 36px;
    text-transform: uppercase;
    text-align: center;
}
h2 {
    font-family: proxima-nova, serif;
    font-style: normal;
    font-weight: 400;
    font-size: 31px;
    line-height: 36px;
}
h3 {
    font-family: proxima-nova-black, serif;
    font-style: normal;
    font-weight: 900;
    font-size: 20px;
    line-height: 21.16px;
}
p {
    font-family: proxima-nova, serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 400;
    line-height: 31.67px;
    margin: 0;
}
.main-description li {
    font-family: proxima-nova, serif;
    font-size: 31px;
    font-style: normal;
    font-weight: 400;
    line-height: 34px;
    margin: 0;
}
.wrapper {
    max-width: 650px;
    margin: 0 auto;
}
.big-wrapper {
    margin: 0 auto;
    max-width: 850px;
}

/*Header*/
.logo-roadshow > img {
    width: 650px;
    display: block;
    padding-bottom: 76px;
    margin: 0 auto;
}
.bounce {
    font-size: 26px;
    line-height: 32px;
    text-align: center;
    color: #000000;
    padding: 0;

    overflow: hidden;
    position: relative;
}
.bounce span {
    font-family: proxima-nova-black, serif;
}
.bounce-string {
    /*width: 1000px;*/
    position: relative;
    left:  423px;
    transform: rotate(12.77deg);
}
.bounce-string  p {
    width: 1880px;
    height: 100%;
    -moz-transform: translateX(30%);
    -webkit-transform: translateX(30%);
    transform: translateX(30%);
    -moz-animation: bouncing-text 15s linear infinite alternate;
    -webkit-animation: bouncing-text 15s linear infinite alternate;
    animation: right-bouncing-text 30s linear infinite alternate;
}
@-moz-keyframes right-bouncing-text {
    0% {
        -moz-transform: translateX(30%);
    }
    100% {
        -moz-transform: translateX(-30%);
    }
}

@-webkit-keyframes right-bouncing-text {
    0% {
        -webkit-transform: translateX(30%);
    }
    100% {
        -webkit-transform: translateX(-30%);
    }
}

@keyframes right-bouncing-text {
    0% {
        -moz-transform: translateX(30%);
        -webkit-transform: translateX(30%);
        transform: translateX(30%);
    }
    100% {
        -moz-transform: translateX(-30%);
        -webkit-transform: translateX(-30%);
        transform: translateX(-30%);
    }
}

/*Main description*/
.main-description h1 {
    text-align: left;
    text-transform: none;
}
#big-head {
    text-align: center;
    font-size: 40px;
    margin: 91px auto 85px auto;
}
.main-description li {
    margin-top: 30px;
}


/*Second description*/
.second-description {
    padding-top: 136px;
    text-align: center;
}
.second-description h1 {
    padding-bottom: 78px;
}
.img-wrapper {
    width: 200px;
    height: 120px;
    margin: 0 auto;
}
.grid-description  {
    margin-bottom: 15px;
    text-align: center;
    align-items: start;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 3rem;
    grid-auto-flow: row;
    grid-template-areas:
    "first second"
    "third fourth";
}
.first { grid-area: first; }
/*.first img {*/
/*    padding-bottom: 27px;*/
/*}*/

.second { grid-area: second; }
.second img {
    padding-bottom: 5px;
}

.third { grid-area: third; }
/*.third img {*/
/*    padding-bottom: 30px;*/
/*}*/

.fourth { grid-area: fourth; }

/*When and where*/
.when-and-where {
    margin-top: 175px;
    text-align: center;
}
.when-and-where h1 {
    margin: 0 auto;
    padding: 5px 20px;
    max-width: 350px;
}
.sofia {
    padding-top: 30px;
    padding-bottom: 140px;
}
.orange-head {
    background-color: #FFAE1F;
    transform: rotate(-4.17deg);
    margin-bottom: 28px;
}
.green-head {
    background-color: #00B188;
}
#city-head {
    max-width: 430px;
}
.red {
    background-color: #D41B5D;;
}

/*Agenda*/
.agenda {
    margin: 0 auto;
    text-align: center;
}
.agenda h2 {
    font-family: proxima-nova-black, serif;
    font-size: 26px;
    padding: 10px;
}
.agenda p {
    font-family: proxima-nova, serif;
    font-size: 18px;
    line-height: 17px;
}
.grid-agenda  {
    align-items: start;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-flow: row;
    grid-template-areas:
    "time description description";
}
.agenda-bottom-header {
    margin-top: 200px;
}
.time {
    grid-area: time;
    margin-right: 37px;
}

.description {
    text-align: left;
    grid-area: description;
    padding-left: 37px;
    height: 100%;
    border-left: 1px solid black;
    margin-bottom: 90px;
}
.last-description {
    height: 45px;
}
.description h3 {
    padding-top: 13px;
}
.without-header {
    padding-top: 33px;
}
.light-blue {
    background-color: #AAD1F8;;
}
.orange {
    background-color: #FFAF21;
}
.rose {
    background-color: #F7B0BE;
}

.stage-circle {
    position: relative;
    right: 42.5px;
    top: 46px;
    display: block;
    width: 10px;
    height: 10px;
    border: 1px solid black;
    border-radius: 50%;
    background-color: white;
}

@media only screen and (max-width: 1280px) {
    .wrapper {
        max-width: 75%;
        margin: 0 auto;
    }
    .big-wrapper {
        max-width: 86%;
    }
    .social-icons {
        width: 250px;
    }
    .bounce-string {
        left:  50px;
    }

}
@media only screen and (max-width: 854px) {
    .header-container {
        padding-bottom: 110px;
    }
    button {
        width: 149px;
        height: 50px;
        font-size: 18px;
    }
    .red-button {
        width: 195px;
        height: 50px;
        margin-bottom: 90px;
    }
    h1 {
        font-size: 20px;
        line-height: 25px;
    }
    h2, li {
        font-size: 17px;
        line-height: 26px;
    }
    p {
        line-height: 19px;
        font-size: 15px;
    }
    #city-head {
        max-width: 500px;
    }
    #big-head {
        font-size: 25px;
    }
    .main-description li {
        margin-top: 19px;
    }
    .footer-wrapper img {
        width: 75%;
    }
    .logo-roadshow img {
        width: 70%;
    }
    .grid-description {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        gap: 1rem;
        grid-auto-flow: row;
        grid-template-areas:
    "first"
    "second"
    "third"
    "fourth";
    }
    .second-description {
        padding-top: 78px;
    }
    .second-description h1 {
        padding-bottom: 40px;
    }
    .description {
        margin-bottom: 45px;
    }
    .agenda-bottom-header {
        margin-top: 100px;
    }
    footer {
        margin-top: 132px;
    }
}