
@font-face {
    font-family: "Regular";
    src: url('../fonts/Quicksand.ttf');
}
@font-face {
    font-family: "Title";
    src: url('../fonts/Orbitron-VariableFont_wght.ttf');
}
@font-face {
    font-family: "Icons";
    src: url('../fonts/heydings_icons.ttf');
}

html, body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin:0;
	padding:0;
	font-family: 'Regular', sans-serif;
	color:#23272b;
	font-weight:normal;
	font-size:14px;
	background:#ffffff;
}

a:focus, input:focus { outline:none; }

input[type="text"], textarea, select {
	border:1px solid #ffffff;
	box-sizing:border-box;
	padding:10px;
	font-family:'Regular';
}

.message-error, .message-confirmation {
	margin:10px auto;
	padding:10px;
	font-size:17px;
	background:#CF5F5F;
	color:#FFFFFF;
}
.message-confirmation {
	background:#92BF4D;
}
.message-error a, .message-error a:visited, .message-confirmation a, .message-confirmation a:visited {
	color:#FFFFFF !important;
	text-decoration:underline;
	font-weight:bold;
}

.clear {
	display:block;
	margin:0;
	clear:both;
}

a {
	color:#ffffff;
	font-weight:bold; }
}
a:hover { color:#000000; }

a img { border:none; }


h1, h2, h3, h4, h5 {
	position:relative;
	margin:0;
	padding:20px 0;
	font-weight:bold;
	color:#000000;
	text-align:center;
	font-family:'Title';
}

h1 { font-size:40px; }
h2 { font-size:30px; }


span.pill {
	display:inline-block;
	padding:5px 15px;
	text-transform:none;
	font-size:14px;
	border-radius:20px;
	background:rgba(0, 0, 0, .1);
	font-family:'Regular';
	color:#666;
}

#mentions-legales-content h1 { font-size:50px; text-align:center; }
#mentions-legales-content h2 {
	margin:20px 0 0;
	padding:20px 0 0;
	text-align:center;
	font-size:25px;
}
#mentions-legales-content {
	max-width:1200px;
	margin:0 auto;
	text-align:left;
}


#site-down-content {
	max-width:1200px;
	margin:150px auto;
	text-align:center;
}
#table-down-for-maintenance {
	max-width:500px;
	margin:10px auto;
	text-align:center;
}

.main-content { padding:170px 0 0; }

.material-icons { vertical-align:sub; }


#overlay-loader {
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:url(../images/logo.png) no-repeat center #ffffff;
	z-index:10000;
}


span#back-to-top {
	width:50px;
	height:50px;
	position:fixed;
	bottom:10px;
	left:10px;
	z-index:100;
	background:url('../images/button-top.png') no-repeat top;
	box-shadow:0 0 20px rgba(0, 0, 0, .3);
}

header {
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	padding:0;
	background:#ffffff;
	box-sizing:border-box;
	box-shadow:0 0 15px rgba(0, 0, 0, .15);
	transition:all .2s;
	z-index:1000;
}

header a#logo {
	display:block;
	float:left;
	margin:0 auto 0 0;
	width:500px;
	height:100px;
	padding:0;
	background:url('../images/logo.png') no-repeat center top;
	background-size:auto 100%;
	transition:all .2s;
}

aside#header-top {
	display:block;
	float:right;
	height:30px;
}
aside#header-top ul {
	display:block;
	margin:0;
	padding:70px 23px 0;
	list-style:none;
}
aside#header-top ul li {
	display:inline-block;
	margin:0;
	padding:0;
}
aside#header-top ul li a {
	display:block;
	padding:0 20px;
	line-height:30px;
	border-radius:4px 4px 0 0;
	text-decoration:none;
	background:#e5e5e5;
	color:#606163;
}

header nav {
	clear:both;
	display:block;
	margin:0;
	width:100%;
	padding:0;
	box-sizing:border-box;
	background:#0d3082;
}
header nav ul {
	display:block;
	margin:0;
	padding:0;
	list-style:none;
	text-align:center;
}
header nav ul li {
	position:relative;
	display:inline-block;
	margin:0;
	padding:0;
}
header nav ul li a {
	display:block;
	padding:20px;
	font-family:'Regular';
	font-weight:normal;
	font-size:18px;
	letter-spacing:1px;
	color:#ffffff;
	text-decoration:none;
	text-transform:uppercase;
	cursor:pointer;
	transition:all .2s;
}
header nav ul li a:hover {
	background:#e2001a;
}
header nav ul li a span.material-icons {
	display:inline-block;
	vertical-align:sub;
	font-size:21px;
}



header.sticky {
	transition:all .2s;
}

#button-phone, #footer-blocks a[href*="tel"] {
	display:block;
	position:fixed;
	top:15px;
	right:20px;
	width:220px;
	box-shadow:0 0 15px rgba(0, 0, 0, .15);
	border:2px solid #e2001a;
	background:#e2001a;
	color:#fff;
	line-height:40px;
	border-radius:40px;
	text-align:center;
	font-size:20px;
	text-decoration:none;
	z-index:1001;
}
#button-phone:hover {
	background:#ffffff;
	color:#e2001a;
}
#button-phone span.material-icons, #footer-blocks a[href*="tel"] span.material-icons { vertical-align:middle; }



ul.nav-submenus {
	display:none;
	list-style:none;
	padding:0;
	margin:0 auto;
	width:100%;
	max-width:400px;
	background:#0d3082;
}
header nav ul.nav-submenus li {
	display:block;
	padding:0;
	margin:0;
	height:auto;
	line-height:normal;
	text-align:left;
}
ul.nav-submenus li a {
	display:block;
	padding:20px;
	font-family:'Regular', sans-serif;
	text-shadow:none;
	font-size:15px;
	font-weight:normal;
	color:#ffffff;
	text-transform:none;
	height:auto;
	text-align:center;
	white-space: nowrap;
	line-height:normal;
}





a[data-link-type="cms-styled-button"],
span[data-link-type="cms-styled-button"],
input[type="button"] {
	display:inline-block;
	margin:0 10px;
	padding:15px 20px;
	text-align:center;
	box-sizing:border-box;
	box-shadow:0 0 15px rgba(0, 0, 0, .15);
	border-radius:4px;
	background:#0e2e82;
	border:1px solid #0e2e82;
	border-radius:100px;
	color:#fff;
	font-family:'Title';
	font-weight:bold;
	text-decoration:none;
	transition:all .3s;
}
a[data-link-type="cms-styled-button"]:hover,
span[data-link-type="cms-styled-button"]:hover,
input[type="button"]:hover {
	background:transparent;
	color:#0d2e82;
	transition:all .3s;
}
input[type="button"] {
	padding:10px 15px;
	cursor:pointer;
}

a[data-link-type="cms-styled-button"] span.material-icons {
	display:inline-block;
	vertical-align:sub;
	font-size:130%;
}



footer {
	position:relative;
	display:block;
	padding:0;
	box-sizing:border-box;
	background:#0d2e82;
	color:#fff;
}
footer #footer-block-contact-wrapper {
	padding:0;
	text-align:center;
}
footer #footer-block-contact {
	margin:0 auto;
	padding:100px 0 30px;
	background:#fff;
	color:#23272b;
	text-align:center;
}
footer #footer-block-contact-wrapper h2,
#page-contact-form-general h2 {
	margin:0;
	padding:0;
	font-size:40px;
	color:#000;
	text-align:center;
}
#footer-block-contact-form-wrapper {
	margin:0 auto;
	max-width:600px;
}
#footer-block-contact-form-wrapper select,
#footer-block-contact-form-wrapper input[type="text"],
#footer-block-contact-form-wrapper textarea {
	display:block;
	margin:0 0 10px;
	padding:10px;
	width:100%;
	box-shadow: 0 0 15px rgba(0, 0, 0, .15);
	box-sizing:border-box;
	background:#ffffff;
	font-family:'Regular';
	font-size:14px;
}
#footer-block-contact-form-wrapper textarea { height:130px; }
#footer-block-contact-form-wrapper input[type="button"] {
	padding:20px 30px; 
	background:#0d2e82;
	color:#ffffff;
	border-color:#0d2e82;
}
#footer-block-contact-form-wrapper input[type="button"]:hover {
	background:#ffffff;
	color:#0d2e82;
}
footer a[data-link-type="cms-styled-button"] { color:#ffffff; }

#form-contact-confirmation {
	margin:0 auto 10px;
	padding:20px;
	box-sizing:border-box;
	max-width:600px;
}

#footer-legal-notice {
	padding:0 10px 100px;
	color:#fff;
	font-size:14px;
	text-align:center;
}
#footer-legal-notice a {
	color:#fff;
	text-decoration:none;
}

#footer-blocks ul {
	margin:0;
	padding:40px 0;
	list-style:none;
	text-align:center;
}
#footer-blocks img[src*="logo-footer"] {
	width:200px;
	box-shadow:0 0 20px rgba(0, 0, 0, .3);
}
#footer-blocks img[src*="logo-rge"] { height:100px; }
#footer-blocks ul li {
	display:inline-block;
	vertical-align:top;
	width:100%;
	max-width:400px;
	text-align:left;
}
#footer-blocks ul li p {
	margin:0 0 20px;
	line-height:30px;
}
#footer-blocks ul li a {
	text-decoration:none;
	font-weight:normal;
}
#footer-blocks a[href*="tel"] {
	position:static;
	font-weight:bold;
	font-size:20px;
}



#cookies-rules {
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	padding:20px;
	box-sizing:border-box;
	background:rgba(0, 0, 0, .7);
	color:#FFFFFF;
	font-size:13px;
	text-align:center;
	z-index:10;
}
a#cookies-button-hide, a#cookies-button-more-infos {
	border:1px solid #fff;
	margin:0 0 0 10px;
	padding:10px;
	color:#fff;
	text-decoration:none;
	transition:all .5s;
}
a#cookies-button-more-infos, a#cookies-button-hide:hover {
	border-color:#000;
	background:#000;
	transition:all .5s;
}
a#cookies-button-more-infos:hover {
	border-color:#fff;
	background:none;
}











#navbread-wrapper {
	padding:40px 0;
	text-align:left;
	font-size:12px;
	color:#0e2b4b;
}
#navbread {
	max-width:1200px;
	margin:0 auto;
}
#navbread-wrapper a {
	color:#0e2b4b;
	font-weight:normal;
	text-decoration:underline;
}


span.title-before, article.page-general h1 {
	display:block;
	font-family:'Regular';
	text-transform:uppercase;
	font-size:15px;
	letter-spacing:2px;
	text-align:center;
}






#index-content { padding:170px 0 0; }

#index-big-pushes {
	margin:0 auto 20px;
	height:800px;
	position:relative;
}
#index-big-pushes a[id^="index-big-push-"] {
    display: flex;
    align-items: center;
    justify-content: center;
	position:absolute;
	text-decoration:none;
	font-family:'Title';
}
.index-big-push-image {
	position:absolute;
	left:10px;
	top:10px;
	display:block;
	width:calc(100% - 20px);
	height:calc(100% - 20px);
	border-radius:10px;
	overflow:hidden;
	z-index:1;
	transition:all .2s;
}
#index-big-pushes a[id^="index-big-push-"]:hover .index-big-push-image {
	left:5px;
	top:5px;
	width:calc(100% - 10px);
	height:calc(100% - 10px);
	transition:all .2s;
}
#index-big-pushes a[id^="index-big-push-"]:hover .index-big-push-image:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 50%,
        rgba(0, 0, 0, .6) 100%
    );
}
.index-big-push-title {
	display:none;
	padding:0;
	text-align:center;
	text-decoration:none;
	font-size:30px;
	color:#fff;
	z-index:2;
}
#index-big-pushes a[id^="index-big-push-"]:hover .index-big-push-title { display:block; }
#index-big-push-couverture {
	width:33.333%;
	height:100%;
	left:0;
	top:0;
}
#index-big-push-etancheite {
	width:33.333%;
	height:50%;
	left:33.333%;
	top:0;
}
#index-big-push-plomberie {
	width:33.333%;
	height:50%;
	left:33.333%;
	top:50%;
}
#index-big-push-zinguerie {
	width:33.333%;
	height:50%;
	left:66.666%;
	top:0;
}
#index-big-push-particuliers {
	width:33.333%;
	height:16.666%;
	left:66.666%;
	top:50%;
}
#index-big-push-professionnels {
	width:33.333%;
	height:16.666%;
	left:66.666%;
	top:66.666%;
}
#index-big-push-collectivites {
	width:33.333%;
	height:16.666%;
	left:66.666%;
	top:83.3326%;
}

#index-big-pushes a[id^="index-big-push-"] .index-big-push-image { background-size:cover; background-position:center; }
#index-big-push-couverture .index-big-push-image { background-image:url('../images/index-big-push-03.jpg'); }
#index-big-push-etancheite .index-big-push-image { background-image:url('../images/index-big-push-02.jpg'); }
#index-big-push-plomberie .index-big-push-image { background-image:url('../images/index-big-push-01.jpg'); }
#index-big-push-zinguerie .index-big-push-image { background-image:url('../images/index-big-push-04.jpg'); }
#index-big-push-particuliers .index-big-push-image { background-image:url('../images/index-big-push-01.jpg'); }
#index-big-push-professionnels .index-big-push-image { background-image:url('../images/index-big-push-01.jpg'); }
#index-big-push-collectivites .index-big-push-image { background-image:url('../images/index-big-push-01.jpg'); }


#index-block-welcome {
	margin:80px auto;
	max-width:1200px;
	display: flex;
	flex-direction: row;
	gap:0;
	align-items:stretch;
}
#index-block-welcome-image {
  flex: 1;
  border-radius:20px;
  background:url('../images/index-welcome.jpg') no-repeat;
  background-size:cover;
  background-position:center;
}

#index-block-welcome-text {
  flex: 2;
  padding:20px;
}

#index-block-news {
	padding:40px 0;
	background:rgba(0, 0, 0, .05);
	text-align:center;
}

#index-block-reinssurance {
	margin:0;
	padding:50px 20px;
	background:rgba(0, 0, 0, .05);
	text-align:center;
}
#index-block-reinssurance ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 20px;
  padding: 0;
  max-width:1200px;
  margin:0 auto 40px;
  list-style: none;
}

#index-block-reinssurance ul li {
  flex: 1;
  padding:20px;
  text-align:center;
}
#index-block-reinssurance ul li span.material-icons {
	margin:0 auto 20px;
	font-size:60px;
	color:#6c6d6f;
}
#index-block-reinssurance ul li strong {
	display:block;
	margin:0 auto 20px;
	font-family:'Title';
	font-size:20px;
	color:#0e2e82;
}


#index-block-partners { padding:40px 0; }
#partners-list {
    width: 100%;
    padding: 20px 0;
}
#partners-list #partners-slider li a {
    display: flex;
	height:100px;
    align-items: center;
    justify-content: center;
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;
    filter: grayscale(100%);
}
#partners-list #partners-slider li a:hover {
    filter: grayscale(0%);
}
#partners-list .lSSlideOuter .lSSlideWrapper .lSSlide {
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    width: 100% !important;
}
#partners-list .lSSlideOuter .lSSlideWrapper .lSSlide > li {
    float: none !important;
}





#news-small-blocks-wrapper {
	max-width:1200px;
	margin:0 auto;
	text-align:center;
}
article.news-small-blocks {
	display:inline-block;
	position:relative;
	background:#ffffff;
	margin:20px 30px 80px;
	padding:0;
	vertical-align:top;
	width:calc(33% - 65px);
	box-sizing:border-box;
	font-weight:normal;
	text-decoration:none;
	border-radius:15px;
	overflow:hidden;
	box-shadow:0 5px 15px rgba(0, 0, 0, .15);
	transition:all .3s;
}
article.news-small-blocks:hover {
	transform:scale(1.05);
	transition:all .3s;
}
article.news-small-blocks a {
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:2;
}
.news-small-block-image {
	display:block;
	height:200px;
	background-position:center;
	background-size:cover;
}
article.news-small-blocks h3 {
	display:block;
	margin:0;
	padding:20px;
	background:#0e2e82;
	color:#ffffff;
	font-size:20px;
	font-weight:bold;
}
article.news-small-blocks p {
	display:block;
	margin:0;
	padding:0 30px 30px;
	text-align:left;
}
article.news-small-blocks p a {
	font-weight:normal;
}

#page-news-subtitle-list-news {
	margin:0;
	padding:0;
	text-align:center;
	font-size:40px;
}




#index-block-photos { background:none; }
#index-block-photos ul {
	margin:0 auto;
	padding:0;
	max-width:1130px;
	text-align:center;
}
#index-block-photos ul li {
	margin:20px;
	width:200px;
	background:#ffffff;
	border-radius:5px;
}
#index-block-photos p.index-block-punchline {
	left:auto;
	right:0;
}



#page-cover {
	position:relative;
	height:600px;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}
#page-cover.no-image { height:auto; }
#page-title-wrapper {
	margin:0 auto;
	max-width:1200px;
	text-align:left;
}
#page-title-wrapper h1 {
	margin:0;
	padding:50px 0 10px;
	color:#000000;
	font-family:'Title';
	font-size:50px;
	text-align:left;
}
#page-cover p {
	display:inline-block;
	margin:0;
	padding:10px;
	color:#ffffff;
	font-size:30px;
}
#page-content-general {
	padding:0;
}
article.page-general p {
	margin:0 auto;
	padding:0 0 20px;
	max-width:1200px;
	font-size:18px;
}



article.page-general {
	margin:0 auto;
	padding:0;
	vertical-align:top;
	max-width:1200px;
}
article.page-general h2 {
	clear:both;
	text-align:center !important;
	font-size:40px;
}

article.page-general img { margin:0 20px 20px; }






article.page-general ul,
#page-list-subpages ul {
	margin:0 auto;
	padding:20px 0 0;
	list-style:none;
	text-align:center;
}
article.page-general ul li,
#page-list-subpages ul li {
	display:inline-block;
	margin:0 20px 40px;
	width:calc(50% - 44px);
	min-height:360px;
	padding:20px;
	font-size:16px;
	box-sizing:border-box;
	background:#ffffff;
	vertical-align:top;
}
article.page-general ul li strong ,
#page-list-subpages ul li a span.title {
	font-family:'Title';
	font-size:30px;
	font-weight:normal;
	color:#000000;
}


#page-list-subpages {
	margin:0 auto;
	padding:40px 0 0;
	max-width:1200px;
	list-style:none;
}

#page-list-subpages ul li { padding:0; }
#page-list-subpages ul li a {
	position: relative;
	display:block;
	background:#ffffff;
	margin:0;
	padding:0;
	vertical-align: top;
	border-radius: 2px;
	box-sizing: border-box;
	color:#000000;
	min-height:400px;
	font-weight:normal;
	text-align: center;
	filter:grayscale(1);
	text-decoration:none;
	transition:all .5s;
}
#page-list-subpages ul li a:hover {
	transform:scale(1.05);
	box-shadow:0 5px 20px rgba(0, 0, 0, .2);
	filter:grayscale(0);
	transition:all .5s;
}
#page-list-subpages ul li a span { display:block; }
#page-list-subpages ul li a span.title {
	padding:100px 20px;
	font-size:50px;
	font-family:'Title';
	text-shadow:0 0 10px rgb(0, 0, 0, 1);
	background:linear-gradient(180deg,rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
	color:#ffffff;
}
#page-list-subpages ul li a span.text {
	margin:0 20px 20px;
	padding:20px;
	width:calc(100% - 40px);
	background:#000000;
	box-sizing:border-box;
	color:#ffffff;
}
#page-list-subpages ul li a span.button {
	margin:20px auto;
	display:block;
	width:250px;
}
#page-list-subpages ul li a:hover span.button {
	background-color:#000000;
	color:#ffffff;
}


#page-cms-contact {
	margin:20px 0 0;
	padding:20px;
	background:#fff;
	text-align:center;
}
#page-cms-contact h3 {
	margin:0;
	padding:0 0 20px;
	font-size:40px;
	text-align:center;
}
#page-cms-contact p { margin:0; padding:0 0 20px; }





#page-gallery-wrapper {
	margin:0;
	padding:40px 0 0;
	text-align:center;
}
#page-gallery-wrapper h2 {
	font-size:40px;
	text-align:center;
}
.album-gallery {
	margin:0 auto;
	max-width:1120px;
	padding:0;
	clear:left;
}

.album-gallery a {
	display:block;
	width:calc(25% - 5px);
	height:auto;
	transition:all .5s;
}
@media screen and (max-width:1000px) {
	.album-gallery a { width:calc(50% - 10px); }
}
.album-gallery a img {
	width:100%;
	border:5px solid #FFFFFF;
	box-sizing:border-box;
	height:auto;
}
@media screen and (min-width:1000px) {
	/* Only if screen > 1000px large */
	.album-gallery a img:hover {
		-webkit-transform: scale(1.05);
		-ms-transform: scale(1.05);
		transform: scale(1.05);
		z-index:100;
		box-shadow:0 0 5px rgba(0, 0, 0, .5);
		border:5px solid #FFFFFF;
		transition:all .5s;
	}
}











#page-contact-form-general {
	margin:0 auto;
	padding:100px 10px;
	background:#191919;
	text-align:center;
	color:#f8e6c2;
}
#page-contact-form-general #form-wrapper {
	margin:0 auto;
	max-width:600px;
}
#page-contact-form-general input[type="text"], #page-contact-form-general select, #page-contact-form-general textarea {
	width:100%;
	height:40px;
	margin:10px 0;
	padding:10px 16px;
	box-sizing:border-box;
	border:1px solid #000000;
	font-family:'PT Sans', sans-serif;
	font-size:14px;
	background:#ffffff;
}
#page-contact-form-general textarea { height:140px; }
#page-contact-form-general input[type="button"], #page-contact-form-general input[type="submit"] { cursor:pointer; }




/* Back-office - Toolbar en Front-office - EOF */
@font-face {
    font-family: "Icons";
    src: url('../fonts/heydings_icons.ttf');
}
#front-office-toolbar {
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	padding:0 0 0 10px;
	z-index:99999;
	box-sizing:border-box;
	font-size:15px;
	background:#000000;
	color:#CCCCCC;
	box-shadow:0 0 5px rgba(0, 0, 0, .3);
}
#front-office-toolbar a, #front-office-toolbar a:visited {
	margin:0 10px;
	display:inline-block;
	padding:10px;
	color:#CCCCCC;
	text-decoration:none;
	transition:all .5s;
}
#front-office-toolbar a:hover {
	background:#5b544d;
	transition:all .5s;
	text-shadow:0 0 2px rgba(0, 0, 0, .5);
}
#front-office-toolbar span.icons {
	margin:0 5px 0 0;
	font-family:'Icons';
	font-size:15px;
	color:#CCCCCC;
}
/* Back-office - Toolbar en Front-office - EOF */