@font-face {
    font-family: Prudential;
    src: url(./fonts/prudentialmodern-medium_0.ttf);
}

@font-face {
    font-family: Prudential;
    font-weight: bold;
    src: url(./fonts/prudentialmodern-bold_0.ttf);
}

@font-face {
    font-family: Prudential;
    font-weight: 500;
    src: url(./fonts/prudentialmodern-boldsemcon_0.ttf);
}

@font-face {
    font-family: Gilroy;
    src: url(./fonts/Gilroy-Semibold.otf);
}

.html, html {
    background: url(../images/background.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-color: #375274;
    color: #ffffff;
    font-family: Prudential;
    font-size: 1rem;
    font-weight: normal;
    margin: 0 auto;
    max-height: 100vh;
    max-width: 1920px;
    overflow: hidden;
    width: 100%;
    height: 100vh;
}

img {
    align-self: center;
	height: auto;
	/* max-width: 100%; */
}

.section {
    box-sizing: border-box;
    display: flex;
    height: 100%;
    left: 0;
    overflow: hidden;
    padding: 0 10%;
    position: absolute;
    top: 0;
    width: 100%;
}






/* ======================================== Fixed Elements ======================================== */

.fixed-elements {
    height: 100%;
    position: relative;
    width: 100%;
}

.fixed-elements img, .fixed-elements span {
    position: absolute;
    z-index: 9;
}

.fixed-elements .float:nth-of-type(1) {
    left: 7%;
    top: 70px;
}

.fixed-elements .float:nth-of-type(2) {
    right: 4%;
    top: 800px;
}

.fixed-elements span {
    background-color: #d752fd;
    border-radius: 50%;
    height: 15px;
    width: 15px;
}

.fixed-elements span.purple-dot {
    background-color: #8046db;
}

.fixed-elements span.white-dot {
    background-color: #ffffff;
}

.fixed-elements span:nth-of-type(1) {
    left: 4%;
    top: 180px;
}

.fixed-elements span:nth-of-type(2) {
    left: 6%;
    top: 880px;
}

.fixed-elements span:nth-of-type(3) {
    left: 8%;
    top: 610px;
}

.fixed-elements span:nth-of-type(4) {
    left: 32%;
    top: 80px;
}

.fixed-elements span:nth-of-type(5) {
    left: 34%;
    top: 920px;
}

.fixed-elements span:nth-of-type(6) {
    left: 52%;
    top: 200px;
}

.fixed-elements span:nth-of-type(7) {
    left: 64%;
    top: 80px;
}

.fixed-elements span:nth-of-type(8) {
    left: 92%;
    top: 700px;
}





/* ======================================== Title Screen ======================================== */

#title-screen {
    align-items: center;
    z-index: 99!important;
}

#title-txt {
    margin-right: 90px;
    max-width: 750px;
    width: 100%;
}

#title-txt h1 {
    /* font-size: 8.8rem; */
    font-size: 5.5rem;
    font-weight: 500;
    text-transform: uppercase;
}

#title-txt p {
    font-size: 2.3rem;
    margin: 30px 0;
}

#title-txt p:first-of-type {
    font-family: Gilroy;
}

#title-txt span {
    background-color: #ecb229;
    border-radius: 40px;
    box-sizing: border-box;
    color: #002048;
    cursor: pointer;
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 50px;
    max-width: fit-content;
    padding: 12px 40px;
}

#title-cake {
    display: flex;
    justify-content: center;
    position: relative;
    top: 90px;
}

#title-cake img {
    position: absolute;
}

#title-cake span {
    background-color: #007bc3;
    border-radius: 50%;
    display: block;
    height: 700px;
    position: relative;
    top: -60px;
    width: 700px;
}

#title-cake .balloon1 {
    right: 110px;
    top: -220px;
}

#title-cake .balloon2 {
    bottom: 310px;
    left: -20px;
}

#title-cake .balloon3 {
    bottom: 170px;
    right: -70px;
}

#title-cake .fire {
    margin-left: 10px;
    top: -40px;
}




/* ======================================== Select Screen ======================================== */

#select-screen {
    align-items: center;
    display: none;
    flex-direction: column;
    justify-content: center;
    z-index: 999999999999;
}

#select-screen h2 {
    font-size: 4.2rem;
    font-weight: 500;
    max-width: 730px;
    opacity: 0;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

#select-screen h2 strong {
    color: #58d9e1;
}

.balloons {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
    width: 100%;
}

.balloons img {
    cursor: pointer;
    opacity: .23;
}

/* .balloons img:hover {
    opacity: 1;
} */




/* ======================================== Screens ======================================== */

.screen {
    align-items: center;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    display: none;
    width: 100%;
}

.screen .fixed-elements {
    left: 0;
    position: absolute!important;
}

.screen.active {
    display: flex;
    z-index: 99;
}

.screen-fixed-elements {
    display: flex;
    justify-content: space-between;
    left: 0;
    margin: 0 auto;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}

.screen-fixed-elements img {
    position: relative;
}

.screen-fixed-elements img:nth-child(1) {
    left: -70px;
    top: -80px;
}

.screen-fixed-elements img:nth-child(2) {
    right: -260px;
    top: -60px;
}

.mobile-img {
    display: none;
    margin-bottom: 50px;
    position: relative;
    width: 100%;
    z-index: 9;
}

#fourth-screen .mobile-img {
    margin-bottom: 0;
    position: relative;
    top: -50px;
}

.img-container {
    display: flex;
    justify-content: center;
    margin-right: 100px;
    position: relative;
    z-index: 9;
}

.img-container .character-container {
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    top: -20px;
    width: 100%;
    z-index: 999;
}

.img-container span {
    background-color: #007bc3;
    border-radius: 50%;
    display: block;
    height: 700px;
    position: relative;
    width: 700px;
}

.txt-container {
    max-width: 750px;
    position: relative;
    width: 100%;
    z-index: 9;
}

.txt-container h2 {
    font-size: 8.8rem;
    font-weight: 500;
    text-transform: uppercase;
}

#first-screen .txt-container h2, #first-screen .txt-container p, #first-screen .txt-container div span {
    color: #001F45;
}

#first-screen .txt-container div span {
    border-color: #001F45;
}

.txt-container p {
    font-size: 2.1rem;
    line-height: 1.2;
    margin: 50px 0;
}

.txt-container p strong {
    font-weight: 500;
}

.txt-container div {
    display: flex;
}

.txt-container div span {
    align-items: center;
    border: 2px solid #ffffff;
    border-radius: 40px;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    font-size: 1.5rem;
    font-weight: bold;
    max-width: fit-content;
    padding: 12px 40px;
    text-align: center;
}

.txt-container div span a {
    color: inherit;
    text-decoration: none;
}

.txt-container div span:nth-child(1) {
    margin-right: 30px;
}

.txt-container div span:hover {
    transform: scale(.95);
}

#select-screen {
    align-items: center;
    display: none;
    flex-direction: column;
    justify-content: center;
    /* z-index: 2; */
}

#first-screen, #second-screen, #third-screen, #fourth-screen {
    background-position: bottom center;
}

.br-mobile {
    display: none;
}




/* ======================================== First Screen ======================================== */

#first-screen {
    background-image: url(../images/background-first.png);
}

#first-screen .img-container {
    top: 30px;
}

#first-screen .img-container .character-container {
    left: 10px;
    top: 10px;
}

#first-screen .img-container span {
    top: -20px;
}




/* ======================================== Second Screen ======================================== */

#second-screen {
    background-image: url(../images/background-second.png);
}

#second-screen .img-container span {
    background-color: #ffd200;
}

#second-screen .img-container .character-container {
    left: 20px;
    top: -65px;
}

#second-screen .img-container .character-container img:nth-child(1) {
    left: 480px;
    position: absolute;
    top: 400px;
}




/* ======================================== Third Screen ======================================== */

#third-screen {
    background-image: url(../images/background-third.png);
}

#third-screen .img-container span {
    background-color: #443bb2;
    height: 670px;
    width: 670px;
}

#third-screen .txt-container h2 {
    font-size: 8.6rem;
}

#third-screen .img-container .character-container {
    left: 20px;
    top: -185px;
}




/* ======================================== Fourth Screen ======================================== */

#fourth-screen {
    background-image: url(../images/background-fourth.png);
}

#fourth-screen .img-container span {
    background-color: #ffd300;
    height: 770px;
    width: 770px;
}

#fourth-screen .img-container .character-container {
    flex-direction: column;
    left: -100px;
    top: -220px;
}

#fourth-screen .img-container .character-container img {
    position: relative;
}

#fourth-screen .img-container .character-container img:nth-child(1) {
    left: 100px;
    top: 60px;
}




/* ======================================== MEDIA QUERIES ======================================== */

@media only screen and (min-width: 1920px) {

    .html {
        background-size: cover;
        max-width: 100%;
    }

}

@media only screen and (max-width: 1800px) {
    .section {
        padding: 0 5%;
    }
}

@media only screen and (max-width: 1700px) {
    .section {
        padding: 0 5%;
    }

    #title-txt {
        margin-right: 50px;
        max-width: 600px;
    }

    #title-txt p {
        font-size: 2rem;
    }

    #title-txt h1, .txt-container h2, #third-screen .txt-container h2 {
        font-size: 4.5rem;
    }

    .txt-container p {
        font-size: 1.8rem;
    }
}

@media only screen and (max-width: 1600px) {

    #title-screen {
        justify-content: center;
        zoom: 0.9;
    }

    .img-container {
        zoom: 0.8;
    }

    #second-screen .img-container {
        top: 100px;
    }

    /* .img-container {
        left: -100px;
        margin-right: 0;
    } */
}

@media only screen and (max-width: 1500px) {

    #title-screen {
        zoom: 0.8;
    }

    #title-cake {
        zoom: 0.7;
    }

    #select-screen h2 {
        font-size: 3.2rem;
        max-width: 550px;
    }

    .balloons {
        box-sizing: border-box;
        margin-top: 40px;
        padding: 0 10%;
    }

    .balloons img {
        zoom: 0.6;
    }

    .screen {
        justify-content: space-around;
        zoom: 0.8;
    }

    .txt-container h2 br, .txt-container p br {
        display: none;
    }

    #third-screen .img-container .character-container {
        top: -115px;
        zoom: .9;
    }
}

@media only screen and (max-width: 1400px) {

    .txt-container h2, #third-screen .txt-container h2 {
        font-size: 6rem;
    }

    .txt-container p {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 1300px) {

    .img-container {
        margin-right: 80px;
    }

    .txt-container h2, #third-screen .txt-container h2 {
        font-size: 5rem;
    }

    .txt-container p {
        font-size: 1.4rem;
    }

    .txt-container div span {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 1250px) {

    #title-screen {
        zoom: 0.7;
    }

    .balloons img {
        zoom: 0.7;
    }

}

@media only screen and (max-width: 1000px) {

    #title-screen {
        flex-direction: column;
    }

    #title-txt {
        margin-bottom: 100px;
        margin-right: 0;
        max-width: fit-content;
    }

    #title-cake {
        zoom: .8;
    }

    .balloons img {
        zoom: 0.5;
    }

    .section {
        padding: 50px 10%;
    }

    .screen {
        flex-direction: column;
    }

    .img-container {
        order: 2;
    }

    .screen.active .img-container .character-container {
        zoom: .8;
    }

    #fourth-screen .img-container .character-container {
        left: -300px;
        top: -350px;
        zoom: .7;
    }

    .screen-fixed-elements {
        zoom: .5;
    }

    .txt-container {
        margin-bottom: 150px;
        max-width: fit-content;
        order: 1;
    }

    #fourth-screen .txt-container {
        margin-bottom: 250px;
    }

    #title-txt h1, .txt-container h2, #third-screen .txt-container h2 {
        font-size: 5rem;
    }

    br {
        display: none;
    }

    #second-screen .img-container .character-container img:nth-child(1) {
        left: 570px;
    }
}

@media only screen and (max-width: 900px) {
    .balloons img {
        zoom: 0.4;
    }
}

@media only screen and (max-width: 700px) {

    #title-cake {
        zoom: 0.6;
    }

    #title-txt h1 {
        font-size: 3.5rem;
    }

    .txt-container h2, #third-screen .txt-container h2 {
        font-size: 4rem;
    }

    #title-txt p {
        font-size: 1.75rem;
    }

    .balloons {
        flex-wrap: wrap;    
        justify-content: center;
        padding: 0;
    }

    .balloons img {
        margin: 50px 100px;
    }

    #select-screen h2 {
        font-size: 3rem;
        max-width: fit-content;
    }

    .txt-container {
        margin-bottom: 50px;
    }

    #third-screen .txt-container {
        margin-bottom: 100px;
    }

    #fourth-screen .txt-container {
        margin-bottom: 150px;
    }

    #fourth-screen .img-container .character-container {
        left: -220px;
    }

    .screen-fixed-elements {
        zoom: 0.4;
    }

    .img-container {
        zoom: 0.6;
    }

    /* .txt-container div {
        flex-direction: column;
    } */

    .txt-container div span:nth-child(1) {
        margin-right: 10px;
    }
}

@media only screen and (max-width: 600px) {
    
    #title-screen {
        zoom: 1;
    }

    .balloons {
        padding: 0;
    }

    .balloons img {
        margin: 0 50px;
    }

    .fixed-elements .float:nth-of-type(1) {
        left: 5%;
        top: 40px;
        zoom: 0.5;
    }

    .fixed-elements .float:nth-of-type(2) {
        zoom: 0.5;
    }

    .screen {
        justify-content: flex-start;
        zoom: 1;
    }

    .screen.active .img-container .character-container {
        zoom: 0.6;
    }

    .screen-fixed-elements img:nth-child(1) {
        left: -180px;
    }

    #first-screen, #second-screen, #third-screen, #fourth-screen {
        background-position: bottom center;
    }

    #second-screen .img-container .character-container {
        top: -175px;
    }

    #second-screen .img-container .character-container img:nth-child(1) {
        left: 710px;
    }

    .screen .img-container {
        display: none;
    }

    .mobile-img {
        display: block;
    }

    .br-mobile {
        display: block;
    }
}

@media only screen and (max-width: 500px) {

    #select-screen h2 {
        font-size: 2.5rem;
    }

    .screen-fixed-elements {
        zoom: 0.3;
    }
}

@media only screen and (max-width: 450px) {

    #title-cake {
        zoom: 0.4;
    }

    #title-txt h1, .txt-container h2, #third-screen .txt-container h2 {
        font-size: 2rem;
    }

    #title-txt p, .txt-container p {
        font-size: 1rem;
    }

    .txt-container p {
        margin: 30px 0;
    }

    #title-txt span, .txt-container div span {
        font-size: 1rem;
        padding: 12px 20px;
    }

    .balloons img {
        zoom: 0.3;
    }

    #fourth-screen .img-container{
        zoom: 0.4;
    }

    .mobile-img {
        margin-bottom: 30px;
        width: 70%;
    }


}

@media only screen and (max-width: 390px) {
    #title-cake {
        zoom: 0.3;
    }

    #title-txt h1, .txt-container h2, #third-screen .txt-container h2 {
        font-size: 2rem;
    }

    #title-txt p, .txt-container p {
        font-size: 1.1rem;
    }

    #title-txt span, .txt-container div span {
        padding: 12px 20px;
    }

    #second-screen .img-container,
    #fourth-screen .img-container{
        zoom: 0.35;
    }

    #fourth-screen .img-container .character-container{
        top: -550px;
    }

    .mobile-img {
        margin-bottom: 30px;
        width: 50%;
    }

}

@media only screen and (max-width: 380px) {
    #title-txt span, .txt-container div span {
        font-size: 0.9rem;
    }

}

@media only screen and (max-width: 350px) {

    #title-txt span, .txt-container div span {
        font-size: 1rem;
    }
    
}