
@import "./variables.scss";

/* //////////////////////////////////////////////////////////////////////////////////
*
* Global 
*
/* /////////////////////////////////////////////////////////////////////////////////*/

*{
    padding: 0;
    margin: 0;
    font-family: 'Roboto', sans-serif;;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6{
    font-family: 'Cabin Sketch', cursive;
    font-weight: 400;
}
h1{
    font-size: 26px;
}
h2{
    font-size: 20px;
}

h3{
    font-size: 18px;
}

h4, h5, h6{
    font-size: 15px;
}

p, li, input, span, .int-right{
    font-size: 15px;
    line-height: 30px;
    color: $txt-color; 
}

strong{
    font-size: 15px;
    line-height: 30px;
    color: $txt-color; 
    font-weight: 600;
}


a{
    text-decoration: none;
    font-size: 15px;
} 


.wmt-boxed{
    width: 90%;
    max-width: 1200px;
    margin: auto;
}


a[href^="http://maps.google.com/maps"]{display:none !important}

.gmnoprint a, .gmnoprint span {
    display:none;
}
.gmnoprint div {
    background:none !important;
}

#wpadminbar {
    background: #4d5cf1;
    #wp-admin-bar-customize, 
    #wp-admin-bar-comments,
    #wp-admin-bar-new-content{
        display: none;
    }
    .display-name{
        color: #fff;
    }
    .menupop .ab-sub-wrapper{
        padding: 6px 0 12px;
        background-color: #434fc8;
    }
    .hover{
        background-color: #434fc8;
    }
}

#wp-admin-bar-user-info .avatar {
    border-radius: 100%;
    overflow: hidden;
}

#wpadminbar .ab-top-menu>li.hover>.ab-item, #wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus, #wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item, #wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus {
    background: #424fc8;
    color: #ffffff;
}
#wpadminbar #wp-admin-bar-my-account.with-avatar>a img {
    border-radius: 100%;
    overflow: hidden;
    border: none;
}

html, body{
    width: 100%;
    overflow-x: hidden;
}

input[type="text"],
input[type="email"],
input[type="search"],
textarea{
    -webkit-appearance: none;
}


html{
    .gm-style .gm-style-iw-t::after {
       display: none;
    }
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Header 
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.admin{
    .header{
        top: 32px;
    }
}

.header{
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99999;
    transition: all .2s linear; 
    background-color: #fff;
    a{
        font-family: 'Roboto', sans-serif;
        font-weight: 700;
        color: $grey;
        font-size: 15px;
    }
    ul{
        list-style-type: none;
    }
}

.header-wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: auto;
    width: 80%;
    max-width: 1200px;
}

.nav-logo{
    width: 20%;
    max-width: 280px;
}

.language{
    width: 20%;
    ul{
        list-style-type: none;
        display: flex;
        list-style-type: none;
        justify-content: flex-end;
        a{
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .lang-item-2{
            margin-right: 10px;
        }
    }
}

.nav-logo img{
    width: 60%; 
    margin: auto;
    display: block;
}

.nav-nav{
    width: 60%;
    display: flex;
    justify-content: center;
    align-items: center;
    nav{
        width: 100%;
        max-width: 530px;
    }
}

nav{
    ul{
        display: flex;
        justify-content: space-between;
        list-style-type: none;
        position: relative;
    }
    li{
        width: 25%;
        text-align: center;
        position: relative;
    }
    li a{
        padding: 20px 0;
        display: block;
        color: $deep-grey;
        width: 100%;
        transition: all .2s linear;
    }
    a:hover{
            color: $blue;
    }
}

.nav-actions{
    a.regular{
        margin-right: 20px;
        color: $blue;
    }

}

.sub-menu{
    position: absolute;
    padding-top: 15px;
    left: -20%;
    display: none;
    left: -80%;
    min-width: 600px;
}


li:hover > ul{
    display: flex;
}

.sub-menu{
    min-width: 250px;
    left: 0;
    flex-direction: column;
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 0 0 5px 5px;
    li{
        width: 100%;
    }
    li a{
        text-align: left;
        padding: 10px 0;
    }
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Nav Mobile 
*
/* /////////////////////////////////////////////////////////////////////////////////*/


.nav-mobile{
    display: none;
}

.nm-inner{
    width: 35px;
    height: 4px;
    border-radius: 20px;
    background-color: $blue;
    position: relative;
}

.nm-inner:before, .nm-inner:after{
    width: 35px;
    height: 4px;
    border-radius: 20px;
    background-color: $blue;
    content: '';
    cursor: pointer;
    transition: all .2s linear;
}

.nm-inner:before{
    position: absolute; 
    top: -10px;
    transition: all .2s linear;
}

.nm-inner:after{
    position: absolute; 
    bottom: -10px;
    transition: all .2s linear;
}

.close-ready .nm-inner{
    background-color: #ffffff;
}


.close-ready .nm-inner:before{
    top: 0;
    transform: rotate(45deg);
    background-color: #e95656;
}

.close-ready .nm-inner:after{
    bottom: 0;
    transform: rotate(-45deg);
    background-color: #e95656;
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Hero Scene  
*
/* /////////////////////////////////////////////////////////////////////////////////*/


.hero-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;   
    position: relative;
    overflow: hidden;
    width: 100%;
    background-color: $blue;
}

.paralax-home{
    width: 100%;
    position: relative;
    z-index: 9;
    max-height: 700px;
    img{
        width: 100%;
        display: block;
        margin: auto;
        object-fit: cover;
        max-height: 700px;
    }
}

.hero-inner {
    position: absolute;
    z-index: 10;
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 90%;
    h1{
        color: #fff;
        font-size: 35px;
    }
    h2{
       font-size: 15px;
       color: #fff;
       line-height: 30px;
       margin: 30px 0 50px 0;
       font-weight: 300;
    }
}


.hi-left {
    width: 100%;
    position: relative;
    max-width: 660px;
    h1{
        text-align: left;
        margin-bottom: 30px;
        font-weight: 700;
    }
    h2{
        text-align: left;
        font-family: 'Cabin Sketch', cursive;
        font-weight: 700;
        font-size: 17px;
    }
}

.hero-scene{
    position: relative;
    display: flex;
    justify-content: center;
    .arrow-down{
        position: absolute;
        bottom: -30px;
        z-index: 99;
    }
}


/* //////////////////////////////////////////////////////////////////////////////////
*
* Call to actions 
*
/* /////////////////////////////////////////////////////////////////////////////////*/

a.main-cta{
    background-color: $blue;
    color: #fff;
    border-radius: 40px;
    padding: 12px 40px;
    text-align: center;
    font-weight: 400;
    font-size: 14px;
    box-shadow: $box-shadow;
    transition: all .2s linear;
    border: solid 1px $blue;
}

a.cta-white{
    background-color: #fff;
    color: $blue;
    border: solid 1px #fff;
}

a.cta-orange{
    background-color: $orange;
}

a.main-cta:hover{
    background-color: #3a7ee8;
    border-color: #3a7ee8;
}

a.cta-orange:hover{
    background-color: #3a7ee8;
}

a.cta-white:hover{
    background-color: rgba(0, 0, 0, 0);
    color: #fff;
}

.sec-cta{
    transition: all .2s linear;    
}
.sec-cta:hover{
    background-color: #fff;
    color: $blue;
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Global Title
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.title-sec{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 80px 0; 
    h2{
        font-size: 25px;
        margin-bottom: 30px;
        color: $blue-punch;
        font-weight: 700;
    }
    p{
        max-width: 600px;
        margin: auto;
        text-align: center;
        color: $txt-color;
    }
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Global Bottom CTA 
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.cta-wide{
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-top: 50px;
}
.cta-inner{
    padding: 200px 0;
    text-align: center;
    h3{
        color: #fff;
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 20px;
    }
    p{
        font-family: 'Cabin Sketch', cursive;
        color: #fff;
        font-weight: 700;
        margin-bottom: 50px;
    }
    a{
        padding: 15px 35px;
        background-color: #fff;
        color: $blue;
        font-weight: 700;
        transition: all .2s linear;
    }
    a:hover{
        background-color: $red;
        color: #fff;
    }
}


/* //////////////////////////////////////////////////////////////////////////////////
*
* Global Page
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.page-container{
    max-width: 980px;
    img{
        max-width: 100%;
    }
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Global Top
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.global-top{
    position: relative;
}

.paralax-top{
    position: relative;
    overflow: hidden;
    max-height: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
    img{
        width: 100%;
        display: block;
        margin: auto;
    }
    .hi-inner{
        position: absolute;
        z-index: 10;
        width: 100%; 
        h1{
            color: #fff;
            text-align: center;
        }
        span{
            display: block;
            width: 100%; 
            text-align: center;
            color: #fff;
        }
    }
}

.top-inner{
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Owl Carousel Customisations 
*
/* /////////////////////////////////////////////////////////////////////////////////*/


.owl-nav{
    button{
        outline: none;
        background-color: #fff !important;
        border-radius: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        box-shadow: $box-shadow;
        width: 50px;
        height: 50px;
        i{
            color: $blue;
            font-size: 20px;
        }
    }
}

.owl-carousel .owl-nav button.owl-prev, 
.owl-carousel .owl-nav button.owl-next, 
.owl-carousel button.owl-dot{
    position: absolute;
    top: 39%;
}

.owl-carousel.owl-drag .owl-item, 
.owl-carousel.owl-drag .owl-item.active.last{
    opacity: .7;
    transition: all .2s linear;
}

.owl-carousel .owl-nav button.owl-next{
    right: 2%;
}
.owl-carousel .owl-nav button.owl-prev{
    left: 2%;
}


.owl-carousel.owl-drag .owl-item.active{
    opacity: 1;
}

/* //////////////////////////////////////////////////////////////////////////////////
*
* Bottom CTA 
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.fancybox-container{
    z-index: 999999999 !important;
}



/* //////////////////////////////////////////////////////////////////////////////////
*
* 404 
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.page-error{
    .newsletter{
        margin-top: 0;
    }
    .related-content{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        position: relative;
        top: -100px;
        z-index: 100;
        margin: 50px 0;
    }
    .owl-carousel .owl-nav button.owl-next {
        right: -2%;
    }
    .owl-carousel .owl-nav button.owl-prev {
        left: -2%;
    }
}




/* //////////////////////////////////////////////////////////////////////////////////
*
* Page Contact 
*
/* /////////////////////////////////////////////////////////////////////////////////*/

.page-contact{
    .hero-wrapper {
        max-height: 60vh;
        min-height: 500px;
    }
    .arrow-down,
    .hero-actions .sec-cta{
        display: none;
    }
    .main-cta{
        margin-right: 0;
    }
    .contact-wrapper{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        max-width: 1100px;
        .contact-box{
            width: 100%;
            position: relative;
            z-index: 9;
            top: -230px;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: $box-shadow;
            background-color: #fff;
            background-size: 100%;
            background-repeat: no-repeat;
            background-position: top right;
            display: flex;
            justify-content: space-between;
            max-width: 980px;
            margin: auto;
            .cb-inner{
                padding: 50px;
            }
            h2{
                color: #748db3;
                margin-bottom: 30px;
            }
            ul{
                list-style-type: none;
                line-height: 30px;
                li, a{
                    line-height: 45px;
                    font-size: 13px;
                }
            }
        }
    }
    .cb-left{
        background-color: $blue;
        width: 30%;
        li, li a{
            color: #fff;
        }
    }
    .bc-right{
        width: 70%;
    }
    .cbl-inner{
        padding: 45px;
        h2{
            font-weight: bold;
            color: $blue-punch;
        }
    }
    .caldera-grid .btn-default{
        background-color: $red;
        color: #fff;
        border: none;
        font-weight: bold;
        padding: 10px 20px;
    }
    #fld_7908577_1-wrap{
        display: flex;
        justify-content: flex-end;
    }
    .caldera-grid label {
        display: inline-block;
        max-width: 100%;
        margin-bottom: 5px;
        font-weight: 400;
        color: #676767;
        font-size: 14px;
    }
}

.owl-carousel .owl-stage {
    display: flex !important;
}


/* //////////////////////////////////////////////////////////////////////////////////
*
* Footer
*
/* /////////////////////////////////////////////////////////////////////////////////*/

footer{
    z-index: 10;
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.footer-separator{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    z-index: 10;
    position: relative;
    img{
        display: block;
        margin: auto;
        width: 100%; 
    }
}

.footer-container{
    width: 100%;
    max-width: 980px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    padding: 95px 0;
    .footer-col{
        width: 50%;
        nav ul{
            flex-wrap: wrap;
            li{
                width: 50%;
                a{
                    padding: 0;
                    text-align: left;
                }
            }
        }
    }
    p{
        color: $blue-punch;
        font-family: 'Cabin Sketch', cursive;
        font-weight: bold;
        margin-bottom: 40px;
        font-size: 17px;
        letter-spacing: 1px;
    }
    ul{
        list-style-type: none;
        li{
            line-height: 45px;
        }
        li a, li{
            color: #fff; 
            font-size: 14px;
            transition: all .2s linear;
            i{
                color: #fff; 
                margin-right: 10px;
                font-size: 15px;
                width: 20px;
                text-align: center;
            }
        }
        li a:hover{
            color: #fff;
        }
        li.list-full{
                font-size: 14px;
                color: #fff;
                line-height: 25px;
                display: flex;
                align-items: center;
            i{
                color: #fff;
                margin-right: 0;
                font-size: 15px;
                width: 30px;
                text-align: center;
                position: relative;
                left: -5px;
            }
        }
    }
}

ul.footer-follow{
    display: flex;
    margin-top: 30px;
    li i{
        font-size: 25px !important;
    }
}

.copy{
    width: 90%;
    margin: auto;
    p{
        width: 100%;
        padding: 20px 0;
        text-align: center;
        font-size: 12px;
        color: #fff;
    }
}

.page-about{
    .intro-inner{
        margin-bottom: 0;
    }
    .diamond-stripe{
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 50px;
        img{
            width: 100%;
            display: block;
            margin: auto;
            max-width: 80%;
        }
    }
}

main.page{
    margin-bottom: 100px;
}



/* //////////////////////////////////////////////////////////////////////////////////
*
*  Responsives Styles 
*
/* /////////////////////////////////////////////////////////////////////////////////*/


@media screen and (max-width: 1300px){
    .nav-logo {
        width: 20%;
    }

    .nav-nav {
        width: 55%;
    }

    .nav-nav nav {
        max-width: unset;
    }
    .nav-cta {
        width: 20%;
    }
}

@media screen and (max-width: 1100px){


    .footer-container {
        width: 90%;
    }

    .footer-container ul li a {
        font-size: 13px;
    }

}

@media screen and (max-width: 782px){
    html {
        margin-top: 0px !important;
    }
}

@media screen and (max-width: 980px){

    .language {
        display: none;
    }

    .header-wrapper{
        padding: 20px 0;
    }


    .nav-nav{
        position: absolute;
        opacity: 0;
        top: 78px;
        left: 0;
        max-width: 100%;
        background-color: #f9f9f9;
        width: 100%;
        visibility: hidden;
        transition: all .2s linear;
    }


    .sub-menu i.fa-caret-up {
        left: 16%;
    }

    .sub-simple {
        min-width: 250px;
        left: 22%;
    }

    .nav-nav.nav-active{
        opacity: 1;
        visibility: visible;
    }

    .hero-inner h1 {
        font-size: 25px;
    }

    .nav-mobile {
        width: 34%;
        min-height: 30px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .nav-search, .nav-actions .regular{
        display: none;
    }

    .nav-cta {
        justify-content: flex-end;
        width: auto;
        .nav-actions {
            width: 100%;
            display: flex;
            justify-content: flex-end;
        }
    }

    .nav-logo {
        width: 33%;
    }

    .footer-container {
        flex-wrap: wrap;
    }

    .footer-container .footer-col {
        width: 48%;
        margin-bottom: 50px;
    }

    .header-wrapper {
        width: 90%;
    }

    .nav-mobile {
        width: 40%;
    }

    .nav-logo {
        width: 60%;
    }

    .nav-logo img {
        width: 64%;
        max-width: 175px;
        margin: 0;
    }

    .nav-nav {
        height: calc(100vh - 70px);
        top: 70px;
        background-color: $blue-light;
    }

    .nav{
        padding-top: 30px;
    }

    nav ul {
        display: flex;
        justify-content: flex-start;
        list-style-type: none;
        position: relative;
        flex-direction: column;
        align-items: center;
    }

    .cta-inline{
        display: flex;
    }

    nav li {
        width: 80%;
        position: relative;
    }


    li.main a{
        background-color: #f0efff;
        border-radius: 10px;
        margin: 10px 0;
        padding: 10px 0;
        position: relative;
        z-index: 3;
    }

    .nav a.main-cta {
        padding: 8px 40px;
        margin-top: 10px;
    }

    .sub-menu {
        position: absolute;
        padding-top: 0;
        left: 0;
        min-width: unset;
        z-index: 9;
        transform: translateX(-100%);
        transition: all .3s linear; 
        width: 100%;
        visibility: hidden;
        display: flex;
        background-color: #ffffff;
        .sub-inner{
            box-shadow: none;
            padding: 10px 15px;
            border-radius: 0;
        }
        a{
            background-color: rgba(0, 0, 0, 0) !important;
            margin: 0 !important;
        }

        .sub-cta a{
            background-color: $blue !important;
            border-radius: 20px;
        }

    }

    .header a {
        color: #002459;
    }

    .header ul {
        list-style-type: none;
        max-width: 500px;
        margin: auto;
    }

    .menu-promo{
        margin-bottom: 20px;
    }

    li:hover > ul {
        display: flex;
        transform: translateX(0%);
        visibility: visible;
    }

    .sub-menu i.fa-caret-up {
        left: 16%;
        display: none;
    }

    nav .thema-list svg {
        width: 20px;
        height: 20px;
    }

    nav .thema-list i {
        font-size: 15px;
    }

    nav .thema-list svg {
        width: 20px;
        height: 20px;
        margin-right: 15px;
    }

    .mp-bot{
        display: none;
    }

    .sub-simple {
        min-width: 250px;
        left: 0%;
        width: 100%;
        .sub-inner {
            width: calc(100% - 40px);
            padding: 20px;
        }
    }

    .sub-menu .sub-inner{
        max-width: unset;
    }

    .front-page{
        .feat-unit .fu-left .over-title h3 {
            text-transform: lowercase;
            font-size: 30px;
        }
    }

    .page-contact .contact-wrapper .contact-box{
        top: -130px;
    }

}

@media screen and (max-width: 700px){

    .rellax { transform: translate3d(0,0,0) !important; }

    main{
        margin-top: 65px;
    }

    body, html{
        width: 100%;
        overflow-x: hidden;
    }


    .title-sec{
        text-align: center;
    }


    .title-sec h3 {
        line-height: 30px;
    }

    .footer-container {
        padding: 100px 0 0;
    }

    .footer-container .footer-col {
        width: 100%;
        text-align: center;
    }

    .footer-container ul li a i,
    .footer-container ul li.list-full i {
        display: none;
    }

    
    .owl-carousel.owl-drag .owl-item.active.last {
        opacity: 1;
        transition: all .2s linear;
    }
    nav .thema-list li a{
        padding: 8px 10px;
    }

    .menu-promo .mp-right a h3 {
        font-size: 13px;
        line-height: 20px;
    }

    .sub-menu li.menu-heading{
        margin-bottom: 20px;
        font-size: 13px;
    }

    .sub-menu{
        .inspi-cards {
            padding: 0 10px;
        }
    }


    .paralax-top{
        height: 50vh;
        max-height: 310px;
        .rellax{transform: translate3d(0,0,0) !important;}
        img {
            width: unset;
        }
        .hi-inner h1{
            font-size: 18px;
        }
    }

    .title-sec {
        padding: 50px 0;
    }
    .page-devis .paralax-top {
        height: 50vh;
        max-height: 310px !important;
    }
    .paralax-top .hi-inner h1 {
        font-size: 18px;
        max-width: 90%;
        text-align: center;
        margin: auto;
    }

    .article-metas{
        display: none;
    }

    .copy p {
        max-width: 90%;
        margin: auto;
    }

    .footer-container ul li.list-full {
        text-align: center;
        display: block;
    }


    .nav-nav {
        height: calc(100vh - 70px);
        top: 790x;
        background-color: $blue-light;
    }

    .title-sec h2 {
        font-size: 22px;
    }

    .title-sec {
        padding: 35px 0;
    }

    .hero-inner h1 {
        font-size: 23px;
    }

    .page-contact .contact-wrapper .contact-box {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .page-contact .bc-right, .page-contact .cb-left {
        width: 100%;
    }

    .page-contact{
        .hero-wrapper {
            max-height: 60vh;
            min-height: unset;
        }
    }

    .page-contact .cbl-inner {
        padding: 25px;
    }

    .page-contact .contact-wrapper .contact-box {
        top: -20px;
    }

}

@media screen and (max-height: 500px){
    .sub-menu .sub-inner{
        height: unset;
        padding: 10px 15px 100px;
    }
}

@media (orientation: landscape) and (max-width: 700px){
    .sub-menu .sub-inner {
        height: unset;
        padding: 10px 15px 100px;
        width: calc(100% - 30px);
        max-width: unset;
    }
    .sub-simple{
        height: 100vh;
    }
}
