* {
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

body {
    height: 100%;
    position: relative;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
}

h1,
.h1 {
    margin-bottom: 20px;
}

h2 {
    font-weight: 700;
    margin-bottom: 20px;
    word-break: normal;
}


h3 {
    font-weight: 700;
    font-size: 24px;
    word-break: normal;
}

h4 {
    font-weight: 700;
    font-size: 20px;
}

p {
    font-size:14px;
    line-height:24px;
    clear:both;
    font-family:'Montserrat', sans-serif;
    color:#1a1a1a;
}

p a {
    color: inherit;
    text-decoration: underline;
}

a {
    text-decoration: none;
    color: #ff783d;

}

a:hover {
    text-decoration: none;
    color: #1a1a1a;
}

strong {
    font-weight: 700;
}

button:focus,
a:focus {
    outline: none;
    text-decoration: none;
}

blockquote {
    text-align: center;
    margin: 30px 0px;
    display: block;
}

li {
    color: #1a1a1a;
    font-size: 14px;
    line-height: 1.3em;
}

li a {
    color: #1a1a1a;
    text-transform: none;
}

p a:hover,
li a:hover {}

::-moz-selection {
    background:#00899b;
    color:#FFF;
}

::selection {
    background:#00899b;
    color:#FFF;
}

img {
    max-width:100%;
}

.padding-section {
    padding:80px 0;
}

.transition {
    -webkit-transition:all .15s ease-in-out;
    -moz-transition:all .15s ease-in-out;
    -o-transition:all .15s ease-in-out;
    transition:all .15s ease-in-out;
}

.btn {
    position:relative;
    padding:0 30px;
    padding-right:44px;
    background:transparent;
    text-align:center;
    color:#FFF;
    border-radius:30px;
    line-height:34px;
    font-weight:500;
    text-transform:uppercase;
    font-size:12px;
    border:2px solid #FFF;
    margin-bottom:20px;
    -webkit-transition:all 0.15s ease-in-out;
    -moz-transition:all 0.15s ease-in-out;
    -o-transition:all 0.15s ease-in-out;
    transition:all 0.15s ease-in-out;
}
.btn.btn-blue {
    color:#00899b;
    border-color:#00899b;
}
.btn:after {
    position:absolute;
    content:"\f054";
    right:28px;
    top:0;
    color:#FFF;
    font-family:'Font Awesome 5 Free';
    font-weight:900;
    background:transparent;
    -webkit-transition:all 0.15s ease-in-out;
    -moz-transition:all 0.15s ease-in-out;
    -o-transition:all 0.15s ease-in-out;
    transition:all 0.15s ease-in-out;
}
.btn.btn-blue:after {
    color:#00899b;
}
.btn:hover {
    background:#FFF;
    color:#000;
}
.btn.btn-blue:hover {
    background:#00899b;
    color:#FFF;
}
.btn:hover:after {
    color:#000;
    right:22px;
}
.btn.btn-blue:hover:after {
    color:#FFF;
}

.btn-2 {
    position:relative;
    color:#202020;
    font-weight:500;
    -webkit-transition:all 0.15s ease-in-out;
    -moz-transition:all 0.15s ease-in-out;
    -o-transition:all 0.15s ease-in-out;
    transition:all 0.15s ease-in-out;
}
.btn-2:before {
    position:absolute;
    content:"";
    bottom:-8px;
    left:0;
    right:-20px;
    border-bottom:2px solid #00899b;
}
.btn-2:after {
    position:absolute;
    content:"\f054";
    right:-20px;
    top:0;
    color:#00899b;
    font-family:'Font Awesome 5 Free';
    font-weight:900;
    font-size:14px;
    background:transparent;
    -webkit-transition:all 0.15s ease-in-out;
    -moz-transition:all 0.15s ease-in-out;
    -o-transition:all 0.15s ease-in-out;
    transition:all 0.15s ease-in-out;
}
.btn-2:hover {
    color:#00899b;
}
.btn-2:hover:after {
    color:#202020;
    right:-30px;
}


/*************** HEADER ***************/
/**************************************/
header {
    position:relative;
    background:#FFF;
    z-index:1;
}
header:before {
    position:absolute;
    content:"";
    height:100%;
    width:50%;
    right:0;
    top:0;
    z-index:0;
    background:rgba(22,76,84,1);
    background:linear-gradient(30deg, rgba(22,76,84,1) 10%, rgba(0,137,155,1) 55%);
    background:-moz-linear-gradient(30deg, rgba(22,76,84,1) 10%, rgba(0,137,155,1) 55%);
    background:linear-gradient(30deg, rgba(22,76,84,1) 10%, rgba(0,137,155,1) 55%);
}
header div.logo {
    background:#eff1f5;
}
header div.menu {
    background:rgba(16, 109, 123, 0.22);
}


/************* NAVIGATION *************/
/**************************************/
header .dropdown button {
    border:0;
    color:#1d1d1d;
    margin-right:20px;
    background:none;
    cursor:pointer;
}
header .dropdown li a {
    display:block;
    padding:4px 6px;
    text-transform:uppercase;
    font-size:14px;
    color:#1d1d1d;
}
#navmenu ul {
    padding:0;
    margin-bottom:0;
}
#navmenu li {
    padding:0 12px;
    display:inline-block;
    text-decoration:none;
}
#navmenu li a, header .dropdown button, #navmenu .sep, header .menu_head a {
    font-size:14px;
    line-height:50px;
    font-weight:500;
    color:#9bcbd3;
    -webkit-transition:all 0.15s ease-in-out;
    -moz-transition:all 0.15s ease-in-out;
    -o-transition:all 0.15s ease-in-out;
    transition:all 0.15s ease-in-out;
    text-transform:uppercase;
}
header .menu_head a {
    color:#FFF;
}
header .dropdown button {
    color:#9bcbd3;
}
header .dropdown button:hover,
#navmenu li a:hover,
#navmenu li.active a,
#navmenu li.menu-item-has-children:hover > a {
    position:relative;
    color:#FFF;
}
#navmenu li.menu-item-has-children {
    position:relative;
}
#navmenu li.menu-item-has-children:after {
    font-family:'Font Awesome 5 Free';
    content:"\f107";
    font-weight:900;
    color:#9bcbd3;
}
#navmenu ul li .submenu {
    width:280px;
    position:absolute;
    top:50px;
    z-index:995;
    background:#FFF;
    display:none;
    left:0;
    margin-left:0;
    padding:20px 10px;
    -webkit-box-shadow:0 3px 6px 0 rgba(22, 76, 84, 0.4);
    -moz-box-shadow:0 3px 6px 0 rgba(22, 76, 84, 0.4);
    box-shadow:0 3px 6px 0 rgba(22, 76, 84, 0.4);
    line-height:24px;
}
#navmenu ul li .submenu li {
    line-height:50px;
    width:100%;
    padding:0;
    color:#1d1d1d;
}
#navmenu ul li .submenu .menuside {
    line-height:50px;
}
#navmenu ul li .submenu li:hover a,
#navmenu ul li .submenu li.active a {
    color:#164c54;
}
#navmenu ul li .submenu li:hover,
#navmenu ul li .submenu li.active {
    border:0;
}
#navmenu ul li .submenu li a {
    display:block;
    color:#107481;
    line-height:30px;
    padding:6px 10px;
    border:0;
}
#navmenu ul li:hover > .submenu {
    display:block;
    z-index:999;
}


/*************** SLIDER ***************/
/**************************************/
.sliderhome {
    position:relative;
    margin-top:100px;
    padding-bottom:64px;
}
.sliderhome:after {
    position:absolute;
    content:"";
    bottom:0;
    left:0;
    background-color:#eff1f5;
    width:100%;
    height:80px;
    z-index:-1;
}
.sliderhome .wrapper-image {
    height:520px;
    -webkit-box-shadow:-1px -1px 25px 0 rgba(50, 50, 50, 0.17);
    -moz-box-shadow:-1px -1px 25px 0 rgba(50, 50, 50, 0.17);
    box-shadow:-1px -1px 25px 0 rgba(50, 50, 50, 0.17);
}
.sliderhome .title {
    position:relative;
    font-family:'Noto Serif', serif;
    font-size:36px;
    color:#FFF;
    font-style:italic;
    font-weight:bold;
    padding-top:110px
}
.sliderhome .title:before {
    position:absolute;
    content:"";
    top:0;
    left:0;
    height:80px;
    width:2px;
    background:#FFF;
}
.sliderhome .subtitle {
    font-family:'Noto Serif', serif;
    font-size:52px;
    color:#242424;
    font-weight:bold;
    line-height:1.05em;
}
.sliderhome .desc p {
    color:#FFF;
    font-size:16px;
    font-weight:400;
}
.sliderhome .wrapper-slide-navigation {
    position:relative;
    top:-16px;
}
.sliderhome .prev_next i {
    display:inline-block;
    height:80px;
    width:80px;
    line-height:80px;
    background:#242424;
    color:#FFF;
    text-align:center;
    cursor:pointer;
}
.sliderhome .prev_next i:hover {}


/*************** NEWS ***************/
/************************************/
.article-news {}
.article-news .wrapper-image {
    position:relative;
    height:240px;
    -webkit-transition:all .35s ease-in-out;
    -moz-transition:all .35s ease-in-out;
    -o-transition:all .35s ease-in-out;
    transition:all .35s ease-in-out;
}
.article-news .wrapper-image:hover {
    -webkit-filter:grayscale(45%);
    filter:grayscale(45%);
}
.article-news .wrapper-image .date {
    position:absolute;
    left:0;
    top:0;
    background:#202020;
    width:84px;
    height:84px;
}
.article-news .wrapper-image .date > span > span {
    color:#FFF;
    font-size:18px;
    text-transform:uppercase;
    font-weight:700;
}
.article-news .wrapper-text h4 {
    text-transform:uppercase;
    color:#202020;
    font-size:24px;
    line-height:32px;
    font-weight:600;
}
.article-news .wrapper-text h4 a {
    color:#202020;
}
.article-news .wrapper-text h4 a:hover {
    color:#164c54;
}
.article-news .wrapper-text .desc {
    min-height:76px;
}
.article-news .wrapper-text .desc p {
    color:#9e9e9e;
    font-size:16px;
    font-weight:400;
}


/*************** HOMEPAGE ***************/
/****************************************/
section.about-us {
    background:#eff1f5;
}
section.about-us h3 {
    font-family:'Noto Serif', serif;
    font-size:36px;
    color:#242424;
    font-style:italic;
    font-weight:bold;
    text-transform:uppercase;
}
section.about-us .subtitle {
    font-size:24px;
    font-weight:500;
    color:#242424;
    text-transform:uppercase;
    line-height:1.3em;
}
section.about-us .desc p {
    color:#9e9e9e;
    font-size:16px;
    font-weight:400;
}
section.about-us .wrapper-text {
    position:relative;
    padding-left:108px;
}
section.about-us .wrapper-text:before {
    position:absolute;
    content:"";
    top:20px;
    left:0;
    width:84px;
    height:2px;
    background:#f58123;
}

section.our-services {}
section.our-services .background {
    height:300px;
}
section.our-services .wrapper-text {
    padding-bottom:50px !important;
    margin-bottom:50px !important;
    border-bottom:2px solid #f58123;
}
section.our-services .wrapper-text h3 {
    font-family:'Noto Serif', serif;
    font-size:36px;
    color:#242424;
    font-style:italic;
    font-weight:bold;
    text-transform:uppercase;
}
section.our-services .wrapper-text p {
    color:#9e9e9e;
    font-size:16px;
    font-weight:400;
}
section.our-services ul {
    padding:0;
}
section.our-services ul li {
    list-style:none;
    font-size:24px;
    color:#202020;
    font-weight:600;
}
section.our-services ul li {
    padding-bottom:16px;
}
section.our-services ul li i {
    font-size:14px;
    display:inline-block;
    color:#0c8fa0;
}
section.our-services .wrapper-listing {
    position:relative;
    top:-60px;
    padding-top:60px;
    background:#eff1f5;
}
section.our-services .wrapper-listing .sub-wrapper .service {
    min-height:200px;
}
section.our-services .wrapper-listing .sub-wrapper .service h4 {
    min-height:96px;
    text-transform:uppercase;
    color:#202020;
    font-size:24px;
    line-height:32px;
    font-weight:600;
}
section.our-services .wrapper-listing .sub-wrapper .service p {
    color:#9e9e9e;
    font-size:16px;
    font-weight:400;
}

section.news h3 {
    display:inline-block;
    position:relative;
    font-family:'Noto Serif', serif;
    font-size:36px;
    color:#242424;
    font-style:italic;
    font-weight:bold;
    text-transform:uppercase;
}
section.news h3:after {
    position:absolute;
    content:"";
    left:33%;
    right:33%;
    bottom:-16px;
    height:2px;
    background-color:#f58123;
}


/*************** GENERIQUE ***************/
/*****************************************/
.head {
    height:230px;
    position:relative;
    display:block;
}
.head > .container {
    position:relative;
}
.head > .container:after {
    position:absolute;
    content:"";
    left:0;
    right:0;
    top:0;
    bottom:0;
    background:rgb(22,75,83);
    background:-moz-linear-gradient(90deg, rgba(22,75,83,.9) 0%, rgba(22,75,83,0.30575980392156865) 70%);
    background:-webkit-linear-gradient(90deg, rgba(22,75,83,.9) 0%, rgba(22,75,83,0.30575980392156865) 70%);
    background:linear-gradient(90deg, rgba(22,75,83,.9) 0%, rgba(22,75,83,0.30575980392156865) 70%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#164b53",endColorstr="#164b53",GradientType=1);
    z-index:0;
}
.head > .container > .row {
    position:relative;
    z-index:1;
}
.head h1 {
    font-family:'Noto Serif', serif;
    font-size:32px;
    color:#FFFF;
    font-style:italic;
    font-weight:bold;
    text-transform:uppercase;
}
.head .breadcrumb {
    padding:0;
    background:none;
}
.head .breadcrumb li {
    color:#FFF;
    font-size:16px;
}
.head .breadcrumb li a {
    color:#FFF;
}

.generic p,
.generic ul,
.generic ol,
.generic h2,
.generic h3,
.generic h4,
.generic h5 {
    margin-bottom:40px;
}
.generic h4 {
    font-weight:500;
}
.generic hr {
    margin-top:40px;
    margin-bottom:40px;
    border:1px solid #ff783d;
}
.generic p + p {
    margin-bottom:20px;
}
.generic p, .generic ul li, .generic ol li {
    color:#9e9e9e;
    line-height:24px;
}
.generic a {
    color:#9e9e9e;
}
.generic ul,
.generic ol {
    padding-left:0;
}
.generic ul li:before {
    content:"\f105";
    font:normal normal normal 24px "Font Awesome 5 Free";
    font-weight:900;
    margin-right:20px;
    font-size:14px;
    color:#f58123;
}
.generic ul ul,
.generic ol ol {
    padding-left:30px;
    margin-bottom:0;
}
.generic iframe {
    margin-top:40px;
    margin-bottom:40px;
    width:100%;
    height:500px;
}
.generic ul li,
.generic ol li {
    line-height:30px;
    list-style:none;
}
.generic ol {
    padding:0 30px;
    counter-reset:step-counter;
}
.generic ol li {
    line-height:30px;
    list-style:none;
    counter-increment:step-counter;
}
.generic ol li:before {
    content:counter(step-counter, decimal) ". ";
    color:#f58123;
    font-weight:700;
    margin-right:10px;
    font-family:'Raleway', sans-serif;
}
.generic table {
    margin-bottom:20px;
    width:100%;
}
.generic table tr {
    border-bottom: 1px solid #2d2d2d;
}
.generic table tr td {
    color:#9e9e9e;
    padding:10px 10px 10px 0;
    font-size:14px;
    line-height:30px;
    font-family:'Montserrat', sans-serif;
}
.generic table tr:first-child {
    font-weight:700;
    color:#f58123;
    border-bottom-color:#f58123;
}
.generic table tr:first-child td {
    font-weight:700;
    color:#f58123;
}
.generic .gallery .row .col-md a {
    min-height:200px;
    display:block;
    margin-bottom:20px;
}

.generic .pagination {
    border-top:1px solid #eff1f5;
    padding-top:40px;
}
.generic .pagination div a,
.generic .pagination div span {
    margin:0 10px;
}
.generic .pagination .next,
.generic .pagination .prev,
.generic .pagination .page-numbers {
    display:inline-block;
    width:50px;
    height:50px;
    cursor:pointer;
    line-height:46px;
    text-align:center;
    border-radius:50%;
    border:2px solid #00899b;
    color:#00899b;
    position:relative;
    -webkit-transition:all .15s ease-in-out;
    -moz-transition:all .15s ease-in-out;
    -o-transition:all .15s ease-in-out;
    transition:all .15s ease-in-out;
}
.generic .pagination .page-numbers {
    border-color:transparent;
    color:#68696b;
}
.generic .pagination .next i,
.generic .pagination .prev i {
    position:relative;
    z-index:100;
}
.generic .pagination .next:hover,
.generic .pagination .prev:hover {
    background:#00899b;
    color:#FFF;
}
.generic .pagination .page-numbers.current, .generic .pagination .page-numbers:hover {
    color:#000;
}
.generic .bloc-text-aside, .generic .bloc-cat {
    padding:30px;
    background:#eff1f5;
    border-bottom:2px solid #ff783d;
}
.generic .bloc-text-aside h5, .generic .bloc-cat h5 {
    font-weight:500;
    font-size:24px;
    color:#242424;
    text-transform:uppercase;
}
.generic .bloc-cat ul {
    margin-bottom:0;
}
.generic .bloc-cat ul li:before {
    color:#00899b;
}
.generic .bloc-cat ul li a {
    font-size:16px;
    color:#202020;
    font-weight:500;
    -webkit-transition:all .15s ease-in-out;
    -moz-transition:all .15s ease-in-out;
    -o-transition:all .15s ease-in-out;
    transition:all .15s ease-in-out;
}
.generic .bloc-cat ul li a:hover, .generic .bloc-cat ul li.active a {
    color:#00899b;
}
.generic aside div {
    margin-bottom:30px;
}
.generic aside h2,
.generic aside h3,
.generic aside h4,
.generic aside h5,
.generic aside p {
    margin-bottom:15px;
}
.generic aside hr {
    margin-bottom:15px;
    margin-top:15px;
}
.generic article {
    width:100%;
    margin-bottom:40px;
}
.generic article hr {
    margin-bottom:20px;
    margin-top:20px;
}
.generic article h3,
.generic article p {
    margin-bottom:20px;
}
#map {
    height:400px;
    border-bottom:2px solid #ff783d;
}


/************ SOCIAL ************/
/********************************/
.generic .share-social li:before {
    display:none;
}
.generic .share-social li {
    display:inline-block;
    margin:0 10px;
    width:50px;
    height:50px;
    text-align:center;
    line-height:60px;
    border-radius:100%;
}
.generic .share-social li.twitter { background-color:#55acee; }
.generic .share-social li.facebook { background-color:#3b5998; }
.generic .share-social li.linkedin { background-color:#007ab9; }
.generic .share-social li a { display:block; width:100%; height:100%; color:#FFF; }
.generic .share-social { width:100%; padding:0; }


/*************** CONTACT ***************/
/***************************************/
::-webkit-input-placeholder {
    font-size:14px;
}
::-moz-placeholder {
    font-size:14px;
}
:-ms-input-placeholder {
    font-size:14px;
}
:-moz-placeholder {
    font-size:14px;
}
.contact_form input, .contact_form select, .contact_form label {
    font-size:14px;
}

.contact_form .req { position:relative; }
.contact_form .req:not(.no-req):after { position:absolute; top:14px; right:10px; content:"\f069"; color:red; font-family:'Font Awesome 5 Free'; font-weight:900; font-size:7px; }
.contact_form .asterisk { color:red; }
span.wpcf7-not-valid-tip { font-size:14px; }


/*************** FOOTER ***************/
/**************************************/
footer {
    background:#eff1f5;
}
footer section.poles > .container {
    border-bottom:1px solid #bdbdbd;
}
footer section.poles h3 {
    display:inline-block;
    position:relative;
    font-family:'Noto Serif', serif;
    font-size:24px;
    color:#242424;
    font-style:italic;
    font-weight:bold;
    text-transform:uppercase;
}
footer section.poles h3:after {
    position:absolute;
    content:"";
    left:33%;
    right:33%;
    bottom:-16px;
    height:2px;
    background-color:#f58123;
}
footer section.poles .wrapper-title {
    min-height:76px;
}
footer section.poles .title {
    font-size:18px;
    color:#242424;
    font-weight:600;
    text-transform:uppercase;
}
footer section.poles .location {
    font-size:16px;
    font-family:'Noto Serif', serif;
    color:#f58123;
    text-transform:uppercase;
    font-style:italic;
}
footer section.poles .phone {
    font-size:20px;
    color:#202020;
    font-weight:600;
}
footer section.poles .phone i {
    font-size:14px;
}
footer section.poles .desc p {
    color:#9e9e9e;
    font-size:16px;
    font-weight:400;
}

footer section.content h5 {
    font-size:18px;
    color:#202020;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:40px;
}
footer section.content .address {

}
footer section.content .contact p {
    font-size:16px;
    color:#202020;
    font-weight:600;
}
footer section.content ul.list-footer {
    padding:0;
}
footer section.content ul.list-footer li {
    list-style:none;
    line-height:24px;
}
footer section.content ul.list-footer li a {
    color:#202020;
    -webkit-transition:all .15s ease-in-out;
    -moz-transition:all .15s ease-in-out;
    -o-transition:all .15s ease-in-out;
    transition:all .15s ease-in-out;
}
footer section.content ul.list-footer li a:hover {
    color:#0c8fa0;
}
footer section .last-news a {
    color:#9e9e9e;
}
footer section.legal {
    background:#00899b;
}
footer section.legal p, footer section.legal span, footer section.legal a {
    color:#FFF;
    text-decoration:none;
    font-size:12px;
    font-weight:400;
}
footer section.legal a:hover {
    text-decoration:underline;
}


/*************** RESPONSIVE ***************/
/******************************************/
@media (min-width:1400px) {
    .container {
        width: 1340px;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    #mm-navmenu,
    .menu_head {
        display: none !important;
    }
}

@media (min-width:1600px) {}

@media (min-width: 992px) {}

@media (max-width: 1399px) {}

@media (max-width: 1199px) {
    section.our-services .wrapper-listing .sub-wrapper .service h4 {
        min-height:inherit;
    }
}

@media (max-width: 991px) {
    #navmenu {
        display: none;
    }
    section.our-services .wrapper-listing {
        top:0;
    }
    section.our-services .wrapper-listing .sub-wrapper .service {
        min-height:inherit;
    }
}

@media (max-width: 768px) {
    header:before {
        width:100%;
    }
    .sliderhome {
        margin-top:40px;
    }
    .sliderhome .title {
        padding-top:0;
    }
    .sliderhome .title:before {
        display:none;
    }
    .sliderhome .wrapper-slide-navigation {
        top:0;
    }
    .sliderhome .wrapper-image {
        height:320px;
    }
    footer section.poles .wrapper-title {
        min-height:inherit;
    }
    .head h1 {
        font-size:28px;
    }
}

@media (max-width: 576px) {
    .sliderhome .title {
        font-size:28px;
    }
    .sliderhome .subtitle {
        font-size:42px;
    }
    .sliderhome .desc p {
        font-size:14px;
    }
    section.about-us .wrapper-text {
        padding-left:15px;
    }
    section.about-us .wrapper-text:before {
        display:none;
    }
}
