/*
Theme Name: CC Bresse Louhannaise Intercom'
Description: Theme enfant du thème WP Made Simple de Publigo
Author: Hervé - Publigo
Author URI: https://www.publigo.fr
Template: wpms-theme 
Version: 1.0
Text Domain: cc-bresse-louhannaise-intercom
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,800&display=swap');


html {
    font-size: 92.5%;
    transition: .4s all ease;
}

body.menu-opened {
    overflow: hidden;
}

#page {
    overflow: hidden;
}

svg:not(:root) {
    overflow: initial;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    color: #808084;
    font-weight: 500;
    line-height: 1.412rem;
}

p, ul {
    font-size: 1rem;
}

a,
.entry-content a {
    color: #97bf0d;
    transition: .4s all ease;
}

a:hover,
a:focus,
.entry-content a:hover,
.entry-content a:focus {
    color: #0e72b5;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
    padding-right: .882rem;
    padding-left: .882rem;
}

.menu-toggle:focus,
.dropdown-toggle:focus {
    outline: none;
}

@media screen and (min-width: 576px) {

    html {
        font-size: 91.25%;
    }
}

@media (min-width: 600px) and (max-width: 781px) {

    .wp-block-column:not(:only-child),
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
        flex-basis: inherit!important;
        flex-grow: 1;
    }

    .wp-block-column:nth-child(2n),
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
        margin-left: 0;
    }

}

@media (min-width: 782px) {

    .wp-block-column,
    .wp-block-column[style*=flex-basis] {
        flex-basis: inherit;
        flex-grow: 1;
    }

    .wp-block-columns {
        flex-wrap: wrap;
    }

    .wp-block-column:nth-child(2n) {
        margin-left: 0;
    }
}

@media screen and (min-width: 48em) {

    html {
        font-size: 96.25%;
    }
}

@media screen and (min-width: 1200px) {

    html {
        font-size: 101.25%;
    }

    .wp-block-column {
        flex-basis: 0;
        flex-grow: 1;
    }

    .wp-block-columns {
        flex-wrap: nowrap;
    }

    .wp-block-column:not(:first-child) {
        margin-left: 2em;
    }
}

@media screen and (min-width: 82em) {

    html {
        font-size: 106.25%;
    }
}

/* ############################################################################################## */
/* ################### Header  #################################################################################### */

body.home #page {
    background-image: url(assets/images/bkg-top-header.jpg);
    background-size: auto;
    background-position: top -2.5% right -50%;
    background-repeat: no-repeat;
}

.site-content-contain {
    background-color: transparent;
}

.site-header {
    background-color: transparent;
}

a#logo-header {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 1.765rem 0.882rem;
}

a#logo-header svg {
    width: 11.765rem;
    max-width: 100%;
}

.home  a#logo-header svg {
    width: 14.118rem;
}

.js .menu-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    font-size: .941rem;
    line-height: 1;
    background-color: #58585a;
    color: #FFF;
    width: 100%;
    height: 4.529rem;
    position: fixed;
    left: 0;
    bottom: 0;
    padding: 0;
    margin: 0;
    z-index: 999999;
}

.js .menu-toggle svg {
	width: 2.235rem;
	fill: #FFF;
	margin-right: 1rem;
}

.menu-toggle svg rect {
	transform: translate(0, 0) rotate(0deg);
	transform-origin: 50% 50%;
	transition: .4s all ease;
}

body:not(.menu-opened) .menu-toggle:hover svg rect:nth-child(1),
body:not(.menu-opened) .menu-toggle:focus svg rect:nth-child(1) {
	transform: translate(0, 5px) rotate(0deg);
}

body:not(.menu-opened) .menu-toggle:hover svg rect:nth-child(2),
body:not(.menu-opened) .menu-toggle:focus svg rect:nth-child(2) {
	transform: translate(-5px, 0px) rotate(-90deg);
}

.menu-opened .menu-toggle svg rect:nth-child(1) {
	transform: translate(0, 2px) rotate(45deg);
}

.menu-opened .menu-toggle svg rect:nth-child(2) {
	transform: translate(0px, -7px) rotate(-45deg);
}

span#button-onglet svg {
    width: .765rem;
    fill: #58585a;
    position: absolute;
    left: .588rem;
    top: .765rem;
    transform: rotate(0deg);
    transition: .4s all ease;
}

span#button-onglet.puc-btn-open svg {
    transform: rotate(90deg);
    fill: #97bf0d;
}

#site-navigation {
	position: fixed;
    top: 100%;
    opacity: 0;
    left: 0;
    z-index: 999998;
    background-color: #FFF;
    height: calc(100% - 4.529rem);
    min-height: calc(100% - 4.529rem);
    width: 100%;
    background-color: #f2f2f5;
    transition: top .5s linear,opacity .3s ease;
}

.menu-opened #site-navigation {
    overflow-y: auto;
    overflow-x: hidden;
    top: 0;
    opacity: 1;
}

#site-navigation ul {
    list-style-type: none;
    margin: 0;
}

#site-navigation li a {
    display: block;
    padding: .588rem 0;
    margin-left: 2.059rem;
    font-size: 1.176rem;
    line-height: 1;
    font-weight: 600;
    color: #58585a;
    transition: .4s all ease;
}

#site-navigation li a:hover,
#site-navigation li a:focus {
    color: #97bf0d;
}

#site-navigation a .main-menu-title {
    font-size: 1.294rem;
    line-height: 1;
    font-weight: 800;
}

.navigation-menus ul {
    list-style-type: none;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.navigation-menus ul li {
	position: relative;
    width: 25%;
    height: 4.529rem;
}

.navigation-menus ul a {
	height: 100%;
}

.navigation-menus ul a,
.navigation-menus ul li.search-link-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.navigation-menus ul .button-label {
    color: #FFf;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    font-size: .941rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 2.526rem;
    width: 13.765rem;
    opacity: 0;
    align-content: center;
    align-items: center;
    height: 100%;
    transform: translate(-100%, 0);
    transition: .3s transform linear, .5s opacity ease;
}

.navigation-menus ul .contact-link-menu .button-label {
	width: 10.353rem;
}

.navigation-menus ul .faq-link-menu .button-label {
	width: 7.588rem;
}

.navigation-menus ul .search-link-menu .button-label {
    top: 4.526rem;
    width: 13.765rem;
    left: 0;
    z-index: 1;
	border-bottom-left-radius: 1.765rem;
	padding: 0 .882rem 0 1.765rem;
}

.search-link-menu:hover .button-label,
.search-link-menu:focus .button-label {
    transform: translate(0, 0);
    opacity: 1;
}

::-webkit-input-placeholder /* WebKit, Blink, Edge */
{ 
 color: #FFF;
 font-size: .941rem;
}
:-moz-placeholder /* Mozilla Firefox 4 à 18 */
{
 color: #FFF;
 opacity: 1;
 font-size: .941rem;
}
::-moz-placeholder /* Mozilla Firefox à partir de la version 19 */
{
 color: #FFF;
 opacity: 1;
 font-size: .941rem;
}
:-ms-input-placeholder /* Internet Explorer 10-11 */
{
 color: #FFF;
 font-size: .941rem;
}

.navigation-menus ul svg {
    width: 2.235rem;
    fill: #FFF;
    position: relative;
    z-index: 2;
}

.navigation-menus li.count-link-menu svg {
    width: 2.118rem;
}

.navigation-menus li.search-link-menu svg {
    width: 2.235rem;
}

.navigation-menus li.contact-link-menu svg {
    width: 2.235rem;
}

.navigation-menus li.faq-link-menu svg {
    width: 2.353rem;
}

.search-link-menu .search-form {
    display: flex;
    justify-content: center;
    align-items: center;
}

.search-link-menu input[type="search"] {
    color: inherit;
    border: none;
    border-radius: 0;
    padding: 0;
    height: 100%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    letter-spacing: 0.025em;
    font-size: .941rem;
    line-height: 1;
    background-color: transparent;
}

.search-link-menu .search-form .search-submit {
    position: unset;
    background-color: transparent;
    right: auto;
    top: auto;
    bottom: auto;
    padding: 0;
}

.search-link-menu .search-form .search-submit .icon {
    width: 1.176rem;
    height: 1.176rem;
    fill: #FFF;
    top: auto;
}

.count-link-menu a,
.count-link-menu a .button-label {
	background-color: #f5d709;
}

.search-link-menu,
.search-link-menu .button-label {
	background-color: #97bf0d;
}

.contact-link-menu a,
.contact-link-menu a .button-label {
	background-color: #0e72b5;
}

.faq-link-menu a,
.faq-link-menu a .button-label {
	background-color: #c99e64;
}

#header-infos-top {
    color: #58585a;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-top: .882rem;
    padding-bottom: .882rem;
}

#header-infos-top p {
    font-weight: 500;
    font-size: .941rem;
    line-height: 1;
    font-style: oblique;
    margin-bottom: .588rem;
}

#header-infos-top p.phone {
    font-weight: 800;
}

#header-infos-top p.home-header-infos {
    font-weight: 400;
    font-size: 1.235rem;
    line-height: 1;
    letter-spacing: -0.025em;
    max-width: 23.529rem;
}

ul#listing-onglets input[type="radio"] {
    display: none;
}

ul#listing-onglets label {
    display: none;
}

ul#top-menu {
    background: transparent;
    width: 100%;
    border: none;
    padding: 0;
    margin: 1.765rem 0;
}

ul#top-menu li {
    border: none;
}

ul#top-menu li a {
    display: flex;
    flex-direction: column;
    position: relative;
    font-size: 1.412rem;
    line-height: 1;
    color: #c5c7c8;
    font-weight: 900;
    transition: .4s all ease;
}

ul#top-menu li a:hover,
ul#top-menu li a:focus,
ul#top-menu li.current-menu-item a {
    color: #0e72b5;
}

ul#top-menu li a:after {
    display: block;
    content: '';
    background-color: #0e72b5;
    width: 0;
    opacity: 0;
    height: .412rem;
    margin-top: .588rem;
    transition: .3s width linear, .4s opacity ease;
}

ul#top-menu li a:focus:after,
ul#top-menu li a:hover:after,
ul#top-menu li.current-menu-item a:after {
    width: 100%;
    opacity: 1;
}

@media (max-width: 991px) {

    #site-navigation ul li {
        position: relative;
    }
    
}

@media screen and (min-width: 576px) {

	.js .menu-toggle {
	    width: 10.353rem;
	    position: absolute;
	    top: -.294rem;
	    bottom: auto;
	    border-bottom-right-radius: 1.765rem;
	}

	.navigation-menus {
	    position: absolute;
	    top: 10.471rem;
	    left: 0;
	    z-index: 999999;
	}

	.navigation-menus ul {
	    flex-direction: column;
	}

	.navigation-menus ul li {
	    width: 4.412rem;
	    margin-bottom: .882rem;
	}

	.navigation-menus ul .search-link-menu .button-label {
	    top: 0;
	    left: 2.526rem;
	}

	.count-link-menu a,
	.contact-link-menu a,
	.count-link-menu a .button-label,
	.contact-link-menu a .button-label {
		border-bottom-right-radius: 1.765rem;
	}

	.search-link-menu,
	.faq-link-menu a,
	.faq-link-menu a .button-label,
	.search-link-menu .button-label {
		border-top-right-radius: 1.765rem;
	}

	.navigation-menus a:hover .button-label,
	.navigation-menus a:focus .button-label {
	    transform: translate(0, 0);
	    opacity: 1;
	}

	#site-navigation {
		padding: 4.529rem 1.765rem 4.529rem calc(10.523rem + 1.765rem);
		height: auto;
		min-height: 50.235rem;
		left: 100%;
		top: 0;
		transition: left .5s linear,opacity .3s ease;
	}

	.menu-opened #site-navigation {
	    overflow-x: auto;
	    overflow-y: hidden;
	    left: 0;
	}
}

@media screen and (min-width: 62em) {

	#site-navigation #listing-onglets {
		position: relative;
	}

	#site-navigation #listing-onglets li {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end;
        padding: 0 .588rem;
	}

    #site-navigation #listing-onglets a {
        width: 100%;
    }

    #site-navigation #listing-onglets .main-menu-list {
        width: 33.333333%;
    }

	#site-navigation #listing-onglets .puc-block {
		position: absolute;
        left: 33.333333%;
        top: 0;
        width: 0;
        overflow: hidden;
        opacity: 0;
        align-items: flex-start;
        transition: .3s opacity ease;
        min-height: 100%;
	}

    .sub-main-menu.puc-menu {
        width: 50%;
    }

    .sub-main-menu.puc-menu .puc-menu{
        width: 100%;
    }


	#site-navigation #listing-onglets .main-menu-list input:checked + .puc-block {
		opacity: 1;
        width: 66.666667%;
    }

    #site-navigation #listing-onglets .main-menu-list .puc-block li input:checked + .puc-block {
        opacity: 1;
        width: 50%;
    }

    #site-navigation #listing-onglets .puc-block .puc-block{
        left: 50%;
    }

    #site-navigation ul:not(#top-menu) li a {
        padding: 1.176rem 0;
        border-bottom: 1px solid #c5c7c8;
        margin-left: 0;
    }

	#site-navigation ul ul ul li a {
		border-bottom: none;
	}

	span#button-onglet {
	    display: none;
	}

    a#logo-header svg {
        width: 11.765rem;
    }

	.home a#logo-header svg {
	    width: 14.118rem;
	}

	.navigation-menus {
	    top: 8.118rem;
	}

	#header-infos-top {
	    padding-top: 4.529rem;
	}

	#header-infos-top p.home-header-infos {
	    font-size: 1rem;
	}

    ul#listing-onglets label {
        display: block;
        margin: 0;
        margin-right: .588rem;
        cursor: pointer;
    }

    ul#listing-onglets label svg {
        width: 0.765rem;
        fill: #58585a;
        transition: .4s all ease;
    }

    ul#top-menu {
        display: flex;
        flex-wrap: wrap;
    }

    ul#top-menu li {
        margin-right: .882rem;
    }

}

@media screen and (min-width: 1200px) {

    #page {
    	padding-left: 4.412rem;
    	padding-right: 4.412rem;
    }

	.js .menu-toggle,
	.navigation-menus {
		left: -4.412rem;
	}

	#header-infos-top p.home-header-infos {
	    font-size: 1.235rem;
	}

	a#logo-header svg {
	    width: 22.588rem;
	}

    .home a#logo-header svg {
        width: 23.529rem;
    }

	.navigation-menus {
	    top: 10.471rem;
	}

}

@media screen and (min-width: 92em) {

	#header-infos-top {
	    padding-top: 3.647rem;
	}

	a#logo-header svg {
	    width: 11.765rem;
	}

    .home a#logo-header svg {
        width: 14.118rem;
    }
}

@media screen and (min-width: 112em) {

	a#logo-header svg {
	    width: 22.588rem;
	}

    .home a#logo-header svg {
        width: 23.529rem;
    }
}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Slider  #################################################################################### */

.custom-header-carousel .slick-slide {
	max-width: 406px;
	margin-left: .765rem;
	margin-right: .765rem;
}

.custom-header-carousel .slick-slide img {
    -webkit-mask-image: url(assets/images/masque.svg);
	mask-image: url(assets/images/masque.svg);
	-webkit-mask-size: 100%;
	mask-size: 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
  	mask-position: center;
}

div#image-bandeau img {
    display: block;
}

@media screen and (min-width: 62em) {

	.custom-header-carousel .slick-track .slick-slide:nth-child(2n) {
		padding-top: 1%;
	}

    div#image-bandeau {
        overflow: hidden;
    }

    div#image-bandeau img {
        height: 100%;
        width: auto;
        max-width: unset;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Navigation Quick Access  #################################################################################### */

.thematic-quick-access {
    margin: 3.529rem 0 -1.882rem;
}

.thematic-quick-access .title {
    color: #58585a;
    font-size: 1.412rem;
    line-height: 1;
    font-weight: 900;
    display: flex;
    align-items: center;
    text-align: center;
    padding: .882rem;
}

.thematic-quick-access .title:before,
.thematic-quick-access .title:after {
    display: block;
    content: '';
    background-size: auto 100%;
    background-position: center;
    background-repeat: no-repeat;
    height: .647rem;
    max-width: 100%;
}

.thematic-quick-access .title:before {
    background-image: url(assets/images/bkg-left-quick-access.png);
    width: 9.882rem;
    margin-right: .882rem;
}

.thematic-quick-access .title:after {
    background-image: url(assets/images/bkg-right-quick-access.png);
    width: 4.176rem;
    margin-left: .882rem;
}

.thematic-quick-access ul {
    list-style-type: none;
    margin: 0;
}

.thematic-quick-access a {
    position: relative;
    height: 14.765rem;
    margin-bottom: 3.765rem;
}

.thematic-quick-access a .titre {
    font-size: .941rem;
    line-height: 1;
    text-align: center;
    color: #3b3b3d;
    padding: 1.765rem .588rem;
    font-weight: 500;
}

.thematic-quick-access a .picto svg {
    width: 6.176rem;
}

.thematic-quick-access a .picto svg #fond {
    fill: inherit;
    transform-origin: 50% 50%;
    transform: translate(0, 0) rotate(0deg);
    transition: .4s all ease;
}

.thematic-quick-access a .picto svg #icone {
    fill: #3b3b3d;
    transition: .4s all ease;
}

.thematic-quick-access a:hover .picto svg #fond,
.thematic-quick-access a:focus .picto svg #fond {
    fill: #cbcbd0;
    transform: translate(0, -1.765rem) rotate(60deg);
}

.thematic-quick-access a:hover .picto svg #icone,
.thematic-quick-access a:focus .picto svg #icone {
    fill: #9f9fa6;
}

.thematic-quick-access a .button-link {
    position: absolute;
    bottom: -3.765rem;
    left: calc(50% - 1.882rem);
    z-index: 1;
}

.thematic-quick-access a .button-link svg {
    width: 3.765rem;
}

.thematic-quick-access a .button-link svg #fond {
    fill: #FFF;
    transition: .4s all ease;
}

.thematic-quick-access a .button-link svg #icone {
    fill: inherit;
    transform-origin: 50% 50%;
    transform: scaleY(1.0);
    transition: .4s all ease;
}

.thematic-quick-access a:hover .button-link svg #fond,
.thematic-quick-access a:focus .button-link svg #fond {
    fill: inherit;
}

.thematic-quick-access a:hover .button-link svg #icone,
.thematic-quick-access a:focus .button-link svg #icone {
    fill: #FFF;
    transform: scaleY(-1.0);
}

@media screen and (min-width: 576px) {

    .thematic-quick-access .title {
        padding-left: 8.333333%;
    }

}

@media screen and (min-width: 1200px) {
    
    .thematic-quick-access {
        z-index: 2;
        position: relative;
    }

}

@media screen and (min-width: 92em) {

    .thematic-quick-access a .titre {
        font-size: 1.176rem;
    }

}

@media screen and (min-width: 102em) {

    .thematic-quick-access a .titre {
        padding: 1.765rem .882rem;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Widget news  #################################################################################### */

.widget-news {
    padding: 3.529rem .882rem;
    background-image: url(assets/images/bkg-recent-posts.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.widget-news h3.section-title {
    display: flex;
    flex-direction: column;
    color: #97bf0d;
    font-weight: 900;
    font-size: 9vw;
    line-height: 1;
    margin-bottom: 1.176rem;
}

.widget-news h3.section-title:before {
    display: block;
    content: '';
    width: 6.471rem;
    height: .588rem;
    background-color: #FFF;
    margin-bottom: .588rem;
}

.thumbnail-news a img {
    display: block;
}

.last-post .thumbnail-news a img {
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    margin-bottom: 1.176rem;
}

.last-post .thumbnail-news {
    position: relative;
}

.last-post .news-content {
    max-width: 553px;
    margin-bottom: 1.765rem;
}

.last-posts .news-content {
    margin-bottom: 3.529rem;
    position: relative;
    background-color: #FFF;
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
}

.last-posts .thumbnail-news {
    margin-bottom: .941rem;
}

.post-date {
    color: #97bf0d;
    font-size: .941rem;
    line-height: 1;
    font-weight: 900;
}

h2.news-title,
h2.entry-title {
    padding: 1.176rem 0;
    font-size: 2.235rem;
    line-height: 1;
    font-weight: 800;
    margin-bottom: 0;
}

h2.news-title a,
h2.entry-title a {
    color: #3b3b3d;
    transition: .4s all ease;
}

h2.news-title a:hover,
h2.entry-title a:hover,
h2.news-title a:focus,
h2.entry-title a:focus {
    color: #3b3b3d;
    text-decoration: none;
}

.last-posts h2.news-title,
h2.entry-title {
    padding: .588rem 0;
    font-size: 1.294rem;
    line-height: 1;
}

.news-content .entry-content p {
    font-size: 1.118rem;
    line-height: 1;
    margin: 0;
}

.last-posts .news-content .entry-content p {
    font-size: .882rem;
    margin-bottom: 1.765rem;
}

.last-posts .news-content a img {
    border-top-left-radius: 1.765rem;
}

.page .site-main article.news-content {
    padding: 0;
}

.more-link a {
    padding: 0;
    padding: 0;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    max-width: fit-content;
    transition: .4s all ease;
}

.more-link a:hover,
.more-link a:focus {
    background-color: transparent;
}

.more-link a svg {
    width: 3.529rem;
}

.more-link a svg #fond {
    fill: #97bf0d;
    transition: .4s all ease;
}

.more-link a svg #icone {
    fill: #FFF;
    transform-origin: 50% 50%;
    transform: rotate(0deg);
    transition: .4s all ease;
}

.more-link a:hover svg #fond,
.more-link a:focus svg #fond {
    fill: #3b3b3d;
}

.more-link a:hover svg #icone,
.more-link a:focus svg #icone {
    transform: rotate(90deg);
}

.last-post .news-content .more-link a {
    position: absolute;
    bottom: -1.765rem;
    right: 1.765rem;
}

.last-posts .news-content .more-link a {
    position: absolute;
    bottom: -1.765rem;
    right: 1.765rem;
}

.all-news-link a {
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    color: #3b3b3d;
    font-size: 1.176rem;
    line-height: 1;
    font-weight: 900;
    transition: .4s all ease;
}

.all-news-link a svg {
    width: 3.529rem;
    fill: #3b3b3d;
    margin-right: .941rem;
    transform-origin: 50% 50%;
    transform: scaleY(1.0) rotate(0deg);
    transition: .4s all ease;
}

.all-news-link a:hover,
.all-news-link a:focus {
    color: #97bf0d;
}

.all-news-link a:hover svg,
.all-news-link a:focus svg {
    fill: #97bf0d;
    transform: scaleY(-1.0) rotate(45deg);
}

@media screen and (min-width: 576px) {

    .last-posts .thumbnail-news {
        margin-bottom: 0;
    }

}

@media screen and (min-width: 48em) {

    .widget-news {
        padding: 5.294rem .882rem;
    }

    .last-post .news-content .more-link a svg {
        width: 6.235rem;
    }

    .last-post .news-content .more-link a {
        bottom: -3.118rem;
        right: 3.118rem;
    }

}

@media screen and (min-width: 62em) {

    .widget-news h3.section-title {
        font-size: 5vw;
    }

}

@media screen and (min-width: 1200px) {

    .widget-news {
        position: relative;
        z-index: 1;
    }

    .last-posts h2.news-title,
    h2.entry-title {
        font-size: .941rem;
    }

    .last-posts .news-content .entry-content p {
        margin-bottom: 0;
    }

}


@media screen and (min-width: 92em) {

    .widget-news h3.section-title {
        font-size: 4rem;
    }

    .last-posts h2.news-title,
    h2.entry-title {
        font-size: 1.294rem;
    }

    .last-posts .news-content .entry-content p {
        font-size: .941rem;
    }

}

@media screen and (min-width: 102em) {

    .widget-news {
        padding-left: 8.333333%;
        padding-right: 8.333333%;
    }

}

@media screen and (min-width: 112em) {

    .widget-news {
        padding-left: 16.666667%;
        padding-right: 16.666667%;
    }

}


/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Map  #################################################################################### */

#la-carte {
    background-color: #3b3b3d;
    padding-top: 3.529rem;
    padding-bottom: 3.529rem;
    color: #adadb5;
    font-size: 1.235rem;
    line-height: 1;
    position: relative;
    margin-bottom: 6.765rem;
}

.map {
    background-image: url(assets/images/bkg-map.svg);
    background-size: 50% auto;
    background-position: center right 15%;
    background-repeat: no-repeat;
    position: relative;
    padding-bottom: 1.765rem;
}

.map svg {
    width: 38.588rem;
    max-width: 90%;
    z-index: 1;
    position: relative;
}

.map a {
    display: block;
}

.map .st7 {
    font-family: 'Montserrat', sans-serif;
}

.map text {
    opacity: 0;
    transform: .4s all ease;
}

.map a:hover text,
.map a:focus text {
    opacity: 1;
}

.cartographie h2.title {
    display: flex;
    flex-direction: column;
    color: #FFF;
    font-weight: 900;
    font-size: 9vw;
    line-height: 1;
    margin-bottom: 0;
    padding: 0;
}

.cartographie h2.title:before {
    display: block;
    content: '';
    width: 6.471rem;
    height: .588rem;
    background-color: #0e72b5;
    margin-bottom: .588rem;
}

.map-menu ul#map-communes-menu {
    list-style-image: url(assets/images/carre.svg);
    margin: 1.765rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-left: .706rem;
}

.map-menu ul#map-communes-menu li {
    max-width: 100%;
    width: 100%;
}

.map-menu ul#map-communes-menu a {
    display: block;
    color: #adadb5;
    font-size: 1rem;
    line-height: 1;
    padding-bottom: .588rem;
    transform: .4s all ease;
}

.map-menu ul#map-communes-menu a:hover,
.map-menu ul#map-communes-menu a:focus {
    color: #bfbd0d;
}

a#interactive_map_button {
    position: absolute;
    bottom: -3.382rem;
    left: .882rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
    width: 31rem;
    height: 6.765rem;
    font-size: 1.235rem;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    background-image: url(assets/images/bkg-button-interactive-map.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    max-width: calc(100% - 1.765rem);
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    padding-left: 4.553rem;
    padding-right: .882rem;
    transition: .4s all ease;
}

a#interactive_map_button:hover,
a#interactive_map_button:focus {
    color: #3b3b3d;
    background-image: url(assets/images/bkg-button-interactive-map-hover.jpg);
}

a#interactive_map_button svg {
    width: 4.353rem;
    position: absolute;
    left: .882rem;
    top: -1.765rem;
}

#front-page-phototheque {
    position: relative;
    display: block;
}

#front-page-phototheque .picto {
    display: flex;
    justify-content: center;
    text-align: center;
    position: absolute;
    top: 0;
    width: 16.666667%;
    left: 41.666667%;
}

#front-page-phototheque .picto svg {
    width: 11.353rem;
    max-width: 70%;
}

#front-page-phototheque .picto svg #fond {
    fill: #FFF;
}

#front-page-phototheque .picto svg #bulle {
    fill: rgba(255, 255, 255, 0);
    transition: .4s all ease;
}

#front-page-phototheque .picto svg #photo {
    fill: rgba(255, 255, 255, 1.0);
    transition: .4s all ease;
}

#front-page-phototheque .picto svg #plus {
    fill: rgba(151, 191, 13, 0);
    transition: .4s all ease;
}

#front-page-phototheque:hover .picto svg #fond,
#front-page-phototheque:focus .picto svg #fond {
    fill: #97bf0d;
}

#front-page-phototheque:hover .picto svg #photo,
#front-page-phototheque:focus .picto svg #photo {
    fill: rgba(255, 255, 255, 0);
}

#front-page-phototheque:hover .picto svg #bulle,
#front-page-phototheque:focus .picto svg #bulle {
    fill: rgba(255, 255, 255, 1.0);
}

#front-page-phototheque:hover .picto svg #plus,
#front-page-phototheque:focus .picto svg #plus {
    fill: rgba(151, 191, 13, 1.0);
}

#front-page-phototheque img {
    display: block;
}

#front-page-phototheque .titre {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50%;
    text-align: center;
    font-size: 4vw;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    color: #FFF;
    margin-bottom: 0;
}

.map-wrap {
    position: relative;
}

.map-wrap:before {
    display: block;
    content: '';
    background-image: url(assets/images/before-map-wrap.svg);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: 3.529rem;
    height: 2.647rem;
    position: absolute;
    top: -2.647rem;
    left: calc(50% - 1.765rem);
}

.thematic-map-page {
    padding: 1.765rem .882rem;
}

.thematic-map-page:after {
    display: block;
    content: '';
    width: 100%;
    height: 1px;
    margin-left: auto;
    margin-right: auto;
    background-color: #bababa;
    margin-top: 1.765rem;
}

.map-page img {
    display: block;
    width: 412px;
    margin-left: auto;
    margin-right: auto;
}

.map-page {
    position: relative;
}

.map-page a {
    display: block;
    position: absolute;
    width: 100%;
    text-align: center;
    top: 66.666667%;
    left: 0;
    font-size: 1.765rem;
    line-height: 1;
    font-weight: 400;
    font-style: oblique;
    color: #58585a;
}

.map-page a strong {
    color: #0e72b5;
    transition: .4s all ease;
} 

.map-page a:hover strong,
.map-page a:focus strong {
    color: #97bf0d;
}

a#interactive-map-button {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
    width: 24.588rem;
    height: 5.412rem;
    font-size: 1.235rem;
    line-height: 1;
    font-weight: 900;
    margin: 1.765rem auto;
    text-transform: uppercase;
    background-image: url(assets/images/bkg-button-interactive-map.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    max-width: calc(100% - 1.765rem);
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    transition: .4s all ease;
}

a#interactive-map-button:hover,
a#interactive-map-button:focus {
    color: #3b3b3d;
    background-image: url(assets/images/bkg-button-interactive-map-hover.jpg);
}


@media screen and (min-width: 576px) {
 
    .map:before {
        display: block;
        content: '';
        width: 31.941rem;
        height: 20.824rem;
        position: absolute;
        left: 0;
        bottom: 0;
        background-image: url(assets/images/before-map.png);
        background-size: 100%;
        background-position: center;
        background-repeat: no-repeat;
    }

    .map svg {
        margin-left: 3.882rem;
    }

}

@media screen and (min-width: 48em) {

    .map-menu ul#map-communes-menu {
        flex-direction: column;
        justify-content: flex-start;
        height: 430px;
        min-height: 430px;
    }

    .map-menu ul#map-communes-menu li {
        width: 50%;
    }

    .map-wrap:before {
        width: 5.588rem;
        height: 4.235rem;
        top: -4.235rem;
        left: calc(50% - 2.794rem);
    }


}

@media screen and (min-width: 62em) {

    #la-carte {
        padding-top: 4.706rem;
        padding-bottom: 4.706rem;
    }

    .cartographie h2.title {
        font-size: 5vw;
    }

}

@media screen and (min-width: 1200px) {

    #front-page-phototheque {
        margin-top: -6.588rem;
    }

    #front-page-phototheque .picto {
        top: 6.588rem;
    }
      
    #front-page-phototheque img {
        margin-left: -4.412rem;
        margin-right: -4.412rem;
        max-width: calc(100% + 8.824rem);
    }

    #front-page-phototheque .titre {
        font-size: 2.25vw;
    }

    #la-carte {
        margin-top: -10.471rem;
    }

    .map-wrap:before {
        width: 3.529rem;
        height: 2.647rem;
        top: -2.647rem;
        left: calc(50% - 1.765rem);
    }

}

@media screen and (min-width: 92em) {

    .thematic-map {
        margin-top: -10.588rem;
    }
      
    .cartographie {
        padding-left: 2.471rem;
    }

    a#interactive_map_button {
        left: 8.333333%;
    }

    .cartographie h2.title {
        font-size: 4.235rem;
    }

    .map-wrap:before {
        width: 5.588rem;
        height: 4.235rem;
        top: -4.235rem;
        left: calc(50% - 2.794rem);
    }

    .thematic-map-page {
        padding: 1.765rem;
    }

}

@media screen and (min-width: 112em) {

    #la-carte {
        margin-top: -13.471rem;
    }

    .cartographie {
        padding-left: 8.333333%;
    }

    .map-wrap:before {
        width: 8.529rem;
        height: 6.529rem;
        top: -6.529rem;
        left: calc(50% - 4.265rem);
    }
}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Content  #################################################################################### */

.home .site-main article.home-content {
    margin: -6.765rem 0 0;
    background-color: #eeeef0;
    padding: calc(6.765rem + 1.765rem) 0 1.765rem;
}

span.portrait-president {
    display: flex;
    flex-direction: column;
    align-items: center;
}

span.photo-president {
    background: #FFF;
    padding: .882rem;
    display: flex;
    justify-content: flex-end;
    border-top-right-radius: 10.882rem;
    border-bottom-right-radius: 10.882rem;
    width: 100%;
}

span.photo-president img {
    display: block;
    -webkit-mask-image: url(assets/images/mask.svg);
    mask-image: url(assets/images/mask.svg);
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

span.denomination-president {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: .882rem;
    width: 10.882rem;
    max-width: 100%;
    text-align: center;
    padding: .882rem;
    color: #3b3b3d;
    font-size: .824rem;
    line-height: 1;
}

span.denomination-president .nom {
    font-weight: 700;
}

span.denomination-president .titre {
    font-weight: 500;
    font-style: oblique;
}

header.home-header {
    padding: .882rem;
}

h1 {
    font-weight: 900;
    color: #58585a;
    font-size: 1.765rem;
    line-height: 1;
    padding: 1.294rem 0;
    margin-bottom: 0;
}

header.home-header h1 {
    padding: 0;
    color: #3b3b3d;
    font-size: 1.176rem;
    line-height: 1;
    margin: 0;
    font-weight: 500;
}

p.header-before {
    color: #c5c7c8;
    margin: 0;
    font-size: 12vw;
    line-height: 1;
    font-weight: 900;
}

.breadcrumbs {
    margin-bottom: 1.294rem;
    position: relative;
    padding: 0 0 1.294rem;
}

.breadcrumbs:after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    content: '';
    background-color: #97bf0d;
    width: 6.529rem;
    height: .529rem;
}

.breadcrumbs a,
.breadcrumbs span {
    color: #3b3b3d;
    font-size: .941rem;
    line-height: 1;
    font-weight: 500;
}

span.breadcrumbs-separator {
    margin: 0 0.294rem;
}

body:not(.home) .site-content {
    padding: 0;
}

body:not(.home) .site-main {
    padding: .882rem;
    background-image: url(assets/images/bkg-site-main.jpg);
    background-size: auto;
    background-position: bottom .882rem right 10%;
    background-repeat: no-repeat;
}

.page:not(.home) #content {
    padding-bottom: 0;
}

h2 {
    font-size: 1.353rem;
    line-height: 1;
    color: #97bf0d;
    font-weight: 800;
    padding: .588rem 0;
}

h3 {
    font-size: 1.176rem;
    line-height: 1;
    color: #0e72b5;
    font-weight: 500;
    padding: .588rem 0;
}

#right-main-content {
    background-color: #eeeef0;
}

#right-main-content .last-post {
    padding: 1.765rem .882rem;
}

#right-main-content .last-post:after {
    display: block;
    content: '';
    width: 100%;
    height: 1px;
    margin-left: auto;
    margin-right: auto;
    background-color: #bababa;
    margin-top: 1.765rem;
}

h4.page-section-title {
    background: #97bf0d;
    color: #FFF;
    padding: .882rem;
    margin: 0;
    font-size: 1.412rem;
    line-height: 1;
    font-weight: 900;
}

a#acces-phototheque {
    position: relative;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
    color: #FFF;
    font-size: 1.588rem;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    background-image: url(assets/images/bkg-link-acces-phototheque.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 1.765rem;
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    margin: 1.765rem .882rem;
    min-height: 382px;
}

a#acces-phototheque svg {
    width: 8.118rem;
    max-width: 100%;
    fill: #FFF;
    margin-bottom: .588rem;
}

a#acces-phototheque:before {
    display: block;
    content: '';
    background-image: url(assets/images/before-map-wrap.svg);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    width: 4.706rem;
    height: 3.588rem;
    position: absolute;
    top: 0;
    left: calc(50% - 2.353rem);
    transform: rotate(180deg);
}

.post-thumbnail img,
.news-thumbnail img {
    display: block;
}

.search .search-form {
    margin-bottom: 3.529rem;
}

.blog .site-main > article,
.archive .site-main > article,
.search .site-main > article {
    padding-bottom: 0;
    margin-bottom: 1.765rem;
}

input[type="submit"] {
    display: block;
    text-align: center;
    background-color: #97bf0d;
    color: #FFF;
    font-size: 1.059rem;
    line-height: 1;
    font-weight: 900;
    max-width: fit-content;
    padding: .882rem 1.765rem;
    margin-top: .882rem;
    margin-bottom: .882rem;
    transition: .4s all ease;
}

input[type="submit"]:hover,
input[type="submit"]:focus {
    background-color: #9f9fa6;
    color: #FFF;
}

a.wp-block-button__link {
    display: block;
    text-align: center;
    background-color: #97bf0d;
    color: #FFF;
    font-size: 1.059rem;
    line-height: 1;
    font-weight: 900;
    padding: .882rem 1.765rem;
    margin-top: .882rem;
    margin-bottom: .882rem;
    border-radius: 0;
    word-break: normal;
    transition: .4s all ease;
}

a.wp-block-button__link:hover,
a.wp-block-button__link:focus {
    background-color: #9f9fa6;
    color: #FFF;
}

.more-link-more a {
    display: block;
    text-align: center;
    background-color: #97bf0d;
    color: #FFF;
    font-size: 1.059rem;
    line-height: 1;
    font-weight: 900;
    max-width: fit-content;
    padding: .882rem 1.765rem;
    margin-top: .882rem;
    margin-bottom: .882rem;
    transition: .4s all ease;
}

.more-link-more a:hover,
.more-link-more a:focus {
    background-color: #9f9fa6;
    color: #FFF;
}

.child-post {
    margin-bottom: .882rem;
    padding-bottom: .882rem;
    border-bottom: 1px solid #d3d5d6;
}

h3.child-title {
    font-weight: 900;
    font-size: 1.176rem;
    line-height: 1;
    padding: 0;
}

h3.child-title a {
    color: #97bf0d;
    transition: .4s all ease;
}

h3.child-title a:hover,
h3.child-title a:focus {
    color: #9f9fa6;
}

.child-content p {
    color: #808084;
    font-size: 1rem;
    line-height: 1;
    margin: 0;
    font-weight: 500;
}


@media screen and (min-width: 62em) {

    div#right-main-content {
        position: relative;
    }

    h4.page-section-title {
        position: absolute;
        bottom: 100%;
        left: 0;
        width: 100%;
        padding: 1.765rem .882rem;
        border-top-left-radius: 1.765rem;
    }

    body:not(.home) .site-main {
        padding-top: 3.529rem;
        padding-right: 8.333333%;
    }

}

@media screen and (min-width: 1200px) {

    header.home-header {
        padding-left: 0;
    }

    header.home-header h1 {
        padding-left: 16.666667%;
    }

    p.header-before {
        font-size: 6vw;
        margin-left: 16.666667%;
        padding: .882rem 1.765rem;
    }

}

@media screen and (min-width: 92em) {

    header.home-header h1 {
        padding-left: calc(33.333333% + .882rem);
    }

    #right-main-content .last-post {
        padding: 1.765rem;
    }

    h4.page-section-title {
        font-size: 2.118rem;
        padding: 1.765rem;
    }

    a#acces-phototheque {
        margin: 1.765rem 1.765rem 3.529rem;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Thematic center  #################################################################################### */

#thematic-center {
    position: relative;
    padding-top: 1.765rem;
    background-color: #FFF;
    padding-bottom: 1.765rem;
}

#thematic-center:before {
    display: block;
    content: '';
    width: 100%;
    height: 59.5%;
    background-color: #eeeef0;
    position: absolute;
    top: 0;
    left: 0;
}

#thematic-center h2.title {
    display: flex;
    flex-direction: column;
    color: #343438;
    font-weight: 900;
    font-size: 6vw;
    line-height: 1;
    margin: 1.765rem 0;
    padding: 0;
}

#thematic-center h2:before {
    display: block;
    content: '';
    width: 6.529rem;
    height: 0.529rem;
    background-color: #97bf0d;
    margin-bottom: 0.588rem;
}

#thematic-center .block-right h2:before {
    background-color: #31c2e6;
}

#thematic-center .block-left a {
    display: flex;
    align-items: flex-end;
}

#thematic-center .image-bulletin {
    padding: 9px;
    background-color: #FFF;
    -webkit-box-shadow: 3px 3px 7px 3px rgba(0,0,0,0.09); 
    box-shadow: 3px 3px 7px 3px rgba(0,0,0,0.09);
}

#thematic-center .image-bulletin img {
    display: block;
}

#thematic-center .txt-bulletin {
    display: flex;
    flex-direction: column;
    background-color: #c5c7c8;
    border-bottom-right-radius: 1.765rem;
    font-size: 1.412rem;
    font-weight: 900;
    line-height: 1;
    color: #FFF;
    padding: 3.529rem .882rem;
    margin-bottom: 1.765rem;
    max-width: 10rem;
    transition: .4s all ease;
}

#thematic-center .txt-bulletin span {
    font-size: 2.824rem;
}

#thematic-center a:hover .txt-bulletin,
#thematic-center a:focus .txt-bulletin {
    background-color: #97bf0d;
}

.titre-emploi-blintercom {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
}

a.more-jobs-blintercom {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #c5c7c8;
    font-size: 1.176rem;
    line-height: 1;
    font-weight: 900;
    transition: .4s all ease;
}

a.more-jobs-blintercom:hover,
a.more-jobs-blintercom:focus {
    color: #31c2e6;
}

a.more-jobs-blintercom svg {
    width: .882rem;
    margin-right: .882rem;
    fill: #31c2e6;
    transform-origin: 50% 50%;
    transform: scaleY(1.0);
    transition: .4s all ease;
}

a.more-jobs-blintercom:hover svg,
a.more-jobs-blintercom:focus svg {
    transform: scaleY(-1.0);
}

#thematic-center .emploi-thumbnail img {
    display: block;
    border-top-left-radius: 1.765rem;
}

.offre-blintercom .texte-emploi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom-right-radius: 1.765rem;
    background-color: #31c2e6;
    padding: 1.059rem;
}

.offre-blintercom .date-offre {
    color: #FFF;
    font-size: 1.059rem;
    line-height: 1;
    font-weight: 900;
}

.offre-blintercom .resume-offre p {
    color: #FFF;
    font-size: 1.176rem;
    line-height: 1;
    font-weight: 400;
    margin: 0;
}

.offre-blintercom .titre-offre {
    color: #1a8daa;
    font-size: 1.059rem;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    padding: .882rem 0;
}

.offre-blintercom a .more-offre {
    display: block;
    color: #1a8daa;
    font-size: 1.059rem;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    padding: .882rem 0;
    transition: .4s all ease;
}

.offre-blintercom a:hover .more-offre,
.offre-blintercom a:focus .more-offre {
    color: #343438;
}

@media screen and (min-width: 62em) {

    #thematic-center h2.title {
        font-size: 2vw;
    }

}

@media screen and (min-width: 1200px) {

    .offre-blintercom .date-offre,
    .offre-blintercom .titre-offre,
    .offre-blintercom a .more-offre {
        font-size: .941rem;
    }

    .offre-blintercom .texte-emploi {
        padding: 0 .588rem;
    }

    .offre-blintercom .resume-offre p {
        font-size: 1.059rem;
    }
}

@media screen and (min-width: 92em) {

    #thematic-center h2.title {
        font-size: 2.941rem;
    }

    .offre-blintercom .resume-offre p {
        font-size: 1.412rem;
    }

    .offre-blintercom .date-offre,
    .offre-blintercom .titre-offre,
    .offre-blintercom a .more-offre {
        font-size: 1.059rem;
    }

    .offre-blintercom .resume-offre p {
        font-size: 1.176rem;
    }
}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Thematic bottom  #################################################################################### */

#thematic-bottom {
    padding-bottom: 1.765rem;
}


#thematic-bottom h2.title {
    display: flex;
    flex-direction: column;
    color: #c5c7c8;
    font-weight: 900;
    font-size: 6vw;
    line-height: 1;
    margin: 1.765rem 0;
    padding: 0;
}

#thematic-bottom h2:before {
    display: block;
    content: '';
    width: 6.529rem;
    height: 0.529rem;
    background-color: #ffdf00;
    margin-bottom: 0.588rem;
}

#thematic-bottom .block-right h2:before {
    background-color: #0e72b5;
}

#thematic-bottom .block-left a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 29.529rem;
    max-width: 100%;
    height: 13.059rem;
    background-color: #ffdf00;
    border: .294rem solid #eeeef0;
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    transition: .4s all ease;
}

#thematic-bottom .block-left a:hover,
#thematic-bottom .block-left a:focus {
    background-color: #eeeef0;
}

#thematic-bottom .block-left a svg {
    width: 9.118rem;
    fill: #FFF;
    transition: .4s all ease;
}

#thematic-bottom .block-left a:hover svg,
#thematic-bottom .block-left a:focus svg {
    width: 9.118rem;
    fill: #ffdf00;
}

#thematic-bottom .block-right a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 29.529rem;
    max-width: 100%;
    height: 13.059rem;
    border: .294rem solid #eeeef0;
    background-image: url(assets/images/bkg-link-facebook.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    overflow: hidden;
}

#thematic-bottom .block-right a:after {
    display: block;
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    background-color: #0e72b5;
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    transition: .4s all ease;
}

#thematic-bottom .block-right a:hover:after,
#thematic-bottom .block-right a:focus:after {
    top: 0;
    opacity: 1;
}

#thematic-bottom .block-right a svg {
    position: relative;
    z-index: 1;
    width: 2.471rem;
    fill: #FFF;
}

@media screen and (min-width: 62em) {

    #thematic-bottom h2.title {
        font-size: 3.5vw;
    }

}

@media screen and (min-width: 92em) {

    #thematic-bottom h2.title {
        font-size: 2.941rem;
    }

}


/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Thematic footer  #################################################################################### */

.thematic-footer {
    position: relative;
}

.thematic-footer:before {
    display: block;
    content: '';
    background-color: #eeeef0;
    width: 100%;
    height: 25%;
    position: absolute;
    left: 0;
    bottom: 0;
}

ul.slick-thematic-footer {
    list-style-type: none;
    margin: 0;
}

ul.slick-thematic-footer .slick-prev,
ul.slick-thematic-footer .slick-next {
    width: 3.353rem;
    height: 3.353rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-content: center;
    z-index: 1;
    top: calc(30% - 1.676rem);
    border-radius: 0;
}

ul.slick-thematic-footer .slick-prev {
    background-color: #eeeef0;
    left: 0;
}

ul.slick-thematic-footer .slick-next {
    background-color: #c5c7c8;
    right: 0;
}

ul.slick-thematic-footer .slick-prev:before,
ul.slick-thematic-footer .slick-next:before {
    color: #C9C9C9;
    content: '';
    width: 1.529rem;
    height: 2rem;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    transition: .4s all ease;
}

ul.slick-thematic-footer .slick-prev:before {
    background-image: url(assets/images/slick-prev.svg);
    transition: .4s all ease;
}

ul.slick-thematic-footer .slick-next:before {
    background-image: url(assets/images/slick-next.svg);
    transition: .4s all ease;
}

ul.slick-thematic-footer a {
    display: block;
    position: relative;
}

ul.slick-thematic-footer a .image-link {
    display: block;
    width: 100%;
}

ul.slick-thematic-footer a .wrapper-link-content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    width: 100%;
    padding: 1.765rem;
    color: #FFF;
    min-height: 200px;
}

ul.slick-thematic-footer a .wrapper-link-content .titre {
    font-size: 1.059rem;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1em;
}

ul.slick-thematic-footer a .wrapper-link-content .title {
    font-size: 6.5vw;
    line-height: 0.8;
    padding: .882rem 0;
    font-weight: 900;
}

ul.slick-thematic-footer a .wrapper-link-content .button-link {
    font-size: 1.294rem;
    line-height: 1;
    padding: .882rem 2.647rem;
    font-weight: 800;
    color: #ababb3;
    background-color: #FFF;
    border-top-left-radius: .882rem;
    border-bottom-right-radius: .882rem;
    transition: .4s all ease;
}

ul.slick-thematic-footer a:hover .wrapper-link-content .button-link,
ul.slick-thematic-footer a:focus .wrapper-link-content .button-link {
    color: #FFF;
    background-color: #58585a;
}

@media screen and (min-width: 576px) {

    ul.slick-thematic-footer a .wrapper-link-content {
        min-height: 230px;
        padding: 1.765rem 3.529rem;
    }

}

@media screen and (min-width: 62em) {

    ul.slick-thematic-footer a {
        padding-bottom: 11.706rem;
    }

    .thematic-footer:before {
        height: 11.706rem;
    }

    ul.slick-thematic-footer a .image-link {
        width: 66.666667%;
        margin-right: 0;
        margin-left: auto;
    }

    ul.slick-thematic-footer a .wrapper-link-content {
        position: absolute;
        top: 6.706rem;
        left: 0;
        width: 50%;
        border-top-left-radius: 1.765rem;
        border-bottom-right-radius: 1.765rem;
        min-height: 300px;
        padding: 1.765rem 5.294rem;
    }

    ul.slick-thematic-footer a .wrapper-link-content .title {
        font-size: 2.118rem;
        line-height: 1;
    }

    ul.slick-thematic-footer .slick-prev,
    ul.slick-thematic-footer .slick-next {
        width: 6.706rem;
        height: 6.706rem;
        top: 3.353rem;
    }

    ul.slick-thematic-footer .slick-prev {
        left: calc(33.333333% - 13.412rem);
    }

    ul.slick-thematic-footer .slick-next {
        left: calc(33.333333% - 6.706rem);
    }

}

@media screen and (min-width: 92em) {

    ul.slick-thematic-footer a .wrapper-link-content {
        min-height: 460px;
    }

    ul.slick-thematic-footer a .wrapper-link-content .title {
        font-size: 3.412rem;
    }

}

@media screen and (min-width: 102em) {

    ul.slick-thematic-footer a .wrapper-link-content {
        padding: 1.765rem 7.059rem;
    }
}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Footer  #################################################################################### */

.site-footer {
    padding-bottom: 4.529rem;
}

.bottom-footer {
    background-color: #eeeef0;
    padding: 1.765rem 0 0;
}

a.logo-footer {
    display: block;
    text-align: center;
    padding: 1.765rem;
}

a.logo-footer svg {
    width: 14.706rem;
    max-width: 100%;
}

.site-infos .block-left {
    color: #58585a;
    font-size: 1.059rem;
    line-height: 1;
}

.site-infos .block-left .title,
.site-infos .block-left .phone {
    margin-bottom: 0;
    font-weight: 700;
}

.site-infos .block-left .address {
    margin-bottom: 0;
    font-weight: 500;
}

.site-infos .block-left .mail {
    margin-bottom: 0;
}

.site-infos .block-left .mail a {
    display: flex;
    align-items: center;
    text-align: center;
    background-color: #0e72b5;
    padding: .882rem 2.647rem;
    border-top-left-radius: .882rem;
    border-bottom-right-radius: .882rem;
    color: #FFF;
    font-size: .941rem;
    line-height: 1;
    font-style: oblique;
    font-weight: 500;
    margin: .588rem 0;
    max-width: fit-content;
    transition: .4s all ease;
}

.site-infos .block-left .mail a:hover,
.site-infos .block-left .mail a:focus {
    background-color: #FFF;
    color: #0e72b5;
}

.site-infos .block-left .mail a svg {
    width: 1.882rem;
    fill: #FFF;
    margin-right: .588rem;
    transition: .4s all ease;
}

.site-infos .block-left .mail a:hover svg,
.site-infos .block-left .mail a:focus svg {
    fill: #0e72b5;
}

.site-infos .block-right {
    color: #58585a;
    font-size: 1.059rem;
    line-height: 1;
}

.site-infos .block-right .title {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 1.412rem;
}

.site-infos .block-right .facebook {
    margin-bottom: 0;
}

.site-infos .block-right .facebook a {
    display: flex;
    align-items: center;
    text-align: center;
    background-color: #58585a;
    padding: .882rem 2.647rem;
    border-top-left-radius: .882rem;
    border-bottom-right-radius: .882rem;
    color: #FFF;
    font-size: .941rem;
    line-height: 1;
    font-style: oblique;
    font-weight: 500;
    margin: .588rem 0;
    max-width: fit-content;
    transition: .4s all ease;
}

.site-infos .block-right .facebook a:hover,
.site-infos .block-right .facebook a:focus {
    background-color: #FFF;
    color: #58585a;
}

.site-infos .block-right .facebook a svg {
    width: .647rem;
    fill: #FFF;
    margin-right: .588rem;
    transition: .4s all ease;
}

.site-infos .block-right .facebook a:hover svg,
.site-infos .block-right .facebook a:focus svg {
    fill: #58585a;
}

nav#site-navigation-main ul#main-menu {
    display: flex;
    flex-direction: column;
    border: none;
    background-color: transparent;
    padding: .882rem;
}

nav#site-navigation-main ul#main-menu li {
    border: none;
}

nav#site-navigation-main ul#main-menu a {
    display: block;
    color: #afafb5;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: .947rem;
    margin-right: .588rem;
    padding: 0 0 .294rem;
    transition: .4s all ease;
}

nav#site-navigation-main ul#main-menu a:hover,
nav#site-navigation-main ul#main-menu a:focus {
    color: #bfbd0d;
}

#bottom-end-navigation {
    background-color: #FFF;
    padding: 1.765rem 0;
}

ul#menu-mentions-menu {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    margin: 0 0 .882rem;
}

ul#menu-mentions-menu a {
    display: block;
    padding: 0;
    margin-right: .294rem;
    color: #58585a;
    font-weight: 500;
    font-size: .765rem;
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: .4s all ease;
}

ul#menu-mentions-menu a:hover,
ul#menu-mentions-menu a:focus {
    color: #bfbd0d;
}

.liens-utiles .title {
    color: #8e8e96;
    font-size: .941rem;
    line-height: 1;
    font-weight: 500;
    font-style: oblique;
}

.liens-utiles ul {
    list-style-type: none;
    margin: 0;
}

.liens-utiles ul a {
    display: block;
    margin: 0 .588rem;
}

.liens-utiles ul a img {
    display: block;
    max-height: 6.235rem;
    width: auto;
}

@media screen and (min-width: 48em) {

    .site-footer {
        padding-bottom: 0;
    }

    nav#site-navigation-main ul#main-menu,
    ul#menu-mentions-menu {
        flex-direction: row;
        justify-content: center;
        text-align: center;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Module emploi  #################################################################################### */

.taxonomy-content {
    margin-bottom: 1.765rem;
}

.taxonomy-content h2 {
    margin-bottom: .882rem;
}

.taxonomy-content h2 a {
    color: #3b3b3d;
    transition: .4s all ease;
}

.taxonomy-content h2 a:hover,
.taxonomy-content h2 a:focus {
    color: #0e72b5;
}

.taxonomy-content .date {
    margin-bottom: .588rem;
    font-size: .706rem;
    line-height: 1;
    color: #808084;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.taxonomy-content h3 {
    font-weight: 900;
    font-size: 1.176rem;
    line-height: 1;
    padding: 0;
}

.taxonomy-content h3 a {
    color: #97bf0d;
    transition: .4s all ease;
}

.taxonomy-content h3 a:hover,
.taxonomy-content h3 a:focus {
    color: #9f9fa6;
}

.taxonomy-content p {
    color: #808084;
    font-size: 1rem;
    line-height: 1;
    margin: 0;
    font-weight: 500;
}

.taxonomy-content .type-contrat {
    color: #58585a;
    font-weight: 700;
    font-size: 1.059rem;
    text-transform: uppercase;
    padding-top: .882rem;
    padding-bottom: .882rem;
}

.taxonomy-content .lieu-travail {
    display: flex;
    align-items: center;
    color: #97bf0d;
    font-size: 1.059rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-right: 1.765rem;
    padding-top: .882rem;
    padding-bottom: .882rem;
}

.taxonomy-content .lieu-travail svg {
    width: 1.353rem;
    margin-right: .588rem;
    fill: #97bf0d;
}

.taxonomy-content a.link-offer {
    display: block;
    text-align: center;
    background-color: #97bf0d;
    color: #FFF;
    font-size: 1.059rem;
    line-height: 1;
    font-weight: 900;
    max-width: fit-content;
    padding: .882rem 1.765rem;
    margin-top: .882rem;
    margin-bottom: .882rem;
    transition: .4s all ease;
}

.taxonomy-content a.link-offer:hover,
.taxonomy-content a.link-offer:focus {
    background-color: #9f9fa6;
    color: #FFF;
}

a.term-link {
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    color: #3b3b3d;
    font-size: 1.176rem;
    line-height: 1;
    font-weight: 900;
    transition: .4s all ease;
}

a.term-link svg {
    width: 3.529rem;
    fill: #3b3b3d;
    margin-right: .941rem;
    transform-origin: 50% 50%;
    transform: scaleY(1.0) rotate(0deg);
    transition: .4s all ease;
}

a.term-link:hover,
a.term-link:focus {
    color: #97bf0d;
}

a.term-link:hover svg,
a.term-link:focus svg {
    fill: #97bf0d;
    transform: scaleY(-1.0) rotate(45deg);
}

.taxonomy-content .emploi {
    padding-bottom: .882rem;
    border-bottom: 1px solid #d3d5d6;
    margin-bottom: .882rem;
}

h1.single-title {
    color: #97bf0d;
}

.panel-title {
    font-weight: 900;
    color: #58585a;
    font-size: 1.765rem;
    line-height: 1;
    display: flex;
    flex-direction: column;
    padding: 1.294rem 0;
    margin-bottom: 0;
}

.panel-title:before {
    display: block;
    content: '';
    background-color: #58585a;
    width: 6.529rem;
    height: .529rem;
    margin-bottom: 1.294rem;
}

.panel-body {
    color: #58585a;
    font-size: 1.059rem;
    font-weight: 500;
}

.panel-body span {
    color: #97bf0d;
    font-weight: 800;
}

.job-contact a,
.job-contact p {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    padding: 1.765rem .882rem;
    margin-bottom: .882rem;
    text-align: center;
    height: 9.412rem;
    width: 18.235rem;
    max-width: 100%;
    background-size: auto 125%;
    background-position: left 20% top -12.5%;
    background-repeat: no-repeat;
}

.job-contact a {
    color: #FFF;
    font-weight: 900;
    font-size: 1.941rem;
    line-height: 1;
    text-transform: uppercase;
}

.job-contact a span {
    font-weight: 500;
    font-style: oblique;
    font-size: 1.059rem;
    text-transform: initial;
    margin-left: auto;
    margin-right: 1.765rem;
}

.job-contact a.mail {
    background-color: #0e72b5;
    background-image: url(assets/images/bkg-emploi-contact.svg);
}

.job-contact a.form-link {
    background-color: #97bf0d;
    background-image: url(assets/images/bkg-emploi-form.svg);
}

.job-contact p {
    background-color: #ededef;
    color: #58585a;
    font-weight: 900;
    font-size: 1.412rem;
    line-height: 1;
    background-image: url(assets/images/bkg-emploi-phone.svg);
}

.job-contact p span {
    font-weight: 400;
    font-style: oblique;
}

.job-categorie {
    display: flex;
    flex-direction: column;
}

.job-categorie a {
    display: block;
    margin-bottom: .556rem;
    color: #3b3b3d;
    font-size: 1.176rem;
    line-height: 1;
    font-weight: 900;
    transition: .4s all ease;
}

@media screen and (min-width: 48em) {

    .job-contact a {
        font-size: 3.5vw;
    }

    .job-contact p {
        font-size: 3vw;
    }

}

@media screen and (min-width: 62em) {

    .job-contact a {
        font-size: 2.5vw;
    }

    .job-contact p {
        font-size: 1.6vw;
    }

}

@media screen and (min-width: 1200px) {

    .job-contact a {
        font-size: 1.8vw;
    }

    .job-contact p {
        font-size: 1.4vw;
    }

}


@media screen and (min-width: 102em) {

    .job-contact a {
        font-size: 1.941rem;
    }

    .job-contact p {
        font-size: 1.412rem;
    }
}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### FAQ  #################################################################################### */

.question {
    position: relative;
    padding-bottom: .882rem;
    border-bottom: 1px solid #d3d5d6;
    margin-bottom: .882rem;
    padding-right: calc(2.353rem + .882rem);
}

.answer-link {
    top: 0;
    right: 0;
    width: 2.353rem;
    height: 2.353rem;
    position: absolute;
    overflow: hidden;
}

.answer-link .open-answer {
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    padding: 0;
    width: 2.353rem;
    height: 2.353rem;
    transition: .4s all ease;
}

.answer-link .open-answer svg #fond {
    fill: #97bf0d;
    transition: .4s all ease;
}

.answer-link .open-answer svg #icone {
    fill: #FFF;
    transform: rotate(0deg);
    transition: .4s all ease;
}

.answer-link .open-answer:checked svg #icone {
    transform: rotate(90deg)
}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Pages communes  #################################################################################### */

.side-menu-communes ul#map-communes-menu {
    list-style-type: none;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.side-menu-communes ul#map-communes-menu a {
    display: block;
    color: #58585a;
    font-weight: 500;
    font-size: .941rem;
    line-height: 1.412rem;
    transition: .4s all ease;
}

.side-menu-communes ul#map-communes-menu a:hover,
.side-menu-communes ul#map-communes-menu a:focus,
.side-menu-communes ul#map-communes-menu li.current-menu-item a {
    color: #97bf0d;
    font-weight: 800;
}

.child-post-commune {
    margin-bottom: 0.882rem;
}

h3.child-title-commune {
    padding: 0;
    margin: 0;
}

h3.child-title-commune a {
    padding: 1.765rem;
    background-color: #3b3b3d;
    text-align: center;
    border-top-left-radius: 1.765rem;
    border-bottom-right-radius: 1.765rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #adadb5;
    height: 7.059rem;
    transition: .4s all ease;
}

h3.child-title-commune a:hover,
h3.child-title-commune a:focus {
    background-color: #97bf0d;
    color: #FFF;
}

@media screen and (min-width: 48em) {

    .side-menu-communes ul#map-communes-menu {
        align-items: flex-end;
        padding-right: 1.765rem;
        margin-right: 1.765rem;
        border-right: 1px solid #d3d5d6;
        text-align: right;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */


div#sponso {
    display: flex;
    align-items: center;
}

div#sponso img {
    width: 100px;
}

div#sponso div {
    padding: 0 1rem;
    text-align: left;
}