/*
Theme Name: Centre Funéraire de Mulhouse
Theme URI: http://wigo-media.com
Author: the WigoMedia team
Author URI: http://wigo-media.com/
Description: Thème wordpress du centre Funéraire de Mulhouse.
Version: 1.0
*/

/* # Fonts # */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Playfair+Display:wght@700&display=swap');

/* # Initialize # */
*,::after,::before{box-sizing:border-box}
body{margin: 0; color: #1B1B1B; font-size: 16px; font-family: 'Inter', sans-serif;}
p, span, li{line-height: 170%; margin-bottom: 0.938rem; margin-top: 0}
li{margin-bottom: 0.5rem;}
small{font-size: 0.813rem;}
.position-relative{position: relative;}
.overflow-hidden{overflow: hidden;}
#app{position: relative; overflow: hidden;}
.archive #app{overflow: initial;}

/* # Size # */
h1, .h1{font-family: 'Playfair Display', serif; font-size: 2.5rem; margin-top: 0.75rem; text-align: center;}
h2, .h2{font-family: 'Playfair Display', serif; font-size: 2rem!important; line-height: 2.8rem}
h3, .h3{font-family: 'Playfair Display', serif; font-size: 1.5rem;}

.lead, .has-medium-font-size{font-size: 1.125rem!important; font-weight: 600;}
.lead-normal{font-weight: 400;}

figcaption{color: #848484; font-size: .75rem;}

/* # Color # */
.text-primary{color: #11687B!important;}
.text-secondary{color: #848484!important;}
.text-white{color: #ffffff!important;}

.has-grey-color{color: #848484;}
.has-black-color{color: #1B1B1B;}
.has-white-color{color: #FFFFFF;}
.has-light-color{color: #F1FAFF;}
.has-info-color{color: #269FBA;}
.has-medium-blue-color{color: #238196;}
.has-primary-color{color: #11687B;}

.bg-primary{background-color: #238196;}
.bg-light{background-color: #F1FAFF;}

.has-grey-background-color{background-color: #848484;}
.has-black-background-color{background-color: #1B1B1B;}
.has-white-background-color{background-color: #FFFFFF;}
.has-light-background-color{background-color: #F1FAFF;}
.has-info-background-color{background-color: #269FBA;}
.has-medium-blue-background-color{background-color: #238196;}
.has-primary-background-color{background-color: #11687B;}

/* # Buttons # */
.btn, .wp-block-button__link{padding: 1rem 2rem; font-weight: 600; display: inline-block; text-decoration: none!important; transition: 350ms ease; width: auto;}
.btn.btn-outline{border: 1px solid transparent;}
.btn.btn-sm{padding: 0.65rem 1rem;}

.btn.btn-primary{background-color: #269FBA; color: white;}
.btn.btn-primary:hover{background-color: #238196;}

.btn.btn-outline.btn-outline-white{border-color: white; color: white}
.btn.btn-outline.btn-outline-white:hover{background-color: white; color: #11687B}

.wp-block-button__link{border-radius: 0; font-size: 1rem}

/* # Structure # */
main{padding-top: 140px; padding-bottom: 70px; position: relative;}
body:not(.home) main:after{content: ""; position: absolute; top: 140px; background-repeat: no-repeat; background-position: center; background-image: url(img/lines/top-page-lines.svg); z-index: -1; width: 100%; height: 350px; position:absolute;}
body:not(.home) main:before{content: "";position: absolute; z-index: -1; top: 140px; left: 0; width: 100%; height: 350px; background: linear-gradient(180deg, #F1FAFF 0%, rgba(241, 250, 255, 0.115385) 100%);}
main .page-content{z-index: 3; position: relative;}

.middle-index-lines{position: absolute; top: 500px; z-index: -1; right: 0; transform: translateX(85%);}
.home .middle-index-lines{right: 40%; top: 18%; transform: translateX(50%)}

/* # Header # */
header{background-color: white; z-index: 1000; position: fixed; top: 0; left: 0; width: 100%; filter: drop-shadow(0px 4px 50px rgba(11, 77, 114, 0.2));}
.admin-bar header{top: 32px;}

header .header-top{border-bottom: 1px solid rgba(11, 77, 114, 0.14);}
header .header-top .header-top-infos{padding: 0; list-style: none; margin: 0; text-align: right;}
header .header-top .header-top-infos li{margin-bottom: 0; display: inline-block;}
header .header-top .header-top-infos li a{text-decoration: none;}
header .header-top .header-top-infos li a:hover{text-decoration: underline;}
header .header-top .header-top-infos li br{display: none;}

header .header-bottom .logo{max-width: 100%}
header .header-bottom .menu{list-style: none; padding: 0; margin: 0; display: flex; justify-content: flex-end; align-items: center;}
header .header-bottom .menu > li{margin-bottom: 0; position: relative;}
header .header-bottom .menu > li > a{color: #1B1B1B; text-decoration: none; transition: 400ms ease; display: block; padding: 35px 13px 30px; border-bottom: 5px solid transparent;}
header .header-bottom .menu > li:hover > a{border-color: #D9D9D9;}
header .header-bottom .menu > li.current-menu-item > a,
header .header-bottom .menu > li.current-menu-ancestor > a{font-weight: 700; color: #269FBA; border-color: #269FBA;}
header .header-bottom .menu > li:last-child > a{padding: 11px 15px; transition: 350ms ease; font-weight: 600; margin-left: 5px; border: none; color: white; background-color: #269FBA;}
header .header-bottom .menu > li:last-child > a:hover{background-color: #238196; transform: scale(1.015);}

header .header-bottom .menu .sub-menu{list-style: none; transition: 400ms ease; opacity: 0; pointer-events: none; position: absolute; bottom: 0; width: max-content; max-width: 335px; transform: translateY(100%); padding: 0; margin: 0; background-color: white; padding: 15px 0; box-shadow: 0px 20px 44px -10px rgba(11, 77, 114, 0.25);}
header .header-bottom .menu > li:hover .sub-menu{opacity: 1; pointer-events: initial;}
header .header-bottom .menu .sub-menu li{margin-bottom: 0;}
header .header-bottom .menu .sub-menu li a{color: #1B1B1B; transition: 400ms ease; padding: 12px 30px; line-height: 140%; display: block; text-decoration: none;}
header .header-bottom .menu .sub-menu li a:hover{background-color: #F1FAFF;}
header .header-bottom .menu .sub-menu li a small{line-height: 140%; display: block;}

/* # Top page # */
.top-page{position: relative;}
.top-page .lead{text-align: center;}

.home .top-page{height: 550px; padding-top: 140px; z-index: 1}
.home .top-page:before{content: ""; z-index: 1; background: linear-gradient(180deg, rgba(12, 84, 100, 0.8) 0%, rgba(11, 77, 114, 0) 100%); position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.home .top-page .img-illustration{width: 100%; position: absolute;top: 0; height: 100%; object-fit: cover}
.home .top-page .top-page-content{position: relative; z-index: 2;}
.home .top-page .h3{font-family: 'Inter', sans-serif; text-align: center;}
.home .top-page .top-swiper-gallery{position: absolute; width: 100%; top: 0; left: 0; z-index: 0; height: 100%}
.home .top-page .top-swiper-gallery .swiper-slide img{height: 100%; width: 100%; object-fit: cover}

/* # Home # */
.home .wp-block-columns > div:first-child figure:first-child{display: flex; padding-right: 8%; justify-content: flex-end}
.home .wp-block-columns > div:first-child figure:first-child img{width: 120%; max-width: initial;}
.home .wp-block-columns > div:last-child figure:first-child{padding-left: 8%;}
.home .wp-block-columns > div:last-child figure:first-child img{width: 120%; max-width: initial;}

.home .wp-block-columns > div:first-child figure:first-child a.fancybox{display:block; min-width: 120%;}
.home .wp-block-columns > div:last-child figure:first-child a.fancybox{display:block; min-width: 120%;}
.home .wp-block-columns > div:first-child figure:first-child a.fancybox img{width: 100%;}
.home .wp-block-columns > div:last-child figure:first-child a.fancybox img{width: 100%;}


/* # Top hightlight links # */
.top-highlight-links{position: relative; z-index: 2}
.top-highlight-links:after{content: ""; position: absolute; top: 0px; background-position: center; background-image: url(img/lines/top-front-page-lines.svg); z-index: -1; width: 100%; height: 350px; position:absolute;}
.top-highlight-links:before{content: "";position: absolute; z-index: -1; top: 0px; left: 0; width: 100%; height: 600px; background: linear-gradient(180deg, #F1FAFF 0%, rgba(241, 250, 255, 0.115385) 100%);}

.top-highlight-links .top-highlight-links-wrapper{margin-top: -130px}

.top-highlight-links .highlight-link a{display: block; transition: 350ms ease; text-decoration: none; text-align: center;}
.top-highlight-links .highlight-link a:hover{transform: scale(1.025);}
.top-highlight-links .highlight-link a img{width: 100px; margin-bottom: -45px; transition: 350ms ease;}
.top-highlight-links .highlight-link a:hover img{transform: scale(1.05);}
.top-highlight-links .highlight-link a div{box-shadow: 0px 25px 34px -12px rgba(11, 77, 114, 0.3); background-color: white; padding: 3.25rem 0.8rem 2rem; text-align: center;}
.top-highlight-links .highlight-link a div p{margin-bottom: 0.5rem;}
.top-highlight-links .highlight-link a div span{margin-bottom: 1rem; display: block; line-height: 19px; color: #1B1B1B;}
.top-highlight-links .highlight-link a div .link{margin-bottom: 0; font-weight: bold;}

/* # Banner # */
.wp-block-cover, .wp-block-cover-image{min-height: auto; padding: 3rem 3em;}
.wp-block-cover h2, .wp-block-cover-image h2,
.wp-block-cover h3, .wp-block-cover-image h3{margin-top: 0;}

.wp-block-cover.is-style-full-width{width: calc(100vw - 8px); position: relative;margin-left: -50vw; left: 50%;}
.wp-block-cover.is-style-with-lines .wp-block-cover__background:before{content:""; position:absolute; top:0; left:0; width:100%; height:100%; background: url(img/lines/banner-lines.svg); background-position: top right; background-size: cover;}

/* # Shadow list # */
.is-style-shadow-list{list-style: none; padding: 0; margin: 0; display: flex; align-items: flex-start; flex-wrap: wrap;}
.is-style-shadow-list li{height: 100px; display: inline-flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 0.5rem; line-height: 20px; margin: 0 0.5rem 1.8rem; width: calc(((100% / 3) - 3px) - 1rem); background-color: white; box-shadow: 0px 12px 16px -11px rgba(11, 77, 114, 0.3);}
.is-style-shadow-list li strong{color: #11687B; font-size: 1.125rem}

/* # Map # */
.home iframe{border: 10px solid white!important}

/* # Breadcrumbs # */
#breadcrumbs{text-align: center;}
#breadcrumbs a{color: #848484}

/* # Services table # */
.services{background-color: white; width: 100%; border-spacing: 0}
.services tr td{padding: 1.25rem 1.5rem; color: black}
.services tr td:last-child{width: 20%; text-align: right;}
.services tr:nth-child(even) td{background-color: #F1FAFF;}

/* # FAQ # */
.faq-cat-list{}
.faq-cat-list a{color: #1B1B1B; transition: 350ms ease; padding: 1.5rem; display: flex; column-gap: 1rem; position: relative; text-decoration: none;}
.faq-cat-list a:before{content: ""; position: absolute; top: 0; right: 0; height: 100%; width: calc(100% - (45px + 1.5rem)); background-color: white; box-shadow: 0px 4px 50px rgba(11, 77, 114, 0.2); z-index: -1}
.faq-cat-list a.wihout-icon:before{width: 100%}
.faq-cat-list a .img-wrapper{width: 90px; height: 90px; min-width: 90px; transition: 350ms ease; border-radius: 90px; border: 2px solid #11687B; display: flex; justify-content: center; align-items: center;}
.faq-cat-list a .img-wrapper img{width: 60%}
.faq-cat-list a div p {line-height: 1.3; text-align: left;}
.faq-cat-list a div span {display: block; text-align: left;}
.faq-cat-list a:hover{transform: scale(1.020);}
.faq-cat-list a:hover .img-wrapper{transform: scale(1.05);}

.faq-nav-wrapper{position: relative;}
.faq-nav{position: sticky; top: 175px}
.faq-nav, .faq-items{list-style: none; padding: 0; margin: 0}
.faq-nav li{margin-bottom: 0}
.faq-nav li a{padding: 0.8rem 1rem; font-size: 0.9rem; transition: 350ms ease; line-height: 135%; text-decoration: none; display: block; border-bottom: 1px solid rgba(11, 77, 114, 0.3); color: #11687B}
.faq-nav li a.current{background-color: #238196; color: white}

/* # Form # */
.gform_wrapper *{outline: none; font-family: 'Inter', sans-serif;}
.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.gform_wrapper select, .gform_wrapper textarea{height: 55px; border: 0; padding: 1rem!important}
.gform_wrapper .gform_footer{justify-content: flex-end;}
.gform_wrapper .gform_footer input[type="submit"]{color: #238196; transition: 350ms ease; height: 55px; padding: 0 2.5rem; cursor: pointer; border: 0; font-weight: bold;}
.gform_wrapper .gform_footer input[type="submit"]:hover{transform: scale(1.025);}
.gform_wrapper .gfield_description{margin-top: 0!important}

/* # Footer # */
footer{position: relative; z-index: 1}
footer a{color: white; text-decoration: none;}
footer a:hover{text-decoration: underline;}

footer .footer-top{padding: 3.75rem 0 6.25rem; background-image: url(img/lines/footer-lines.svg); background-position: center; background-repeat: no-repeat;}
@media screen and (min-width: 2000px){footer .footer-top{background-size: cover;}}

footer .footer-top p.lead{position: relative; padding-bottom: 0.7rem}
footer .footer-top p.lead:after{content: ""; display: block; width: 90px; height: 1px; background-color: white; position: absolute; left: 0; bottom: 0}
footer .footer-top .social-netwok-list{list-style: none; padding: 0; margin: 0; display: flex; align-items: center;}
footer .footer-top .menu{padding: 0; margin: 0; list-style: none;}

footer .footer-bottom{background-color: #11687B}
footer .footer-bottom small,
footer .footer-bottom a{opacity: 0.8}
footer .footer-bottom .col-menu-wrapper{text-align: right;}
footer .footer-bottom .menu-container{display: inline-block;}
footer .footer-bottom .menu{padding: 0; margin: 0; list-style: none; text-align: right;}
footer .footer-bottom .menu li{display: inline-block; margin: 0; line-height: initial; padding-left: 1rem}
footer .footer-bottom .menu li a{font-size: 0.813rem; text-decoration: underline;}

footer .madeby{font-size: 0.813rem; display: inline-block; margin-left: 1rem}
footer .madeby img{max-height: 13px; position: relative; top: 2px; width: auto;}

/* # Responsive # */
@media screen and (max-width: 1399px){

	/* # Structure # */
	main{padding-top: 138px}
	body:not(.home) main:before,
	body:not(.home) main:after{top: 138px}

	/* # Header # */
	header .header-bottom .menu li{font-size: 0.938rem}
	header .header-bottom .menu > li > a{padding: 35px 12px 30px}

}

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

	/* # Structure # */
	main{padding-top: 136px}
	body:not(.home) main:before{top: 136px}

	/* # Header # */
	header .header-bottom .menu li{font-size: 0.875rem}
	header .header-bottom .menu > li > a{padding: 35px 7px 30px}

}

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

	/* # Initialize # */
	body.open-menu{overflow: hidden; max-height: 100vh}

	/* # Structure # */
	main{padding-top: 90px}
	body:not(.home) main:before,
	body:not(.home) main:after{top: 90px}

	#breadcrumbs{font-size: 0.75rem}

	/* # Header # */
	header{padding: 18px 0; z-index: 1000}

	header .header-bottom{position: relative;}
	header .header-bottom:before{content: ""; z-index: 1001; position: fixed; left: 0; top: 0; transition: 350ms ease; transform: translateX(100%); width: 100%; height: 100%; background-color: #F1FAFF}
	.open-menu header .header-bottom:before{transform: translateX(0%);}
	header .header-bottom .logo-wrapper{position: relative; z-index: 1002}

	header .header-bottom .menu-wrapper{position: absolute; transition: 350ms ease; transform: translateX(100%); padding: 93px 0 115px; z-index: 1000; background-color: #F1FAFF; top: 0; left: 0; width: 100vw; height: 100vh; overflow: auto;}
	.open-menu header .header-bottom .menu-wrapper{transform: translateX(0%);}

	header .header-bottom .menu-mobile-switcher{position: relative; z-index: 1001; display: flex; height: 100%; justify-content: flex-end; align-items: center;}
	header .header-bottom .menu-mobile-switcher .close{position: absolute; transition: 350ms ease; top: 50%; right: 4px; transform: translateY(-50%) scale(0) rotate(20deg);}
	header .header-bottom .menu-mobile-switcher .open{transition: 350ms ease;}
	.open-menu header .header-bottom .menu-mobile-switcher .close{transform: translateY(-50%) scale(1) rotate(0deg);}
	.open-menu header .header-bottom .menu-mobile-switcher .open{transform: scale(0) rotate(-20deg);}

	header .header-bottom .menu{flex-direction: column;}
	header .header-bottom .menu li{font-size: 1rem; width: 100%}
	header .header-bottom .menu > li > a{padding: 15px calc(100% / 12);display: flex; justify-content: space-between; align-items: center; border-bottom: 0; border-left: 5px solid transparent; width: 100%; text-align: left;}
	header .header-bottom .menu > li:hover > a{border-color: transparent;}
	header .header-bottom .menu > li:last-child > a{margin-left: calc(100% / 12); width: calc(100% - ((100% / 12) * 2)); justify-content: center; margin-top: 15px}

	header .header-bottom .menu > li .sub-menu{opacity: 1; padding: 0; transition: 350ms ease; overflow: hidden; pointer-events: initial; position: relative; bottom: initial; top: 0; transform: translateY(0); width: 100%; max-width: none; box-shadow: none;}
	header .header-bottom .menu > li .sub-menu li:first-child{margin-top: 15px}
	header .header-bottom .menu > li .sub-menu li:last-child{margin-bottom: 15px}
	header .header-bottom .menu > li > a > i{transition: 250ms ease; color: #269FBA;}
	header .header-bottom .menu > li.sub-active > a > i{transform: rotate(180deg);}
	header .header-bottom .menu .sub-menu li a{padding: 10px calc((100% / 12) + 5px);}

	/* # Top hightlight links # */
	.top-highlight-links .highlight-link{padding: 0 0.25rem}
	.top-highlight-links .highlight-link a div{padding: 3.25rem 0.5rem 2rem;}
	.top-highlight-links .highlight-link a div span{font-size: 14px}
	.top-highlight-links .highlight-link a div br{display: none;}

	/* # Mobile fixed bottom btn # */
	.fixed-mobile-btn{filter: drop-shadow(0px -10px 50px rgba(11, 77, 114, 0.2)); position: fixed; bottom: 0; left: 0; width: 100%; display: flex; align-items: center; background-color: #11687B; z-index: 1001;}
	.fixed-mobile-btn a{text-align: center; font-size: 0.875rem; color: white; text-decoration: none; display: block; width: 100%; padding: 1.15rem 0 0.65rem}
	.fixed-mobile-btn a:nth-child(2){border-left: 1px solid rgba(241, 250, 255, 0.4);border-right: 1px solid rgba(241, 250, 255, 0.4);}
	.fixed-mobile-btn a span{display: block; margin-bottom: 0; margin-top: 0.25rem}

	/* # Home # */
	.home .wp-block-columns > div:first-child figure:first-child{padding-right: 0%;}
	.home .wp-block-columns > div:first-child figure:first-child img{width: 100%;}
	.home .wp-block-columns > div:last-child figure:first-child{padding-left: 0%;}
	.home .wp-block-columns > div:last-child figure:first-child img{width: 100%;}

	/* # Shadow list # */
	.is-style-shadow-list li{width: calc((100% / 2) - 1rem); }

	/* # Columns # */
	.column-mobile-invert{flex-direction: column-reverse;}

	/* # Services table # */
	.services tr{display: flex; flex-direction: column;}
	.services tr td{display: block; width: 100%!important; text-align: left!important;}
	.services tr td:first-child{padding-bottom: 0.5rem!important;}
	.services tr td:last-child{padding-top: 0!important;}

	/* # Footer # */
	footer{margin-bottom: 86px}
	footer .footer-top{background-position: top -250px left -300px;}

	footer .footer-bottom,
	footer .footer-bottom .col-menu-wrapper{text-align: center;}

}

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

	/* # Size # */
	h1, .h1{font-size: 2rem;}
	h2, .h2{font-size: 1.625rem!important; line-height: 2.2rem!important;}

	/* # Header # */
	.admin-bar header{top: 46px;}

	/* # Top page # */
	.home .top-page{padding-top: 50px; height: 480px}

	/* # Top hightlight links # */
	.top-highlight-links .highlight-link{padding: 0 12px}
	.top-highlight-links .highlight-link a div{padding: 3.25rem 1rem 2rem;}
	.top-highlight-links .highlight-link a div span{font-size: 1rem}
	.top-highlight-links .highlight-link a div br{display: block;}

	/* # Banner # */
	.wp-block-cover, .wp-block-cover-image{padding: 3rem 1rem;}
	.wp-block-cover.is-style-full-width{width: 100vw;}

	.wp-block-media-text__content{padding: 1rem 0!important}

}

@media screen and (max-width: 576px){
	.faq-cat-list a:before {width: calc(100%); height: calc(100% - (45px + 1.5rem)); bottom: 0; top: auto;}
	.faq-cat-list a {flex-direction: column; align-items: center; justify-content: center; row-gap: 1rem;}
	.faq-cat-list a div p, .faq-cat-list a div span  {text-align: center;}
}

/* WP CORE */
.wp-block-separator{border: none; border-bottom: 1px solid #BABABA}
.has-media-on-the-right .wp-block-media-text__content{padding-left: 0;}
.wp-block-columns, figure{margin-bottom: 0;}
.wp-block-media-text__media{filter: drop-shadow(0px 4px 50px rgba(11, 77, 114, 0.2));}
.wp-block-cover__background{margin-bottom: 0}
.alignnone{margin:5px 20px 20px 0}
.aligncenter,div.aligncenter{display:block;margin:5px auto}
.alignright{float:right;margin:5px 0 20px 20px}
.alignleft{float:left;margin:5px 20px 20px 0}
a img.alignright{float:right;margin:5px 0 20px 20px}
a img.alignnone{margin:5px 20px 20px 0}
a img.alignleft{float:left;margin:5px 20px 20px 0}
a img.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{background:#fff;border:1px solid #f0f0f0;max-width:96%;padding:5px 3px 10px;text-align:center}
.wp-caption.alignnone{margin:5px 20px 20px 0}
.wp-caption.alignleft{margin:5px 20px 20px 0}
.wp-caption.alignright{margin:5px 0 20px 20px}
.wp-caption img{border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}
.wp-caption p.wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}
.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,0.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}