

:root{
    --header-counter-font-size: 30px;
    --main-title-font-size: 40px;
    --main-title-line-height: 50px;
    --main-title-img-width: 30px;
    --main-title-img-height: 30px;
    --main-title-img-offset: 7px;
    --subtitle-font-size: 20px;
    --text-font-size: 16px;

    --main-counter-font-size: 60px;
    --main-counter-subtitle-font-size: 30px;
    --main-counter-width: 100%;
    --main-counter-heart-width: 40px;
    --main-counter-heart-inner-width: 20px;

    --promise-card-font-size: 20px;
    --promise-number-font-size: 40px;
    --promise-image-width: 70px;
    --promise-image-height: 70px;
    --promise-button-font-size: 18px;

    --parallax-image-1-width: 160px;
    --parallax-image-2-width: 188px;
    --parallax-image-3-width: 178px;
}

@media screen and (min-width: 768px){
    :root{
        --header-counter-font-size: 30px;
        --main-title-font-size: 90px;
        --main-title-line-height: 95px;
        --main-title-img-width: 65px;
        --main-title-img-height: 65px;
        --main-title-img-offset: 15px;
        --subtitle-font-size: 24px;
        --text-font-size: 20px;

        --main-counter-font-size: 100px;
        --main-counter-subtitle-font-size: 40px;
        --main-counter-width: 700px;
        --main-counter-heart-width: 65px;
        --main-counter-heart-inner-width: 43px;

        --promise-card-font-size: 30px;
        --promise-number-font-size: 50px;
        --promise-image-width: 80px;
        --promise-image-height: 80px;
        --promise-button-font-size: 20px;

        --parallax-image-1-width: 224px;
        --parallax-image-2-width: 263px;
        --parallax-image-3-width: 249px;
    }
}
@media screen and (min-width: 992px){
    :root{
        --header-counter-font-size: 30px;
        --main-title-font-size: 100px;
        --main-title-line-height: 105px;
        --main-title-img-width: 68px;
        --main-title-img-height: 68px;
        --main-title-img-offset: 15px;
        --subtitle-font-size: 28px;
        --text-font-size: 22px;

        --main-counter-font-size: 160px;
        --main-counter-subtitle-font-size: 50px;
        --main-counter-width: 900px;
        --main-counter-heart-width: 65px;

        --promise-card-font-size: 40px;
        --promise-number-font-size: 60px;
        --promise-image-width: 100px;
        --promise-image-height: 100px;
        --promise-button-font-size: 22px;

        --parallax-image-1-width: 256px;
        --parallax-image-2-width: 301px;
        --parallax-image-3-width: 284px;
    }
}
@media screen and (min-width: 1200px){
    :root{
        --header-counter-font-size: 40px;
        --main-title-font-size: 120px;
        --main-title-line-height: 125px;
        --main-title-img-width: 110px;
        --main-title-img-height: 80px;
        --main-title-img-offset: 15px;
        --subtitle-font-size: 30px;
        --text-font-size: 24px;

        --main-counter-font-size: 290px;
        --main-counter-subtitle-font-size: 60px;
        --main-counter-width: 1000px;
        --main-counter-heart-width: 65px;

        --promise-card-font-size: 50px;
        --promise-number-font-size: 75px;
        --promise-image-width: 120px;
        --promise-image-height: 120px;
        --promise-button-font-size: 24px;

        --parallax-image-1-width: 320px;
        --parallax-image-2-width: 377px;
        --parallax-image-3-width: 356px;
    }
    .modal{
        --bs-modal-width: 700px;
    }
}
body{
    background-color: #f6f1de;
    font-family: 'Bebas Neue', Arial;
}


#main-container{
    overflow: hidden;
}
@media screen and (min-width: 575px){
    #main-container{
        overflow: visible;
    }
}

#promises-counter{
     font-family: 'Bodoni 72', Arial;
     font-size: var(--header-counter-font-size);
     color: #fff;
     background: #e06338;
     border-radius: 40px;
     padding: 10px 15px;
     display: inline-block;
     width: 156px;
     text-align: center;
 }

.main-title{
    font-size: var(--main-title-font-size);
    line-height: var(--main-title-line-height);
    text-align: center;
    max-width: 960px;
    margin: 0 auto;
    font-family: 'Bodoni 72', Arial;
    font-weight: 700;
    position: relative;
    color: #1d1c1c;
}
.main-title img, .main-title svg{
    width: var(--main-title-img-width);
    height: var(--main-title-img-height);
    margin-bottom: var(--main-title-img-offset);
    stroke-dasharray: 450;
    stroke-dashoffset: 450;
    animation: draw 2s linear forwards;
}
.main-subtitle{
    max-width: 860px;
    margin: 30px auto 0 auto;
    font-size: var(--subtitle-font-size);
    font-family: 'Bebas Neue', Arial;
    font-weight: 400;
    text-align: center;
    position: relative;
    color: #1d1c1c;
}
.text-info-style{
    background-size: 100% 100% !important;
    max-width: 900px;
    padding: 36px 20px 10px 30px;
}
.fs-30{
    font-size: var(--subtitle-font-size);
}
.fs-24{
    font-size: var(--text-font-size);
}
.text-orange{
    color: #e06338;
}

.parallax-container{
    position: absolute;
    width: calc(100vw + 25px);
    top: 0;
    left: 50%;
    height: 100%;
    transform: translateX(-50%);
}
#top-parallax-1{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    width: var(--parallax-image-1-width);
}
#top-parallax-2{
    position: absolute;
    right: 0;
    top: 150px;
    opacity: 0;
    width: var(--parallax-image-2-width);
}
#top-parallax-3{
    position: absolute;
    bottom: 0;
    left: 0;
    top: 250px;
    opacity: 0;
    width: var(--parallax-image-3-width);
}
@media screen and (min-width: 575px) {
    .parallax-container{
        width: calc(100vw - 100px);
        left: 50%;
        transform: translateX(-50%);
    }
}

@keyframes heartbeat
{
    0%
    {
        transform: translateX(-50%) translateY(-50%) scale( .75 );
    }
    20%
    {
        transform: translateX(-50%) translateY(-50%) scale( 1 );
    }
    40%
    {
        transform: translateX(-50%) translateY(-50%) scale( .75 );
    }
    60%
    {
        transform: translateX(-50%) translateY(-50%) scale( 1 );
    }
    80%
    {
        transform: translateX(-50%) translateY(-50%) scale( .75 );
    }
    100%
    {
        transform: translateX(-50%) translateY(-50%) scale( .75 );
    }
}

.main-counter{
    background: #e06338;
    border-radius: 0 0 50px 50px;
    width: var(--main-counter-width);
    text-align: center;
    padding: 20px 0;
    margin: 0 auto;
}
.main-counter-heart{
    position: relative;
    display: inline-block;
    border: 2px solid #fff;
    border-radius: 60px;
    width: var(--main-counter-heart-width);
    height: var(--main-counter-heart-width);
    padding: 10px;
}
.main-counter-heart img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: var(--main-counter-heart-inner-width);

    animation-name: heartbeat;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-duration: 2s;
    animation-direction: alternate;
}
#main-promises-counter{
    color: #fff;
    font-size: var(--main-counter-font-size);
    font-family: 'Bodoni 72', Arial;
    line-height: 1;
    margin-top: 20px;
}
.main-counter-text{
    font-size: var(--main-counter-subtitle-font-size);
    color: #fff;
    text-align: center;
    font-family: 'Bebas Neue', Arial;
}
@media screen and (min-width: 768px){

}
@media screen and (min-width: 1200px){

}


.promise-card{
    --promise-background-color: #fff;
    --promise-border-color: #fff;
    --promise-text-color: #2c2c2c;
    --promise-number-color: #e06338;
    --promise-button-color: #fff;
    --promise-button-background: #e06338;
    --promise-button-hover-background: #fff;
    --promise-button-hover-border-color: #fff;
    --promise-button-hover-color: #2c2c2c;

    border-radius: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    background: var(--promise-background-color);
    border: 2px solid var(--promise-border-color);
    padding: 10px;
    height: 100%;
}
.promise-card-1, .promise-card-6, .promise-card-8{
    /*--promise-background-color: #f6f1de;*/
    --promise-background-color: rgba(246, 241, 222, 0.9);
    /*--promise-border-color: #e06338;*/
    --promise-border-color: rgba(224, 99, 56, 0.9);
    --promise-text-color: #2c2c2c;
    --promise-button-color: #fff;
    --promise-button-background: #e06338;
    --promise-number-color: #e06338;
}
.promise-card-2, .promise-card-4, .promise-card-9{
    --promise-background-color: rgba(224, 99, 56, 0.9);
    --promise-border-color: rgba(224, 99, 56, 0.9);
    --promise-text-color: #fff;
    --promise-button-color: #2c2c2c;
    --promise-button-background: #fff;
    --promise-number-color: #fff;
    --promise-button-hover-background: #e06338;
    --promise-button-hover-color: #fff;
}
.promise-card-3, .promise-card-5, .promise-card-7{
    --promise-background-color: rgba(255,255,255,0.9);
    --promise-border-color: rgba(255,255,255,0.9);
    --promise-text-color: #2c2c2c;
    --promise-button-color: #fff;
    --promise-button-background: #e06338;
    --promise-number-color: #e06338;
    --promise-button-hover-border-color: #e06338;
}

.promise-card-number{
    width: 100%;
    font-size: var(--promise-number-font-size);
    color: var(--promise-number-color);
    line-height: 1;
    flex-grow: 0;
    flex-shrink: 0;
}

.promise-card-title{
    width: 100%;
    color: var(--promise-text-color);
    flex-grow: 1;
}
.promise-card-title h4{
    text-align: center;
    font-weight: 700;
    font-family: 'Bodoni 72', Arial;
    font-size: var(--promise-card-font-size);
    flex-grow: 1;
    flex-shrink: 0;
}
.promise-card-image{
    flex-grow: 0;
    flex-shrink: 0;
    margin: 0 auto 0 auto;
    text-align: center;
}
.promise-card-image img{
    width: var(--promise-image-width);
    height: var(--promise-image-height);
    object-fit: contain;
    object-position: center;
}
.promise-card-button{
    flex-grow: 0;
    flex-shrink: 0;
}
.btn-promise{
    background-color: var(--promise-button-background, #fff);
    border: 2px solid var(--promise-button-background, #fff);
    color: var(--promise-button-color, #2c2c2c);
    margin: 20px auto;
    font-size: var(--promise-button-font-size, 24px);
    font-family: 'Bebas Neue', Arial;
}
.btn-promise:hover, .btn-promise:active, .btn-promise:focus{
    background-color: var(--promise-button-hover-background, #e06338);
    border: 2px solid var(--promise-button-hover-border-color, #fff);
    color: var(--promise-button-hover-color, #fff);
}

.bg-images-parallax-container{
    position: absolute;
    width: calc(100vw - 100px);
    top: 0;
    left: 50%;
    height: 100%;
    transform: translateX(-50%);
}
.bg-images-parallax-container img{
    width: 100%;
}


#top-menu{
    display: none;
}
#title-container{
    order: 2
}
#main-counter-container{
    order: 1;
    width: 100%;
}
#scroll-more-container{
    order: 4;
}
#cards-text-container{
    order: 3;
}

#promiseCodeContainer{
    position: relative;
    border-radius: 30px;
    width: 100%;
}

#promiseCodeLoader{
    font-size: 30px;
}
#promiseCode {
    text-align: center;
    padding: 12px 110px 12px 80px;
    height: 55px;
    width: 100%;
    font-size: 30px;
    letter-spacing: .3px;
    color: #494949;
    border-radius: 25px;
    border: 1px solid #f2f2f2;
    background-color: #f2f2f2;
    outline: 0;
    appearance: none;
    transition: all .3s ease;
}
#promiseCode:focus {
     border-color: #d8d8d8;
}
#promiseCode::selection {
     color: #fff;
     background-color: #ff0a4b;
}
#icon-copy{
    position: absolute;
    top: 50%;
    right: 75px;
    cursor: pointer;
    transform: translateY(-50%);
    font-size: 30px;
}
#icon-sms{
    position: absolute;
    top: 50%;
    right: 25px;
    cursor: pointer;
    transform: translateY(-50%);
    font-size: 30px;
}

/*@media screen and (min-width: 768px){*/
/*    #promiseCode{*/
/*        padding: 12px 60px 12px 30px;*/
/*    }*/
/*    #icon-copy{*/
/*        right: 25px;*/
/*    }*/
/*    #icon-sms{*/
/*        display: none;*/
/*    }*/
/*}*/

@media screen and (min-width: 768px){
    .main-counter{
        border-radius: 500px;
    }

    body{
        padding-top: 126px;
    }

    #top-menu{
        display: block;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 126px;
        background-color: #f6f1de;
        z-index: 9;
    }
    #title-container{
        order: 1
    }
    #main-counter-container{
        order: 2;
    }
}


.modal-content{
    background-color: #e06338;
}
.modal-title{
    color: #fff;
}
#modal-logo{
    display: block;
    margin: 0 auto;
    width: var(--promise-image-width);
    height: var(--promise-image-height);
    object-fit: contain;
    object-position: center;
}
