body{
    min-width: 320px;
    font-family: 'Open Sans', sans-serif;
}
.herobanner{
    background-color: #8C152B;
    background-image: radial-gradient(circle at 50% 20%, #D43248, #8C152B 70%);
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    padding: 1rem;
    min-height: 780px;
}
.herobanner:after,
.herobanner:before{
    content: "";
    position: absolute;
    top: 0;
    height: 70%;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .35;
    pointer-events: none;
}
.herobanner:before{
    width: 30%;
    left: 0;
    background-image: url('assets/cloud-left.png');
    background-position: right bottom;
    /* background-color: rgba(255,255,0,0.5); */
}
.herobanner:after{
    width: 30%;
    right: 0;
    background-image: url('assets/cloud-right.png');
    background-position: left bottom;
    /* background-color: rgba(255,0,255,0.5); */
}

.herobanner__cloud{
    position: absolute;
    left: 0;
    bottom: -16vw;
    width: 100%;
    z-index: 0;
    pointer-events: none;
}

.herobanner-title{
    margin-bottom: 2rem;
    z-index: 1;
    text-shadow: 0 0 5px rgba(0,0,0,0.4);
}

.herobanner-title .com-title__main{
    font-size: 36px;
}
.herobanner-title .com-title__subtitle{
    font-size: 18px;
}

.mod-searchform{
    width: 100%;
    z-index: 1;
    margin: inherit;
}

.mod-searchform .mod-searchform-container:after,
.mod-searchform .mod-searchform-container:before,
.mod-searchform .mod-searchform-input{
    font-size: 20px;
}
.mod-searchform .mod-searchform-input{
    padding-right: 70px;
    padding-left: 70px !important;
    border-radius: 5px;
    border-bottom: 3px solid #ffffff;
    border-top: 3px solid transparent;
    height: 60px !important;
}
.mod-searchform .mod-searchform-input:focus{
    border-bottom: 3px solid rgb(255, 111, 97) !important;
}
.mod-searchform .mod-searchform-input::placeholder {
    color: #B4B4B4 !important;
    opacity: 1
}

.mod-searchform .mod-searchform-container {
    border-radius: 5px;
    background-color: #ffffff;
    box-shadow: 0 0 10px -5px rgba(0,0,0,0.1), 0 0 20px 10px rgba(0,0,0,0.1) !important;
}

.mod-searchform .mod-searchform-container:before {
    content: attr(data-ttld);
    position: absolute;
    right: 18px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #C90A0A;
    font-family: 'Oldenburg', cursive;
}

.mod-searchform .mod-searchform-submit {
    flex-shrink: 0;
    overflow-x: hidden;
    overflow-y: hidden;
    position: relative;
    display: inline-block;
    color: rgb(255, 255, 255);
    font-size: 20px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 5px !important;
    cursor: pointer;
    outline: none;
    backface-visibility: hidden;
    transform: translate3d(0px, 0px, 0px);
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
    transition-delay: 0s;
    transition-property: background;
    background-image: linear-gradient(to right, rgb(255, 111, 97) 50%, rgba(255, 111, 97, 0));
    box-shadow: 0 0 10px -5px rgba(0,0,0,0.1), 0 0 20px 10px rgba(0,0,0,0.1) !important;
    background-position: 100% 0px;
    background-size: 200%;
    background-repeat: no-repeat no-repeat;
    background-color: rgb(231, 184, 56) !important;
    border: none !important;
    padding: 20px 60px !important;
}
.mod-searchform .mod-searchform-submit:hover,
.mod-searchform .mod-searchform-submit:focus {
    background-position: 0px 0px;
}
.mod-searchform .mod-searchform-submit:active {
    background-position: 200% 0px;
    background-color: rgb(251, 88, 78) !important;
}


.herobaner-offer{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 4rem;
    margin-top: 3rem;
    position: relative;
    z-index: 1;
}
.herobaner-offer__tld{
    color: #000000;
    font-family: 'Oldenburg', cursive;
    font-size: 60px;
    line-height: 0.75;
    margin-right: .5rem;
    position: relative;
}
.herobaner-offer__price{
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    line-height: 1;
}
.herobaner-offer__price-info{
    color: #ffffff;
    font-weight: 600 !important;
    font-size: 16px;
}
.herobaner-offer__price-info strong{
    font-size: 54px;
    display: block;
    line-height: 0.85;
}
.herobaner-offer__price-info--details{
    font-size: 18px;
    font-weight: 400 !important;
}
.herobaner-offer__price-info--details strong{
    font-size: 24px;
    font-weight: 400 !important;
    line-height: 1;
}
.herobaner-offer__info{
    color: #ffffff;
    width: 100%;
    text-align: center;
    font-size: 24px;
    margin-top: 1.5rem;
    margin-bottom: 0;
    line-height: 1.2;
}

.herobanner-offer__heart {
    background-color: #FF1B1B;
    display: inline-block;
    height: 50px;
    margin: 0 10px;
    position: absolute;
    transform: rotate(-45deg);
    width: 50px;
    left: -30px;
    bottom: 5px;
    z-index: -1;
}

.herobanner-offer__heart:before,
.herobanner-offer__heart:after {
    content: "";
    background-color: #FF1B1B;
    border-radius: 50%;
    height: 100%;
    position: absolute;
    width: 100%;
}

.herobanner-offer__heart:before {
    top: -50%;
    left: 0;
}

.herobanner-offer__heart:after {
    left: 50%;
    top: 0;
}

.herobaner-coupon{
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #ffffff;
    font-size: 14px;
    margin-bottom: 4rem;
    width: 100%;
    position: relative;
    z-index: 1;
}

.herobaner-coupon__ribbon{
    background-color: #ffffff;
    color: #000000;
    font-family: 'Oldenburg', cursive;
    position: relative;
    font-size: 24px;
    padding: 2px 8px;
    margin-top: .5rem;
    box-shadow: 0 0 10px -5px rgba(0,0,0,0.1), 0 0 20px 10px rgba(0,0,0,0.1) !important
}
.herobaner-coupon__ribbon:after{
    content: "";
    right: -16px;
    position: absolute;
    top: 0;
    border-right: 8px solid transparent;
    border-top: 20px solid #ffffff;
    border-bottom: 20px solid #ffffff;
    border-left: 8px solid #ffffff;
}

.main{
    padding-bottom: 3rem;
}

.main .container{
    padding-left: 15px;
}
.main .container:first-child{
    padding-left: 15px;
}

.main .row{
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.main .divider{
    background-image: url('assets/divider.png');
    width: 100%;
    height: 20px;
}

.main .com-title__main{
    font-size: 44px;
    font-weight: 300;
}
.main .com-title__main span{
    color: #FF1B1B;
    font-family: 'Oldenburg', cursive;
}

.main .com-title__subtitle{
    font-size: 36px;
    font-weight: 300;
    position: relative;
    padding-left: 40px;
    text-align: left;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.main .com-title__icon {
    background-color: #FF1B1B;
    display: inline-block;
    height: 12px;
    margin: 0 10px;
    position: absolute;
    transform: rotate(-45deg) translateY(-50%);
    width: 12px;
    left: 0;
    top: 50%;
    z-index: -1;
}

.main .com-title__icon:before,
.main .com-title__icon:after {
    content: "";
    background-color: #FF1B1B;
    border-radius: 50%;
    height: 100%;
    position: absolute;
    width: 100%;
}

.main .com-title__icon:before {
    top: -50%;
    left: 0;
}

.main .com-title__icon:after {
    left: 50%;
    top: 0;
}

.main ul{
    width: 90%;
}

.main img{
    position: relative;
    left: -15px;
    z-index: -1;
    position: absolute;
    left: 0;
    opacity: .15;
    /* transform: scale(0.5);
    transform-origin: 0 0; */
}


.footer{
    background-color: #8C152B;
    background-image: radial-gradient(circle at 50% 20%, #D43248, #8C152B 70%);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    padding: 1rem;
    padding-bottom: 7rem;
}

.footer .container{
    margin-top: 0;
    margin-bottom: 4rem;
}

footer .mod-footer-sub{
    background-color: #ffffff;
    color: #4a4a4a;
}

@media screen and (min-width: 576px) { 
    .mod-searchform,
    .herobaner-coupon{
        width: 60%;
    }
    .herobanner:after,
    .herobanner:before{
        opacity: 1;
    }

    .main .container{
        padding-left: 20vw;
    }
    .main .container:first-child{
        padding-left: 15px;
    }

    .main img{
        position: absolute;
        left: 0;
        opacity: 1;
    }
}
@media screen and (min-width: 768px) { 
    .mod-searchform,
    .herobaner-coupon{
        width: 50%;
    }
}
@media screen and (min-width: 992px) { 
    .herobanner{
        min-height: 670px;
    }
    .mod-searchform{
        width: 70%;
        box-shadow: 0 0 10px -5px rgba(0,0,0,0.1), 0 0 20px 10px rgba(0,0,0,0.1) !important;
    }
    .herobaner-coupon{
        width: 70%;
    }

    .mod-searchform .mod-searchform-input,
    .mod-searchform .mod-searchform-container {
        border-radius: 5px 0 0 5px !important;
        box-shadow: none !important;
    }
    .mod-searchform .mod-searchform-submit {
        border-radius: 0 5px 5px 0 !important;
        box-shadow: none !important;
    }
}
@media screen and (min-width: 1200px) { 
    .mod-searchform,
    .herobaner-coupon{
        width: 45%;
    }

    .main .container {
        max-width: 960px;
        padding-left: 15px;
    }    
}