:root {
    --main-width-wide: 1366px;
    --main-width: 1366px;
    --heading-font-size: 55px;
    --about-content-font-size: 26px;
    --main-color: #29A4DF;
}

* {
    font-family: var(--font-main);
    box-sizing: border-box;

}

/***********************************/

.fadein {
    /*opacity: 0;*/
}

.slidein {
    height: 5px;
}

.randomShake {
    -webkit-backface-visibility: hidden;
    -webkit-transform: scale(1);
}

/***********************************/


html,
body {
    height: 100%;
    padding: 0;
    margin: 0;
}


body {
    background-image: url('../images/main.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
}

.color-main {
    background-color: #5CC0F0;
    color: white;
}

.color-complement {
    background-color: white;
    color: #29A4DF;
}

/***********************************/

.page-section {
    width: 100%;
    overflow: hidden;
    /*padding-top: 80px;*/
    padding-bottom: 80px;
}

.page-section .page-section-content {
    max-width: var(--main-width-wide);
    margin: 0 auto;
}

.page-section-content--small {
    max-width: var(--main-width);
    margin: 0 auto;
}


/***********************************/

.header-block {
    position: fixed;
    height: 95px;
    background: white;
    width: 100%;
    margin: 0 auto;
    top: 0;
    z-index: 100;

}

/*
.header-block a:focus {
    outline: none;
}
*/

.header-block-content {
    max-width: var(--main-width-wide);
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: stretch;
}


.header-logo {
    display: inline-block;
    background-image: url('../images/logo.png');
    height: 90px;
    width: 90px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    flex: 0 auto;
}

.header-navigation {
    display: flex;
    flex: 1 1 auto;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    max-width: 1000px;
    
}



.navigation {}

.navigation__link {
    color: #29A4DF;
    text-decoration: none;
    font-size: 22px;
    padding-bottom: 5px;
    padding-left: 2px;
    padding-right: 2px;
}

@media only screen and (max-width: 1000px) {
    .navigation__link {
        font-size: 18px;
    }

    .header-logo {
        height: 70px;
        width: 70px;
    }

    .header-block {
        height: 70px;
    }

}

.header-navigation-responsive-menu-button {
    display: none;
}


@media only screen and (max-width: 900px) {
    .header-navigation {
        position: fixed;
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
        width: 100%;
        background: white;
        top: 70px;
    }

    .header-navigation-responsive-menu-button {
        padding: 10px;
        display: block;
    }

    .header-navigation-responsive-menu-button img {

    }


    .header-navigation-responsive-menu {
        visibility: hidden;
    }
    

}



.navigation__link:hover {
    color: #182c87;
}

.navigation__link.active {
    border-bottom: #182c87 2px solid;
}

.navigation--contact {
    display: flex;
    flex: 0 0 content;
    justify-content: flex-end;
    align-self: center;

    color: white; 
    padding: 5px 10px;    
    margin: 0 15px;
}

.header-language {
    display: flex;
    flex: 0 0 60px;
    flex-direction: row;    
    opacity: 0.5;
    justify-content: flex-end;
    align-items: center;
}

.header-language:hover {
    opacity: 1;
    cursor: pointer;
}



h2 {
    font-size: var(--heading-font-size);
    display: grid;
    grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
    align-items: center;
    padding-bottom: 20px;
    grid-gap: 20px;
    width: 100%;
    font-weight: 100;
}

h2:before,
h2:after {
    content: '';
    /*border-bottom: 2px solid;*/
}


/*********************************************/

.main-picture {
    background-image: url('../images/main.jpg');
    overflow: auto;
    background-size: contain;
    background-repeat: no-repeat;

    margin: 0 auto;

    width: 100%;
    padding-top: 67%;
    /* (img-height / img-width * container-width) */
    /* (853 / 1280 * 100) */
    position: fixed;
    top: 95px;
    z-index: -100;

}

/***********************************/


#a1 {



    /*background-image: url('../images/main.png');*/
    /*min-height: 1000px;*/
    overflow: auto;
    opacity: 1;

    /*
        

        background-size: contain;
    background-repeat: no-repeat;

    width: 100%;
    height: 0;
    padding-top: 70.64%;  
    position: fixed;
    top: 100px;
    z-index: -100;
    */
}

#a1 h1 {
    font-size: var(--a1-font-size-l);
    font-weight: 700;
    text-shadow: 0 3px 17px black;
    font-family: var(--font-main);
    color: white;
    text-align: center;
    padding: 0;
    margin: 0;
    margin-top: 19%;
    line-height: 1em;
}

#a1 h3 {
    padding: 0;
    font-weight: 900;
    text-shadow: 0 3px 17px black;
    color: white;
    text-align: center;
    margin: 0;
    font-family: var(--font-secondary);
    font-size: var(--a1-font-size-s ,86px);
    margin-bottom: 15%;
    margin-top: -10px;
}

/*********************************************/

#a2 {
    padding-top: 40px;
}

#a2 .about-header {
    font-size: var(--heading-font-size);
    display: grid;
    grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
    align-items: center;
    padding-bottom: 20px;
    grid-gap: 100px;
    width: 100%;
    font-weight: 100;
}


#a2 .about-header:before,
#a2 .about-header:after {
    content: '';
    border-bottom: 2px solid;
}

#a2 .about-content {
    font-family: var(--font-secondary);
    font-size: var(--about-content-font-size);
    text-align: center;
    padding: 40px;
    letter-spacing: var(--about-letter-spacing);
}

#a2 .about-content>div,
#a2 .about-content>p {
    font-family: var(--font-secondary);
    font-size: 26px;
}

#a2 .about-content>.about-content-text-heading {
    font-size: 85px;
}

#a2 .about-content>.about-content-text-heading--secondary {
    font-size: 38px;
    padding-bottom: 25px;
}

#a2 .about-content>.about-portrait {
    margin-top: 15px;
    margin-bottom: 15px;
    height: 175px;
    width: 175px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center 0;
}

#a2 .about-content > .about-content--larger {
    margin-top: 10px;
    font-size: 120%;
}


#a2 .about-footer-contact {
    margin: 0 auto;
    font-size: var(--heading-font-size);
    display: grid;
    grid-template-columns: minmax(20px, 150px) auto minmax(20px, 150px);
    align-items: center;
    justify-content: center;
    padding-bottom: 20px;
    grid-gap: 50px;

}


#a2 .about-footer-contact:before,
#a2 .about-footer-contact:after {
    content: '';
    border-bottom: 2px solid;
}

#a2 .about-footer-contact a {
    text-align: center;
    text-decoration: none;
}

#a2 .about-footer-contact div {
    border-radius: 20px;
    width: fit-content;
    text-align: center;
    padding: 10px 20px;

    font-size: 26px;
    font-weight: 500;
}


/*
#a2 .about-footer {
    min-height: 68px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
*/


/*********************************************/

.gallery {
    background-color: white;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 20px;
    grid-auto-flow: dense;

    justify-items: stretch;
    align-items: stretch;

}

.gallery .gallery_image__big {
    grid-column: span 2;
    grid-row: span 2;
}

.gallery .gallery_image__tall {
    grid-column: span 1;
    grid-row: span 2;
}


@media only screen and (max-width: 1000px) {
    .gallery {
        grid-template-columns: 1fr 1fr;
    }

    .gallery .gallery_image_orderto9 {
        grid-row-start: 10;
    }
}

@media only screen and (max-width: 700px) {
    .gallery {
        grid-template-columns: 1fr;
        grid-gap: 10px;
        grid-auto-flow: dense;

    }

    .gallery .gallery_image__big,
    .gallery .gallery_image__tall {
        grid-column: span 1;
        grid-row: span 1;
    }


}

.gallery a {
    display: contents;
}

.gallery img {
    max-width: 100%;
    max-height: 100%;
}


/*********************************************/

.info-section {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    justify-items: center;
    justify-content: center;
}

.info-item {
    width: 400px;
    height: 270px;
    /* in JS - 230 */
    border-radius: 10px;
    margin: 20px;
    padding: 20px;
}

.info-item h4 {
    /*padding-top: 20px;*/
    /*padding-bottom: 20px;*/
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: 20px; 
}


.info-item-content {
    text-align: center;
    font-size: 22px;
}

.info-item-content-subheading--special {
    font-family: var(--font-secondary);
    color: #E84200;
}

/*********************************************/

@keyframes iconTransition {
    from {
        opacity: 1;
        transform: rotate(0deg);

    }
    50% {
        opacity: 0;
    }
    to {
        opacity: 1;
        transform: rotate(1080deg);
    }
    
}


.review-icon {
    margin: 10px auto;
    height: 100px;
    width: 100px;
    transition: all 0.5s ease;
    opacity: 0;
    
}


.review-icon--type1 {
    mask-image: url(../images/comment-regular.svg);
    /*
    animation-name: iconTransition;
    animation-duration: 1s;
    */
    background-color: var(--main-color);
    transform: rotate(-720deg);
    opacity: 1;
    mask-repeat: no-repeat;

}

.review-icon--type2 {
    mask-image: url(../images/smile-beam-regular.svg);
    /*
    animation-name: iconTransition;
    animation-duration: 1s;
    */
    background-color: var(--main-color);
    transform: rotate(-720deg);
    opacity: 1;
    mask-repeat: no-repeat;
}



.swiper-container {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.review-slide {
    width: 100%;
    min-height: 250px;
    font-family: var(--font-secondary);
    letter-spacing: var(--review-letter-spacing, normal);
    font-size: 30px;
    text-align: center;
    padding: 30px 50px;

}

.review-slide > div {
    display: block;
}

.slide-source {
    display: block;

    padding: 20px;
    font-size: 16px;
    font-family: var(--font-main);
}


/*********************************************/

.policy-content {
    max-width: 670px;
    position: relative;
    margin: 0 auto;
    color: #E84200;
    padding: 40px 100px 40px 100px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    justify-content: flex-start;
    align-items: center;
    grid-gap: 40px;
    font-size: 22px;
}

.policy-content-heading {
    font-weight: 700;
}

.corner-round {
    border-radius: 50%;
    width: 90px;
    height: 90px;
    border: #5CC0F0 solid 20px;
    background-color: white;
    position: absolute;
}


@media only screen and (max-width: 710px) {
    .corner-round {
        display: none;
    }

    .policy-content {
        margin: 0 30px;
    }

}

/*********************************************/


.contact-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: stretch;
    margin: 0 auto;
}

.contact-content h3 {
    margin-top: -5px;
    padding-top: 0;
    font-size: 36px;
    margin-bottom: 10px;
}



.contact-content-logo {
    flex: 0 0 content;
    background-color:white;
    padding: 30px;
}

.contact-content-logo img {
    height: 250px;
    width: 250px;
}


.contact-content-info {
    flex: 1 0 auto;
    padding: 0 10px;
    margin: 0 10px;
    display: flex;
    flex-direction: column;
}

.contact-content-info h3 {
    margin-bottom: 0;
}

.contact-content-info-links {
    justify-self: flex-end;
    margin-block-end: -12px;
}

.contact-content-info-links a {
    margin-inline-end: 10px;
}


.contact-content-info div {
    font-size: 22px;
    padding: 5px 0;
}

.contact-content-form {
    flex: 1 0 auto;
    margin: 0 10px;
    max-width: 400px;
    
}


.contact-content-form input,
.contact-content-form textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    margin: 5px 0;
    border: none;

}

.contact-content-form textarea {
    height: 70px;
}

.contact-content-form input::placeholder,
.contact-content-form textarea::placeholder {
    font-family: inherit;
    color: var(--main-color);
    font-size: 22px;
}

.contact-submit {
    float: inline-end;
    padding: 5px 15px;
    border-radius: 25px;
    margin-top: 5px;
    margin-inline-end: -5px;
    font-size: 22px;
    font-weight: 500;
    font-family: inherit;
    border: 0;
}



@media only screen and (max-width: 1000px) {


    .contact-content-logo {
        flex: 0 0 content;
        background-color:white;
        padding: 30px;
        align-self: center;
    }
    

    .contact-content {
        flex-direction: column;
        justify-content: center;
        align-content: center;
        align-items: stretch;
        margin: 0 auto;
    }    
    
    .contact-content-info {
        text-align: center;
        padding-bottom: 30px; 
    }
    
    .contact-content h3 {
        text-align: center;
        padding-top: 30px;
    }

    .contact-submit {
        margin: 5px 40%;
    }
}
