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


/*-----------------*/
/* VARIABLES */
/*-----------------*/
:root {
    /*COLORS*/
    --primary-color: #c73228;
    --secondary-color: #6f1712;

    --title-color: #1e1e1e;
    --text-color: #444444;
    --background-color: #FFF;
    --light-color: #fbf0f0;
    --light-gray: #f5f2f2;
    --white: #FFFFFF;
    --black: #000000;
    --border-radius: 16px;
    --base-padding:  100px 30px;

    /*FONTS*/
    --font-title: Nunito, serif;
    --font-text: Nunito, sans-serif;
}



/*-----------------*/
/* BODY */
/*-----------------*/
html {margin-top: 0 !important;}
body {
    background-color: var(--background-color);
    font-size: 16px;
    line-height: 1.6;
    font-family: var(--font-text);
    top: 0 !important;
    color: var(--text-color);
    -webkit-font-smoothing: antialiased;
    position: relative;
    font-weight: 300;
}
.wrapper{
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

/*-----------------*/
/* TITRES */
/*-----------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
    font-family: var(--font-title);
    color: var(--title-color);
    font-weight: 700;
}
h1 {
    font-size: 40px;
    margin-bottom: 40px;
    margin-top: 0;
}

h2 {
    font-size: 34px;
    margin-bottom: 30px;
    margin-top: 2em;
}

h3 {
    font-size: 28px;
    margin-top: 40px;
    margin-bottom: 20px;
}

h4 {
    font-size: 25px;
    margin-top: 30px;
    margin-bottom: 15px;
}

h5 {
    font-size: 22px;
    margin-top: 20px;
    margin-bottom: 10px;
}

h6 {
    font-size: 20px;
    margin-top: 20px;
    margin-bottom: 10px;
}
.title {
    position: relative;
    z-index: 2;
    margin-bottom: 30px;
    display: block;
}

.title>h1,
.title>h2,
.title>h3,
.title>h4 {margin: 0;}

.title.text-center{
    margin-bottom: 80px;
}
.title:not(.no-after):after {
    content: "";
    background:var(--primary-color);
    width: 60px;
    display: block;
    height: 3px;
    margin: 16px 0;
    position: relative;
    left: 0;
    bottom: 0;
}

.title.text-center:not(.no-after):after {
    margin-left: -50px;
    left: 50%;
}

.title small {
	font-weight: bold;
	color: var(--primary-color);
	font-size: 14px;
	text-transform: initial;
	letter-spacing: 0;
	display: block;
	line-height: 1;
	text-shadow: none;
	padding-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-family: var(--font-text);
}
.title.white small{color: var(--tertiary-color);}
.title:not(.no-after).white:after{
    background-image: url(../img/separator-light.svg);
}

.accroche{
    max-width: 700px;
    margin: 10px auto 30px;
}

/*-----------------*/
/* COLOR */
/*-----------------*/
.white,
.white h2,
.white h3,
.white h1,
.white .has-medium-font-size {color: var(--white);}

/*-----------------*/
/* ALIGNEMENT */
/*-----------------*/
.text-center{text-align: center;}
.text-right {text-align: right;}
.text-left {text-align: left;}


/*-----------------*/
/* VISIBILITY */
/*-----------------*/
.hidden {display: none;}

/*-----------------*/
/* Image */
/*-----------------*/
img.cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
img.contain {
    object-fit: contain;
    max-width: 100%;
}
.wp-block-image img{
	 object-fit: contain;
}
.wp-block-image.aligncenter{margin:auto}
.wp-element-caption{
	text-align: center;
	font-size: 14px;
}
/*-----------------*/
/* TEXTES */
/*-----------------*/
strong{font-weight: 800;}
.content p {margin-bottom: 1em;}

.content strong, 
.content b{color: var(--primary-color);}

.has-medium-font-size{
    text-transform: uppercase;
    font-size: 18px!important;
    color: var(--title-color);
    font-weight: 500;
}

.content ol,
.content ul {margin: 0 0 16px 25px;}

.content ol {list-style-type: decimal;}

.content ol li {
    padding: 2px 0;
    position: relative;
}

.content ul li {
    padding: 2px 0 2px 20px;
    position: relative;
}

.content ul:not(.no-bullet) li:before {
    content: "";
    position: absolute;
    left: 3px;
    background-color: var(--primary-color);
    top: 13px;
    width: 6px;
    display: block;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    height: 6px;
    border-radius: 100px;
}
.content .has-background{background-color: var(--light-color)!important;}

.bottom-line{
	margin-top: 30px;
	padding-top: 30px;
	border-top: solid 1px rgba(0,0,0,.1);
}

.top-line{
	margin-bottom: 40px;
	padding-bottom: 0px;
	border-bottom: solid 1px rgba(0,0,0,.1);
}

.wp-block-separator{
	position: relative;
	margin: 70px 0;
	border: none;
}
.wp-block-separator:before, 
.wp-block-separator:after {
    content: " ";
    display: block;
    position: absolute;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    top: 13px;
    border-color: #e9e9e9;
}
.wp-block-separator:before{
    left: 0;
    right: 50%;
    margin-right: 13px;
}
.wp-block-separator:after{
    right: 0;
    left: 50%;
    margin-left: 13px;
}
.wp-block-separator span{
	--size: 30px;
	width: var(--size);
	height: var(--size);
	margin: 0 auto;
	border: 1px solid currentColor;
	border-radius: 100px;
	color: #e9e9e9;
	display: block;
}
.wp-block-separator span:before{
	--size: 16px;
	content: " ";
	display: block;
	width: var(--size);
	height: var(--size);
	margin: 5px;
	border: 1px solid currentColor;
	border-radius: 100px;
}

.callout {
    position: relative;
    margin: 0 0 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(10, 10, 10, 0.25);
    border-radius: 0;
    background-color: white;
}

.callout.success {background-color: #e1faea;}
.callout.warning {background-color: #fff3d9;}
.callout.alert {background-color: #f7e4e1;}

/*-----------------*/
/* LIENS + BOUTONS */
/*-----------------*/
a {
    text-decoration: none!important;
    color: var(--primary-color);
    cursor: pointer;
    transition: 250ms all ease-in-out;
}

.no-underline {
    background: none !important;
    border: none !important;
}

#content .content a:not([class*="button"], [class*="no-decoration"]), 
#content .content a:not([class*="button"], [class*="no-decoration"]) strong{
    color: var(--primary-color);
    position: relative;
    line-height: 1;
    border-bottom: 1px solid;
    transition: color 0.3s ease-in-out;
    background-image: linear-gradient(to bottom, transparent 20%, var(--secondary-color) 21% );
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: all 0.5s ease-in-out 0.2s;
}

#content .content a:not([class*="button"],[class*="no-decoration"]):hover, 
#content .content a:not([class*="button"],[class*="no-decoration"]):hover strong{
	background-size: 100% 2px;
	transition-delay: 0s;
	color: var(--secondary-color);
}


.forminator-button,
.button,
.wp-block-button__link{
    background: none;
    border: none;
    font-family: var(--font-text);
    background-color: var(--primary-color);
    padding: 14px 25px;
    font-size: 12px;
    font-weight: bold;
    color: var(--white);
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
    letter-spacing: 1px;
    position: relative;
    z-index: 2;
    border-radius: 0;
    overflow: hidden;
    display: inline-block;
    transition: 250ms all ease-in-out;
}
.button.small {
    padding: 10px 15px;
    font-size: 10px;
}
.button.hollow{
    background-color: transparent;
    color: var(--primary-color);
    border: solid;
}
.button.hollow.white{
    background-color: transparent;
    color: var(--white)
}
.button:hover,
.wp-block-button__link:hover{
    background-color: var(--secondary-color);
    color: var(--white);
    border-color: var(--secondary-color);
}

.button.radius{border-radius: 100px;}

/* ------------------------- */
/* GUTENBERG MEDIA-TEXT */
/* ------------------------- */
.wp-block-media-text__media {
    height: 100%;
    width: auto;
    position: relative;
}

.wp-block-media-text__media img {
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.wp-block-media-text {
    overflow: hidden;
    margin-bottom: 5em;
    justify-content: end;
    width: 100%;
    grid-template-columns: 2fr 3fr !important;
}

.wp-block-media-text.has-media-on-the-right {
    justify-content: start;
    grid-template-columns: 3fr 2fr !important;
}

.wp-block-media-text {position: relative;}

.wp-block-media-text__content {
    padding: 50px 0 50px 50px!important;
    width: 100%;
    min-width: 100%;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {padding: 50px 50px 50px 0!important;}

.wp-block-media-text__content p:last-child {margin-bottom: 0em;}

.wp-block-media-text h2:first-child,
.wp-block-media-text h3:first-child,
.wp-block-media-text.has-media-on-the-right p.has-large-font-size {
    right: 0;
    left: inherit;
    margin-top: 0;
}


.wp-block-column > .wp-block-heading,
.wp-block-cover__inner-container > .wp-block-heading{margin-top: 0;}
/* ------------------------- */
/* BLOC GALLERY */
/* ------------------------- */
.gallery .gallery-item a {
    border: none !important;
    background: none !important;
    display: block;
}
.gallery .gallery-item .gallery-icon a {
    width: 100% !important;
    display: block;
}
.gallery .gallery-item .gallery-icon a img{
	object-fit: cover;
    width: 100%;
    height: 100%;
}

.gallery.ckslider {
    flex-wrap: nowrap;
}

.gallery .gallery-item .gallery-icon {
    height: 100%;
}

.gallery.ckslider:not(.gutbloc-slidegalerie) .gallery-item {
    min-width: calc(100% / 6);
    width: auto !important;
    position: relative;
    overflow: hidden;
    height: 350px;
    cursor: zoom-in;
}

.gallery_zoom {
    position: absolute;
    z-index: 999;
    left: 50%;
    top: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px!important;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

.gallery_zoom:before,
.gallery_zoom:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transition: background-color 0.2s ease-in-out, transform 0.4s ease-in-out;
    background-color: var(--white);
}

.gallery_zoom:before {
    width: 40px;
    height: 2px;
    margin: -1px 0 0 -20px;
    transform: translateX(-50px);

}

.gallery_zoom:after {
    width: 2px;
    height: 40px;
    margin: -20px 0 0 -1px;
    transform: translateY(-50px);
}

.gallery .gallery-item:hover .gallery_zoom,
.bwg-item .bwg-a:hover .gallery_zoom{
    opacity: 1;
}

.gallery .gallery-item:hover .gallery_zoom:before,
.bwg-item .bwg-a:hover .gallery_zoom:before{
    transform: translateX(0px);
}

.gallery .gallery-item:hover .gallery_zoom:after,
.bwg-item .bwg-a:hover .gallery_zoom:after{
    transform: translateY(0px);
}

.gallery .gallery-item a:after {
    content: "";
    left: 50%;
    top: 50%;
    position: absolute;
    transform: translateY(-50%) translateX(-50%);
    background-color: var(--primary-color);
    opacity: 0;
    transition: 250ms all ease-in-out;
    z-index: -1;
}

.gallery .gallery-item {
    overflow: hidden;
    margin: 0 !important;
}

.gallery .gallery-item a:not(.title_content, .button) {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    width: 100%;
    display: block;
    height: 100%;
}

.gallery .gallery-item:hover a:not(.title_content):after {
    width: 100%;
    height: 100%;
    opacity: 0.8;
}

.gallery a.title_content {
    color: var(--white);
}

.gallery .gallery-item a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: 500ms all ease-in-out;
    transition: transform 1s cubic-bezier(.215, .61, .355, 1);
    z-index: -1;
    position: relative;
}

.gallery .gallery-item:hover img {
    transform: scale(1.1);
}

.gallery .gallery-item .wp-element-caption {
    position: absolute;
    left: 0;
    bottom: 10px;
    text-align: center;
    opacity: 0;
    z-index: 2;
    font-weight: bold;
    color: var(--white);
    right: 0;
    transform: translateY(150%);
    text-transform: uppercase;
    font-size: 11px !important;
    line-height: 1.2;
    margin: 0;
}

.gallery .gallery-item:hover .wp-element-caption {
    opacity: 1;
    transition: all .3s ease-in-out 0s;
    -webkit-transition: all .3s ease-in-out 0s;
    transform: translateY(0);
}

#content .content .gallery {
	 display: grid;
	 grid-auto-rows: 250px;
	 grid-gap: 3px;
	 grid-template-columns: repeat(3, 1fr);
	 position: relative;
	 z-index: 1;
}
#content .content .gallery  .gallery-item{
	width: 100%!important;
	margin: 0!important;
	position: relative;
	height: 100%;
}

/*-----------------*/
/* LIGHTBOX */
/*-----------------*/
.fbx-inner.fbx-inner-shadow{
    border: none!important;
}
.fbx-rounded .fbx-prev,
.fbx-rounded .fbx-next{
	background: var(--black);
	color: var(--white)!important;
}
.fbx-rounded .fbx-prev{
	left: -36px;
}
.fbx-rounded .fbx-next{
	right: -36px;
}
.fbx-close.fbx-btn-shadow{
	background: var(--black);
	border-color: var(--black)!important;
	color: var(--white)!important;
}


/*-----------------*/
/* FORMULAIRE */
/*-----------------*/
#content .forminator-row{margin-bottom: 5px;}
#content .forminator-input{padding: 6px 0;}
body.admin-bar>.forminator-select.forminator-select-dropdown-container--open {
    margin-top: 0!important;
}
.forminator-field-textarea{margin-top: 20px;}
.forminator-edit-module{display: none;}
.forminator-button {
    background: none;
    border: none;
    font-family: var(--font-text)!important;
    padding: 14px 25px!important;
    font-size: 12px!important;
    font-weight: bold!important;
}
#content .forminator-label.forminator-floating--textarea{padding-top: 14px!important;}
#content .forminator-ui.forminator-custom-form[data-design=material] .forminator-is_active .forminator-floating--textarea,
#content .forminator-ui.forminator-custom-form[data-design=material] .forminator-is_filled .forminator-floating--textarea {padding-top: 10px !important;}
.forminator-required{color: red;}