@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root{
    --white: #fff;
    --white_s: #F8F8F8;
    --blue: #153655;
    --black: #33363F;
    --blackB: #121212;
    --red: #fb4848;
    --red2: #dc3545;
    --grey: #f2f2f2;
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
    font-family: "Montserrat", sans-serif;
}

body{
    color: var(--blue);
}

html{ overflow-x: hidden; }

ul{ list-style: none;}

a{
    text-decoration: none;
    color: inherit;
}

.bold{ font-weight: 600; }

.light_bold{ font-weight: 500; }

button{ border: none;}

.mt-l{ margin-top: 1rem; }

.mb-l{ margin-bottom: 1rem; }

.mb-xl{ margin-bottom: 2rem; }

.mb-xxl{ margin-bottom: 2rem; }

.mb-xxxl{ margin-bottom: 4rem; }

.u-h1{ font-size: 3rem; line-height: 100%; }

.u-h2{ font-size: 1.75rem; }

.u-h3{ font-size: 1.5rem; }

.u-p1{ font-size: 1.2rem; }

.u-p2{ font-size: 1rem; }

.u-p3{ font-size: 0.875rem; }

.u-p6{ font-size: 0.6875rem; }

/*HEADER CSS*/

.header--top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1;
}

.logo{
    width: auto;
    height: 4.2rem;
    padding: 4px 0;
}

.logo img{
    width: 100%;
    height: 100%;
}


.flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.languages{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 8px;
    position: absolute;
    left: -50%;
    top: 100%;
    background: var(--white);
    opacity: 0;
    visibility: hidden;
    display: none;
}

.languageIcons{ 
    position: relative;
    display: flex;
}

.languageIcons:hover{ cursor: pointer; }

.languageIcons:hover .languages{
    display: flex;
    visibility: visible;
    opacity: 1;
}

.language{
    display: flex;
    gap: 12px;
}

.announcement{
    background: #1A324C;
}

.header--topFlex,
.header--topFlex a{
    display: flex;
    align-items: center;
    gap: 12px;
}

@media screen and (max-width: 767px) {
    body, html{
        overflow-x: hidden;
    }
    .header{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 2rem;
    }

    .headerList[aria-hidden="true"]{
        transform: translateX(100%);
    }

    .headerList{
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        max-width: 320px;
        height: 100%;
        padding: 5rem 1rem;
        background: var(--white);
        transition: all 0.3s ease-in-out;
        z-index: 3;
    }

    .headerList li{ 
        padding: 8px 0; 
        border-bottom: 1px solid var(--grey);
    }

    .headerList a{
        display: block;
        width: 100%;
    }

    .headerList a:hover{
        color: var(--red);
    }

    .close_menu{
        position: absolute;
        right: 1rem;
        top: 2rem;
    }

    .not_mobile{ display: none !important; }

    .languageMob{ 
        margin-top: 2.5rem;
        display: flex;
        gap: 1rem;
    }
}

@media screen and (min-width: 768px) {
    header{
        position: relative;
        width: 100%;
        z-index: 2;
        position: sticky;
        position: -webkit-sticky;
        top: 0;
        background: var(--white);
        border-top: 1rem solid var(--blue);
        box-shadow: 0 4px 28px -2px #ccc;
    }

    .header{ 
        padding: 0 4rem 0 4rem; 
        z-index: 2;
        max-width: 1400px;
        margin: auto;
        z-index: 1;
    }

    .header--topList{
        display: flex;
        gap: 2rem;
        align-items: flex-start;
        justify-content: space-between;
    }

    .header--topLink{
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .headerList{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2rem;
        font-weight: 600;
    }

    .not_desktop{ display: none; }

    .header li a.active{
        text-decoration: underline;
        text-underline-offset: 8px;
        color: var(--red2);
    }

    .header li a:hover{
        color: var(--red2);
        transition: all 0.3s ease-in-out;
    }
    .logo{
        height: 5rem;
        padding: 8px 0;
    }
}

/*HEADER CSS END*/

/*BANER*/
.bannerSection{
    /* background-image: url(images/banner.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; */
    min-height: 60vh;
    position: relative;
    display: grid;
    padding: 24px 0;
}
.bannerImage{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bannerSection::after{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    opacity: 0.7;
    background: var(--blue);
    pointer-events: none;
    z-index: 0;
}

.banner--text{
    color: var(--white);
    z-index: 1;
    text-align: center;
    padding: 2rem;
}
.banner--text .u-h1{color: var(--white);}

.bannerButtons{
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
}

.mainButton{
    padding: 12px 24px;
    background: var(--red);
    color: var(--white);
    border-radius: 8px;
}

.mainButton:hover{
    box-shadow: 0 4px 28px -2px #ccc;
    scale: 0.97;
    transition: all 0.3s ease-in-out; 
    cursor: pointer;
}

.shake{
    animation: shake 2s infinite;
}

.icons{
    background-color: var(--blue);
    color: #fff;
    border-radius: 25px;
    width: 41px;
    text-align: center;
    height: 41px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icons svg{
    width: 26px;
    height: 26px;
}

.icons svg path{
    fill: white;
}


@media screen and (min-width: 1025px) {
    .bannerButtons{
        flex-direction: row;
        gap: 4rem;
    }

    .banner--text{
        position: absolute;
        top: 45%;
        left: 50%;
        transform: translate(-50%, -70%);
        width: 60%;
    }
}

/**/

/*INFORMATION DIV*/
.information--div{
    padding: 22px 2rem;
    margin: auto auto auto auto;
    z-index: 1;
    background: #fefefeed;
    width: 90%;
    border-radius: 4px;
    box-shadow: 0 10px 36px -2px #ccc;
}

.header--topList{
    gap: 12px;
    display: flex;
    flex-direction: column;
}

@media screen and (min-width: 1025px) {
    .information--div{
        width: 98%;
        position: absolute;
        bottom: 6%;
        left: 50%;
        transform: translateX(-50%);
    } 

    .header--topList{ flex-direction: row; }
}

@media screen and (min-width: 1240px) {
    .information--div{
        width: 80%;
    }
}
/**/

/*Table section*/
.sectionContainer{
    padding: 4rem 2rem;
    max-width: 1400px;
    margin: auto;
}

.table{
    width: 100%;
    font-size: 1.2rem;
}

.table td, .table th {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #a30b0b;
}

@media screen and (min-width: 1025px) {
    .sectionContainer{
        padding: 4rem 1rem;
    }
}

/**/

/*USLUGE*/
.section-title{
    padding-left: 2rem;
    border-left: 5px solid var(--red);
}

.section--cols{
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.section--col img{
    width: 70px;
    height: 70px;
    margin-bottom: 12px;
}

.section--imageText{
    border: 4px solid var(--red);
    border-radius: 4px;
    padding: 3rem 1rem;
    margin: 4rem 0 1rem 0;
    background: #f5f5f5;
}

.section--imageText img{
    width: 100%;
    margin-bottom: 3rem;
    object-fit: cover;
}

.buttons{
    display: flex;
    gap: 12px;
    margin-top: 24px;
}

.buttons button{
    border: none;
    width: 100%;
}

.buttons .mainButton{
    width: 50%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.blueButton{
    background: var(--blue);
}

@media screen and (min-width: 1025px) {
    .section--colsWrapper{
        display: flex;
        gap: 10%;
        padding: 10rem 1rem 140px 1rem;
        overflow: hidden;
    }

    .section--imageText{
        margin-top: 14%;
        width: 30%;
        height: fit-content;
        position: relative;
    }
    
    .section--imageText img{
        aspect-ratio: 1;
        margin-bottom: 24px;
    }

    .section--titleCols{
        width: 70%;
    }

    .section--cols{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding-left: 2rem;
        row-gap: 4rem;
    }

    .section-text{ padding-left: 2rem; }

    .section--text{ margin-bottom: 4rem; }

    .section--colsWrapperFull .section-text,
    .section--colsWrapperFull .section--cols{ padding-left: 0; }
}

@media screen and (min-width: 1400px) {
    .section--imageText{ margin-top: 0; }

    .section--imageText img{
        margin-top: -30%;
        margin-left: 25%; 
    }
}
/**/

/*DISCOUNT*/
.discount{
    background-color: var(--blue);
    min-height: 10vh;
    color: var(--white);
}

.discount .flex{
    gap: 1rem;
    flex-direction: column;
}

.red--text{
    color: var(--red);
}

.discount--text{
    width: 100%;
    text-align: center;
}

.discount .sectionContainer{
    padding: 36px 1rem;
}

.redDiscount{
    background: var(--red);
}

@media screen and (min-width: 1025px) {
    .discount .flex{ flex-direction: row; }

    .discount--text{
        width: 70%;
        text-align: left;
    }
}
/**/

/*PARTNERS*/
.logoGreen{
    background: #008177;
    width: fit-content;
    padding: 1rem 3rem;
}

.partnersLogo{
    display: grid;
    grid-gap: 3rem;
}

.partnerLogo{ margin: auto; }

.mobileLogo{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.partnerLogo img{width: 100%;}

@media screen and (min-width: 1025px) {
    .partners{
        display: grid;
        grid-gap: 3rem;
        grid-template-columns: repeat(2, 1fr);
        padding: 5rem 0px;
    }
    
    .logoGreen{
        background: #008177;
        width: fit-content;
        padding: 1rem 3rem;
    }
    
    .right{
        align-items: center;
        display: grid;
        justify-content: center;
    }   

    .partnersLogo{
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding-top: 110px;
    }

}

/**/

/*MAPS*/

.maps iframe{
    width: 100%;
}
/**/


/*FOTER*/
.info{
    display: flex;
    align-items: center;
    gap: 12px;
}

.infoCircle{
    background: var(--white_s);
    border-radius: 50%;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
}

.footerWraper{
    background: var(--blue);
    color: var(--white_s);
    padding: 2rem 1rem;
   
}

.footerInfoWraper{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footerWraper a{
    color: var(--white_s);
}

.footerLinksMobile a{
    width: 100%;
    display: block;
}

.footerLinks{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footerLinksMobile li{
    padding: 8px 0;
    border-bottom: 1px solid #F8F8F8;
}

.copyRight{
    border-top: 1px solid var(--white_s);
    padding-top: 1rem;
    color: var(--white);
}

.copyRight span,
.right {color: var(--white);}

.whiteDiv{
    width: 200px;
    height: 60px;
    background: var(--white);
    border-radius: 12px;
}

.footerLogo{ 
    position: relative;
    display: flex;
    gap: 1rem;
 }

.footerLogo svg{
    width: 24px;
}

.footerLogo svg:hover path{
    fill: var(--red);
    transition: all 0.3s ease-in-out;
}

.info:hover .infoCircle{
    background: var(--blue);
    transition: all 0.3s ease-in-out;
}

.codiland {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
}

.codiland img{
    width: auto;
    height: 20px;
}

@media screen and (min-width: 1025px) {
    .not_desktop{display: none;}
    .footerWraper{ padding: 3rem 3rem; }

    .copyRight{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-top: 2rem;
    }

    .footerInfoWraper{
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }
    
}

.informationWrapper{
    position: relative;
    padding: 4rem 2rem;
}

.priceWrapper{  padding-bottom: 0; }

.actionCall{ 
    padding: 0 1rem 4rem 1rem; 
    text-align: center;
}

.smallBanner{  min-height: 30vh; }

.mediumBanner{ min-height: 50vh; }

@media screen and (min-width: 1025px) {
    .smallBanner{   min-height: 20vh; }
/* 
    .mediumBanner{ min-height: 40vh; } */
}

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

    .mediumBanner{ min-height: 40vh; } 
}
/**/


@keyframes shake {
    10% {
      transform: translateX(3px) rotate(2deg);
    }
  
    20% {
      transform: translateX(-3px) rotate(-2deg);
    }
  
    30% {
      transform: translateX(3px) rotate(2deg);
    }
  
    40% {
      transform: translateX(-3px) rotate(-2deg);
    }
  
    50% {
      transform: translateX(2px) rotate(1deg);
    }
  
    60% {
      transform: translateX(-2px) rotate(-1deg);
    }
  
    70% {
      transform: translateX(2px) rotate(1deg);
    }
  
    80% {
      transform: translateX(-2px) rotate(-1deg);
    }
  
    90% {
      transform: translateX(1px) rotate(0);
    }
  
    100% {
      transform: translateX(-1px) rotate(0);
    }
  }

.whiteSpace{
    height: 60vh;
}

/*CONTACT*/

.contactRow input,
.contactRow textarea{
    width: calc(100% - 1rem);
    padding: 12px;
    margin-bottom: 1rem;
    font-size: 1rem;
    border: 0;
    border-bottom: 1px solid var(--blue);
}

textarea{
    resize: none;
}

.contactRow .submitButton{
    width: 100%;
}

.contactInfo_row{
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.ContactInfo_column{
    display: flex;
    flex-direction: column;
}

.contactBtns .mainButton {
    width: 50%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.contactBtns .mainButton a{text-align: center;}

.contactForm{
    display: flex;
    flex-direction: column-reverse;
    gap: 64px;
}

.alert-danger{ color: var(--red2); }

.alert-success{ color: var(--blue); }

@media screen and (min-width: 1025px) {
    .contactForm{
        display: flex;
        flex-direction: row;
        gap: 3rem;
    }

    .contactForm-column{ 
        width: 60%; 
        padding: 0 3rem;
    } 

    .contactInfo { width: 40%;  }

    .contactInfo{
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 3rem;
    }

    .submitButton{
        padding: 1rem;
    }
    .contactForm .header--topFlex{ margin-bottom: 0; }
}

/**/

/*ABOUT*/
.greySection{ background: var(--grey); }

.about--images img{
    width: 100%;
    height: auto;
    margin-bottom: 16px;
}

@media screen and (min-width: 1025px) {
    .about--section{
        display: flex;
        justify-content: space-between;
    }

    .about--text{  max-width: 40%; }

    .about--images{ 
        width: 50%; 
        text-align: center; 
    }

    .about--images img{max-width: 60%;}

    .left{float: left;}
    .right{float: right;}
    .center{ text-align: center; }

    .about--images img:nth-child(2){ margin-top: -12%; }

    .about--images img:nth-child(3){ margin-top: -12%; }
}
/**/

/* .animatedEl {
    opacity: 0.8;
    scale: 0.9;
    transition: all ease-in-out 0.8s;
}

.animatedBottom{
    opacity: 0;
    transform: translateY(300px);
    transition: all .4s ease-out;
    transition-delay: .3s;
}

.animatedLeft {
    opacity: 0;
    transform: translate(-300px);
    transition: all .4s ease-out;
    transition-delay: .2s;
}

.animatedRight{
    opacity: 0;
    transform: translate(300px);
    transition: all .4s ease-out;
    transition-delay: .2s;
} */

@media screen and (min-width: 1025px) {
    .animatedSection{
        opacity: 0.4;
        transform: translate(-100%);
        transition: all .4s ease-out;
        transition-delay: .1s;
    }
    
    .animated{
        opacity: 1;
        scale: 1;
        transform: translate(0);
    }
}
