/*
    Theme Name: CERH
    Version: 1.0
    Author: Bastien (Rose & Piment)
*/

@font-face {
    font-family: 'Barlow Re';
    src: url('fonts/BarlowCondensed-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Barlow Bo';
    src: url('fonts/BarlowCondensed-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Myriad Re';
    src: url('fonts/MyriadPro-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Oswald Re';
    src: url('fonts/Oswald-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


/*--------------------------------------------------------------
    Generale
--------------------------------------------------------------*/

body,
html {
    width: 100%;
    height: auto;
    font-size: 14px;
}
body { 
    font-family: 'Barlow Re', Helvetica, sans-serif;
    overflow-x: hidden;
    color: #333;
}

section { padding: 3rem 0; } 

a {
    color: #fd7923;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    transition: all 0.2s;
}
a:hover {
    color: #fd7923;
    text-decoration: underline;
}

b,
strong {
    font-family: 'Barlow Bo', Helvetica, sans-serif;
    font-weight: initial;
}

p {
    color: #333;
    margin-bottom: 20px;
    font-weight: 200;
    font-size: 1.3rem;
}
p:last-of-type { margin-bottom: 0; }

ul li { font-size: 1.3rem; }

h1,
h2,
h3,
h4,
h5,
h6 { font-family: 'Oswald Re', Helvetica, sans-serif; }

h2 {
    font-size: 1.8rem;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
h3 { font-size: 1.5rem; }

.card {
    border: 0;
    border-radius: 0;
}
.card .card-img-top {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    /* IE10+ CSS here */
    .card > * { flex: 0 0 auto; }
}


/*--------------------------------------------------------------
    Header
--------------------------------------------------------------*/

.top-image-wrapper {
    background: rgb(82,92,97);
    background: radial-gradient(circle, rgba(82,92,97,1) 0%, rgba(37,43,46,1) 100%);
}
.top-image {
    background: url(img/forme-home.png);
	position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
    height: 385px;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.4;
}

header {
    background: rgb(82,92,97);
    background: radial-gradient(circle, rgba(82,92,97,1) 0%, rgba(37,43,46,1) 100%);
    z-index: 15;
}
header h2.baseline {
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 2rem;
}
header .nav { z-index: 150; }
header .btn-contact {
    font-family: 'Oswald Re', Helvetica, sans-serif;
    color: #fff;
    font-size: 1.2rem;
    text-transform: uppercase;
    padding-left: 0.5rem;
    margin-top: -0.1rem;
    display: block;
}
header .btn-contact::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f111";
    font-size: 1.2rem;
    padding-right: 0.4rem;
    color: #f6953a;
}

/* home */
header.home { background: unset; }

/* page */
header.page {
    padding-bottom: 3rem;
    position: relative;
}
header.page:before {
    content: "";
    background: url(img/forme-page.png) no-repeat;
    background-size: contain;
    position: absolute;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 992px) {
    header { margin-top: 1rem; }
    header img { 
        display: block;
        margin: 0 auto;
    }
}

@media screen and (max-width: 992px) {
    .top-image { 
		background: url(img/forme-home-mobile-1.png);
		height: 426px;
	}
}

@media screen and (max-width: 768px) {
    .top-image { 
		background: url(img/forme-home-mobile-2.png);
		height: 379px;
	}
}

@media screen and (max-width: 575px) {
    .top-image { 
		background: unset;
	}
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    header .nav { margin: 0 auto !important; }
}


/*--------------------------------------------------------------
    Navigation
--------------------------------------------------------------*/

.navbar .navbar-nav .nav-item a {
    font-family: 'Oswald Re', Helvetica, sans-serif;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    text-transform: uppercase;
}
.navbar .navbar-nav .nav-item.active a { color: #ffa34d; }
.navbar .navbar-nav .nav-item.actu { margin-left: 1rem; }
.navbar .navbar-nav .nav-item.actu a { background-color: #f6953a; }
.navbar .navbar-nav .nav-item.actu.active a { background-color: #fff; }

.navbar .dropdown-toggle::after { display: none; }
.navbar .navbar-nav .dropdown-menu {
    background-color: #eaeaea;
    border: 0;
    border-radius: 0;
}
.navbar .navbar-nav .dropdown-menu a.dropdown-item {
    font-family: 'Barlow Re', Helvetica, sans-serif;
    color: #333;
    font-size: 1.15rem;
    text-transform: unset;
    padding: 0.1rem 1.5rem;
}
.navbar .navbar-nav .dropdown-menu a.dropdown-item:hover,
.navbar .navbar-nav .dropdown-menu a.dropdown-item:focus,
.navbar .navbar-nav .dropdown-menu a.dropdown-item:active {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa;
}
.navbar-toggler {
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 0;
}
.navbar .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(42,49,53, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }

@media screen and (max-width: 768px) {
    .navbar .navbar-nav .nav-item.actu { margin-left: 0; }
    .navbar .navbar-nav .nav-item.actu a,
    .navbar .navbar-nav .nav-item.actu.active a { background-color: transparent; }
}


/*--------------------------------------------------------------
    Vertical Menu
--------------------------------------------------------------*/

.vertical-menu {
    position: fixed;
    background-color: #eaeaea;
    width: 7rem;
    right: 1rem;
    text-align: center;
    padding: 1.5rem 0;
    z-index: 250;
    top: 50%;
    transform: translateY(-50%);
}
.vertical-menu a {
    color: black;
    display: block;
    padding: 0.4em;
    text-decoration: none;
    font-size: 1.1rem;
	line-height: 1.2;
    text-transform: uppercase;
}
.vertical-menu a:hover { background-color: #ccc; }
.vertical-menu a.btn-contact { color: #f6953a; }

.vertical-menu .nav { 
    display: inline-flex;
    padding-top: 0.5rem;
}
.vertical-menu .nav .icon-button { background-color: #f6953a; }
.vertical-menu .nav .icon-button i { color: #eaeaea; }

@media screen and (max-width: 768px) {
    .vertical-menu { display: none; }
}


/*--------------------------------------------------------------
    Breadcrumb
--------------------------------------------------------------*/

.breadcrumb {
    list-style: none;
    background-color: transparent;
    border-radius: 0;
    font-size: 0.9rem;
    text-align: center;
    display: block;
    margin: 0 auto;
}
.breadcrumb-item + .breadcrumb-item::before {
    color: #f6953a;
    padding-right: .2rem;
    content: ">";
}
.breadcrumb li.breadcrumb-item { display: inline-block; }
.breadcrumb li.breadcrumb-item a,
.breadcrumb li.breadcrumb-item strong {
    color: #333;
    font-size: 1.1rem;
    text-decoration: none !important;
}
.breadcrumb li.breadcrumb-item .bread-current {
    color: #333;
    padding-left: 0;
}


/*--------------------------------------------------------------
    Carousel
--------------------------------------------------------------*/

#carousel h2,
#carousel p,
#carousel li { 
    font-size: 1.3rem;
}

.carousel .carousel-indicators li {
    width: 15px;
    height: 15px;
    background-color: #4d4d4d;
    border-radius: 50%;
}


/*--------------------------------------------------------------
    Actualités
--------------------------------------------------------------*/

#actualites { 
    background-color: #fff;
    position: relative;
}
#actualites .btn-actualites {
    display: block;
    height: auto;
    padding: 5px 10px;
    color: #333;
    background-color: #f6953a;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin: auto;
    text-transform: uppercase;
    float: right;
}

#actualites .card .border { border: 10px solid #ffa34d !important; }
#actualites .card .card-body { padding: 1.25rem 0; }
#actualites .card .card-body .btn {
    color: #ffa34d;
    text-transform: uppercase;
    background-color: #242a2e;
    border-color: #242a2e;
    float: right;
    margin-top: 1rem;
    border-radius: 0;
}


/*--------------------------------------------------------------
    Single
--------------------------------------------------------------*/

#single .border { border: 10px solid #ffa34d !important; }


/*--------------------------------------------------------------
    Historique
--------------------------------------------------------------*/

#historique .timeline {
    width: 100%;
    max-width: 60rem;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-bottom: 4rem;
    padding-left: 2rem;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#f6953a), to(#f6953a));
    background-image: linear-gradient(#f6953a, #f6953a);
    background-size: 18px 100%;
    background-position: 50% 1rem;
    background-repeat: no-repeat;
}
#historique .timeline:after {
    content: "";
    display: table;
    clear: both;
}
#historique .timeline .item {
    position: relative;
    display: block;
    width: 50%;
    float: left;
    clear: both;
    margin-top: -1rem;
    text-align: justify;
}
#historique .timeline .item:first-child { margin-top: 0; }
#historique .timeline .item:nth-child(odd) {
    float: right;
    padding-left: 2rem;
    padding-top: 1rem;
}
#historique .timeline .item:nth-child(odd):before { left: -0.5rem; }
#historique .timeline .item:nth-child(even) { padding-right: 2rem; }
#historique .timeline .item:nth-child(even):before { right: -0.5rem; }
#historique .timeline .item h3 {
    display: block;
    margin-bottom: 1rem;
}
#historique .timeline .item:nth-child(even) p,
#historique .timeline .item:nth-child(even) h3 { text-align: right; }

@media (max-width: 768px) {
    #historique .timeline { background-position: 2rem 0; }
    #historique .timeline .item {
        width: 100%;
        float: none;
        margin-top: 0;
        margin-bottom: 3rem;
    }
    #historique .timeline .item:nth-child(even) {
        padding-right: 0;
        padding-left: 2rem;
    }
    #historique .timeline .item:nth-child(even):before { left: -0.5rem; }
    #historique .timeline .item:nth-child(even) h3 { text-align: left; }
}


/*--------------------------------------------------------------
    Batiment
--------------------------------------------------------------*/

#batiment {
    background: rgb(82,92,97);
    background: radial-gradient(circle, rgba(82,92,97,1) 0%, rgba(37,43,46,1) 100%);
}
#batiment h2,
#batiment p,
#batiment li { color: #fff; }


/*--------------------------------------------------------------
    Equipe / Zone Intervention
--------------------------------------------------------------*/

#equipe .parallax,
#intervention .parallax {
    background-position: bottom;
    background-size: cover;
    padding: 4rem 0 2rem;
    background-repeat: no-repeat;
}
#intervention p,
#intervention li { color: #fff; }


/*--------------------------------------------------------------
    Contact
--------------------------------------------------------------*/

.contact {
    background: rgb(82,92,97);
    background: radial-gradient(circle, rgba(82,92,97,1) 0%, rgba(37,43,46,1) 100%);
    position: relative;
}
.contact:after {
    content: "";
    background: url(img/forme-contact.png) no-repeat;
    background-size: contain;
    background-position: bottom;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
}
.contact header { background: unset; }
.contact .page:before { display: none; }

.contact .breadcrumb li.breadcrumb-item,
.contact .breadcrumb li.breadcrumb-item a,
.contact .breadcrumb li.breadcrumb-item strong,
.contact .breadcrumb li.breadcrumb-item .bread-current { color: #fff; }

#contact {
    position: relative;
    z-index: 15;
}
#contact p,
#contact li {
    font-size: 1.2rem;
}
#contact .nav { display: inline-flex; }
#contact .nav h2 {
    color: #f6953a;
    padding-left: 1rem;
}
#contact .nav .icon-button { background-color: #f6953a; }
#contact .nav .icon-button i { color: #4d575b; }


/*--------------------------------------------------------------
    Contact (Form)
--------------------------------------------------------------*/

#contact-us .form {
    width: 100%;
    padding: 15px;
    background: #f8f8f8;
    border: 1px solid rgba(0, 0, 0, 0.075);
    margin-bottom: 15px;
    color: #727272 !important;
    font-size: 13px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
}
#contact-us .form:hover { border: 1px solid #f48a31; }
#contact-us .form:focus {
    color: #fff;
    outline: none;
    border: 1px solid #f48a31;
}
#contact-us textarea {
    height: 10rem;
    max-height: 10rem;
    max-width: 100%;
}
#contact-us .form-btn {
    display: block;
    height: auto;
    padding: 15px;
    color: #333;
    background-color: #f6953a;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin: auto;
    text-transform: uppercase;
    float: right;
}
#contact-us .form-btn:hover {
    background-color: #333;
    color: #fff;
    border: none;
}
#contact-us .form-btn:active { opacity: 0.9; }
#contact-us .wpcf7-list-item { margin: 0 !important; }

.grecaptcha-badge { display: none !important; }


/*--------------------------------------------------------------
    Footer
--------------------------------------------------------------*/

footer { 
    background-color: #fff;
    position: relative;
}
footer .pre-footer { border-top: 1px solid #c5c5c5; }
footer .pre-footer ul.nav_footer {
    list-style-type: none;
    padding: 0;
    margin-bottom: 1.5rem;
}
footer .pre-footer ul.nav_footer:last-of-type { margin-bottom: 0; }
footer .pre-footer ul.nav_footer li { 
    list-style: none;
    padding: 0;
}
footer .pre-footer ul.nav_footer li:before { display: none; }
footer .pre-footer ul.nav_footer li a {
    color: #333;
    font-size: 1.2rem;
}
footer .pre-footer ul.nav_footer li a:hover { text-decoration: underline; }

footer .pre-footer .card { border: 0; }
footer .pre-footer .card .card-body { padding: 1.25rem 0; }
footer .pre-footer .card .card-body .card-text {
    color: #867a64;
    font-size: 0.8rem;
}

footer .footer {
    color: #333;
    padding-bottom: 2rem;
}
footer .footer p {
    font-size: 1em;
    color: #fff;
    padding-bottom: 0px;
    margin-bottom: 0.5em;
}
footer .footer a { color: #333; }

footer .nav .icon-button { background-color: #333; }
footer .nav .icon-button i { color: #fff; }

@media screen and (max-width: 576px) {
    footer .pre-footer ul.nav_footer { text-align: center; }
}


/*--------------------------------------------------------------
    Fermeture / Metallerie
--------------------------------------------------------------*/

#matallerie-fermeture .card-img { max-width: unset; }


/*--------------------------------------------------------------
    Logo Slider
--------------------------------------------------------------*/

#logo-slider { padding-top: 0; }
#logo-slider .slick-slide { margin: 0px 20px; }
#logo-slider .slick-slide img { width: 100%; }
#logo-slider .slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
#logo-slider .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
#logo-slider .slick-list:focus { outline: none; }
#logo-slider .slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
#logo-slider .slick-slider .slick-track,
#logo-slider .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
#logo-slider .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
}
#logo-slider .slick-track:before,
#logo-slider .slick-track:after {
    display: table;
    content: '';
}
#logo-slider .slick-track:after { clear: both; }
#logo-slider .slick-loading .slick-track { visibility: hidden; }
#logo-slider .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
#logo-slider [dir='rtl'] .slick-slide { float: right; }
#logo-slider .slick-slide img { display: block; }
#logo-slider .slick-slide.slick-loading img { display: none; }
#logo-slider .slick-slide.dragging img { pointer-events: none; }
#logo-slider .slick-initialized .slick-slide { display: block; }
#logo-slider .slick-loading .slick-slide { visibility: hidden; }
#logo-slider .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
#logo-slider .slick-arrow.slick-hidden { display: none; }


/*--------------------------------------------------------------
    Social
--------------------------------------------------------------*/

.icon-button {
    background-color: #fff;
    border-radius: 3rem;
    cursor: pointer;
    display: inline-block;
    font-size: 1.2rem;
    height: 2rem;
    line-height: 2rem;
    margin: 0 3px;
    position: relative;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 2rem;
}
.icon-button span {
    border-radius: 0;
    display: block;
    height: 0;
    left: 50%;
    margin: 0;
    position: absolute;
    top: 50%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    width: 0;
}
.icon-button:hover span {
    width: 2rem;
    height: 2rem;
    border-radius: 3rem;
    margin: -1rem;
}
.icon-button i {
    background: none;
    color: #2f363b;
    height: 2rem;
    left: 0;
    line-height: 2rem;
    position: absolute;
    top: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    width: 2rem;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
}
.icon-button:hover i { color: #fff !important; }


/*--------------------------------------------------------------
    Card Img
--------------------------------------------------------------*/

.card-img {
    background: #f6953a;
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 400px;
    text-align: center;
    border-radius: 0;
    display: table;
    margin: 0 auto;
}
.card-img * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}
.card-img img {
    max-width: 100%;
    vertical-align: top;
}
.card-img i {
    color: #ea6c1f;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    font-size: 34px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    transition: all 300ms 0ms cubic-bezier(0.6, -0.28, 0.735, 0.045);
}
.card-img a {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
}
.card-img:hover img {
    opacity: 0.3;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}
.card-img:hover i {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    transition: all 300ms 100ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}


/*--------------------------------------------------------------
    Pagination
--------------------------------------------------------------*/

.page-numbers { 
    color: #333;
    font-size: 1.1rem;
    padding: 0.5em;
}
.page-numbers:after {
    content: '';
    display: inline-block;
    position: relative;
    right: -9px;
    width: 7px;
    height: 7px;
    border: 2px solid;
    box-sizing: border-box;
    color: #f6953a;
    top: -1px;
    border-radius: 50%;
}
.page-numbers:last-child:after { display: none !important; }
.page-numbers.current {
    font-family: 'Barlow Bo', Helvetica, sans-serif;
    color: #f08118;
}


/*--------------------------------------------------------------
    Back to Top
--------------------------------------------------------------*/

div.btn-back-to-top {
    padding: 0.5rem 1rem;
    position: fixed;
    right: 1rem;
    bottom: 2rem;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    -webkit-transform: translateY(200%);
    transform: translateY(200%);
    border-radius: 0;
}
div.btn-back-to-top.scrolled {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
div.btn-top span { 
    color: #f48a31;
    font-size: 2.8em;
    font-weight: 900;
}
div.btn-top span:active,
div.btn-top span:focus,
div.btn-top span:hover {color: #333; }


/*--------------------------------------------------------------
    404
--------------------------------------------------------------*/

.erreur {
    height: 450px;
    background-color: #fff;
}
.erreur .text-wrapper {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.erreur .title {
    font-size: 5em;
    font-weight: 700;
    color: #333;
    position: relative;
    text-align: center;
}
.erreur .subtitle {
    font-size: 1.5em;
    font-weight: 700;
    color: #f6953a;
    position: relative;
    text-align: center;
}
.erreur .buttons { margin-top: 4em; }
.erreur .buttons a.button {
    background-color: #f6953a;
    font-weight: 700;
    border: 2px solid #f6953a;
    text-decoration: none;
    padding: 15px;
    text-transform: uppercase;
    color: white;
    border-radius: 26px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.erreur .buttons a.button:hover {
    background-color: #ffffff;
    color: #f6953a;
    border: 2px solid #f6953a;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.erreur .subtitle:before,
.erreur .title:before {
    content: attr(data-content);
    position: absolute;
    left: -2px;
    text-shadow: 1px 0 blue;
    top: 0;
    color: white;
    overflow: hidden;
    clip: rect(0, 900px, 0, 0);
    -webkit-animation: noise-anim-2 3s infinite linear alternate-reverse;
    animation: noise-anim-2 3s infinite linear alternate-reverse;
}