/* Exo 2 + Montserrat self-hosted (latin subset) so no visitor data goes to Google Fonts before consent */
@font-face {
  font-family: 'Exo 2';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/Exo2-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/Exo2-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/Montserrat-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/Montserrat-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}1,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* AOS entrance animations translate elements sideways before they animate in:
   `data-aos="fade-left"` applies translate3d(100px, 0, 0). On narrow screens
   the elements carrying it (.banner_left, .offerRightSection and friends) are
   already the full width of the viewport, so that 100px offset made the
   document 100px wider than the screen and the whole page could be swiped
   horizontally. Clip it at the root: nothing on the site scrolls sideways by
   design, and there are no position:sticky descendants for this to break. */
html,
body {
	overflow-x: hidden;
}

body {
	font-family: "Montserrat", sans-serif;
  	font-optical-sizing: auto;
	color: #333333;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Exo 2", sans-serif;
	font-optical-sizing: auto;
}

a {
	color: #e31e14;
	text-decoration: none;
	background-color: transparent;
}

a:hover {
	color: #e31e14;
}

header {
	background-color: #fff;
}

.navbar-brand img {
	width: 220px;
}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	z-index: 9999;
	box-shadow: 2px 2px 2px RGBA(0, 0, 0, 0.1)
}

.banner {
	background: #efefef url(../images/power-icon-grey.png) 101% -60px no-repeat;
	padding-bottom: 300px;
	background-size: 40%;
}

.banner_img {
	right: 0;
}

.banner_left {
	padding-top: 82px;
}

.banner h1,

.banner h2 {
	font-size: 35px;
	font-weight: 700;
	font-style: normal;
	font-stretch: normal;
	line-height: 1;
	letter-spacing: normal;
	color: #000000;
	font-family: "Exo 2", sans-serif;
  font-optical-sizing: auto;
}

.banner h1 span,

.banner h2 span {
	font-size: 24px;
	font-weight: 700;
	font-style: normal;
}

.banner h5 {
	font-size: 24px;
	font-weight: 600;
	font-style: normal;
	font-stretch: normal;
	line-height: normal;
	letter-spacing: normal;
	color: #000;
	margin: 0px 0 40px 0;
	position: relative;
	text-transform: uppercase;
	font-family: "Exo 2", sans-serif;
  font-optical-sizing: auto;
}

.primary-button {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#cc2620+1,aa2725+100 */
	background: #cc2620;
	/* Old browsers */
	background: -moz-linear-gradient(top, #cc2620 1%, #aa2725 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, #cc2620 1%, #aa2725 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #cc2620 1%, #aa2725 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc2620', endColorstr='#aa2725', GradientType=0);
	/* IE6-9 */

	color: #fff !important;
	text-transform: uppercase;
	padding: 12px 30px;
	border-radius: 25px;
	text-decoration: none;
	margin-top: 20px;
	display: inline-block;
	margin-right: 5px;
}

.primary-button:hover {
	background-image: none;
	background-color: #aa2725;
	text-decoration: none;
}

.contact-form .error .error {
	color: red;
}

.contact-form .error .form-control {
	border-color: red
}

.text-button {
	padding: 12px 30px;
	text-decoration: underline;
	color: #e31e14;
	font-size: 16px;
}

.text-button:hover {
	text-decoration: none;
	color: #e31e14;
}

.banner h5:after {
	width: 94px;
	background: #e31e14;
	content: "";
	height: 4px;
	position: absolute;
	bottom: -20px;
	left: 0;
}

.services-list {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 22px;
	list-style: none;
}

.services-list li {
	width: 170px;
	list-style: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.services-list li:hover h3 {
	color: #333;
}

.round {
	height: 170px;
	border-radius: 50%;
	background: #fff;
	text-align: center;
}

.round img {
	width: 100px;
	margin: 0 auto;
}

.services-list li h3 {
	font-size: 15px;
	text-align: center;
	color: #e31e14;
	margin-top: -20px;
	font-weight: 600;
	text-transform: uppercase
}

.services-list li:last-child {
	margin-right: 0;
}

.services-list li:last-child .round img {
	width: 94px;
}

.service {
	margin-top: 0;
	padding-top: 30px;
}

.round img {
	max-width: 100%;
	height: 100%;
	margin: 38px;
}

.IconBox {
	width: 100%;
	text-align: center;
}

.offers-section {
	background: url(../images/bg.png) 100% 0 no-repeat;
	padding: 130px 0 260px 0
}

.offers-section h3 {
	font-size: 30px;
	font-weight: 300;
	font-style: normal;
	font-stretch: normal;
	line-height: normal;
	letter-spacing: normal;
	color: #333333;
	padding-top: 50px;
}

.offers-section p {
	font-size: 16px;
	padding-top: 50px;
}

.offerLeftSection {
	overflow: hidden;
	padding: 0 100px 0 95px;
}

.offerLeftSection h3 {
	font-weight: 400;
	font-size: 42px;
}

.offeRightSection {
	width: 100%;
	overflow: hidden;
	margin-bottom: 125px;
}

.offerRightSection ul {
	width: 100%;
	float: left;
}

.offerRightSection ul li {
	list-style-type: none;
	padding-bottom: 10px;
	font-size: 16px;
}

.offerRightSection ul li::before {
	content: "\f111";
	;
	color: #999999;
	font-weight: bold;
	display: inline-block;
	margin-left: -1em;
	font-size: 10px;
	font-family: 'FontAwesome';
	margin-right: 10px;
}

.link-button {
	padding: 10px 0;
	text-decoration: underline;
}

.link-button strong {
	font-weight: 600;
}

.link-button:hover {
	text-decoration: none;
}

.foot-nav {
	width: 100%;

}

.foot-nav .nav-item {
	display: inline-block;
}

.foot-nav .nav {
	text-align: center;
	display: block;
	margin-bottom: 20px;
}

.foot-nav .nav-item a {
	color: #000;
	border-right: solid 1px #333;
	padding: 0 15px;
	line-height: 1;
}

.foot-nav .nav-item:last-child a {
	border-right: none;
}

.copyright {
	font-size: 12px;
	color: #333;
}

.precedent,
.suivant {
	width: 5%;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #fff;
	text-align: center;
	opacity: .5;
	transition: opacity .15s ease;
}

.suivant {
	right: -80px;
}

.precedent {
	left: -80px;
}

.carousel {
	display: block;
	position: relative;
	width: 100%;
	margin: 10px auto;
}

.carousel-container {
	margin: 20px 40px;
	display: block;
	overflow: hidden;
	width: 99%;
	margin: 0 auto;
}

.carousel-wrapper,
.carousel-wrapper2 {
	clear: both;
	height: auto;
	overflow: hidden;
	margin: 0;
}

.carousel-element {
	width: 100%;
	height: 330px;
	float: left;
	margin: 0;
	padding: 0;
	border: 1px;
}

.productslider .carousel-element {
	height: 140px;
}

.productslider {
	width: 100%;
}

.productslider .productLogo {
	margin: 0 10px;
	width: auto
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
	width: 32px;
}

.carousel-control-prev-icon {
	background-image: url(../images/arrow-right.svg)
}

.carousel-control-next-icon {
	background-image: url(../images/arrow-left.svg)
}

.CallBox {
	width: 100%;
	background: #ae2724;
	border-radius: 15px;
	position: relative;
	padding: 53px 0;
	top: -123px;

}

.CallBox .inner {
	width: 80%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

}

.CallBox>.inner>span {
	font-size: 25px;
	color: #fff;
}

.CallBox>.inner>h2 {
	color: #fff;
	font-size: 45px;
	font-weight: 600;
	position: relative;
	margin: 20px 0;
}

.CallBox>.inner>h2:before {
	width: 100px;
	content: " ";
	background: #fff;
	position: absolute;
	top: -15px;
	left: 50%;
	height: 2px;
	margin-left: -50px;
}

.CallBox>.inner>a {
	color: #fff;
	border: solid 1px #e8c8c7;
	border-radius: 30px;
	padding: 15px 20px;
	background: #6f1412;
	margin-top: 10px;
	font-weight: 600;
	text-transform: uppercase;
	min-width: 200px;
	text-align: center;
}

.CallBox>.inner>a:hover {
	background: #ae2724;
	text-decoration: none
}

.service-circle-big,
.service-circle-big2 {
	width: 395px;
	height: 395px;
	background: #fff;
	border-radius: 100%;
	text-align: center;
	line-height: 350px;
	border: 20px solid #efefef;
	position: absolute;
	margin-top: 75px;
	z-index: 1;
	margin-left: 20px;
}

.service-circle-big img,
.service-circle-big2 img {
	width: 200px;
	max-width: 200px;
}

.service-circle-big2 {
	margin-left: -115px;
}

.service-roundrec {
	width: 100%;
	float: left;
	background: #fff;
	border-radius: 15px;
	margin-top: 69px;


}

.service-roundrec-right {
	margin-left: -100px;
	padding: 85px 111px 85px 210px;
}

.service-roundrec-left {
	margin-left: 40px;
	padding: 85px 210px 85px 111px;
}

.service-roundrec h2 {
	font-size: 26px;
	color: #333333;
	font-family: "Exo 2", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	margin-bottom: 15px;
}

.service-roundrec p {
	font-size: 14px;
	color: #333;
	margin-bottom: 30px;
}

.quote-button {
	font-size: 14px;
	color: #e31e14;
	text-decoration: none;
	padding: 10px 24px;
	border: 1px solid #e31e14;
	font-weight: 600;
	margin-right: 10px;
	border-radius: 25px;
	background: #fff;
	display: inline-block;
}

.quote-button:hover {
	background: #e31e14;
	color: #fff;
	text-decoration: none;

}

.more-button {
	font-size: 14px;
	border-radius: 25px;
	border: 1px solid transparent;
	padding: 10px 0px;
	color: #e31e14;
	text-decoration: underline;
	display: inline-block;
}

.more-button strong {
	font-weight: 600;
}

.more-button:hover {
	text-decoration: none;
}

.section-heading {
	color: #ae2724;
	font-size: 32px;
	font-family: "Exo 2", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	text-align: center;
	padding-bottom: 40px;
}

.ProductSec .section-heading {
	padding-bottom: 0;
}

.productLogo {
	width: 100%;
	border: 1px solid #cccccc;
	text-align: center;
	margin-bottom: 25px;
}

.productLogo img {
	max-width: 100%;
}

.ProductSec {
	width: 100%;
	overflow: hidden;
	background: #efefef;
	padding: 80px 0;
}

.ProInner {
	width: 100%;
	overflow: hidden;
	margin-bottom: 25px;
}

.PContant {
	width: 100%;
	overflow: hidden;
	margin: 20px 0;
}

.PContant h3 {
	color: #e31e14;
	font-size: 16px;
	font-weight: 600;
	line-height: 18px;
}

.PContant p {
	color: #333333;
	font-size: 14px;
	line-height: 18px;
}

.PContant a {
	font-size: 14px;
	color: #e31e14;
	text-decoration: underline;
}

.ContactSec {

	background: #fff;
	padding: 60px 0;
	margin-top: 90px;
}

.contact-sec-inner {
	padding: 0 60px;
}

.ConInner .Icon a {
	width: 110px;
	height: 110px;
	border-radius: 100%;
	border: 2px solid #cccccc;
	text-align: center;
	/* line-height: 110px; */
	margin: 0 auto;
	font-size: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #b72623;
	cursor: pointer;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

.ConInner .Icon a {
	color: #b72623;
}

.ConInner .Icon:hover a {
	color: #fff;
}

.ConInner .Icon:hover a {
	-webkit-transform: scale(0.93);
	-moz-transform: scale(0.93);
	-ms-transform: scale(0.93);
	-o-transform: scale(0.94);
	transform: scale(0.94);
	background: #b72623;
	color: #fff;
	border: 2px solid #b72623;
	text-decoration: none
}

.ConInner {
	width: 100%;
	text-align: center;
	padding: 0;
}

.ConInner .AddText {
	width: 100%;
	overflow: hidden;
	padding: 20px 0px;
	margin: 15px 0;

}

.ConInner .AddText h3 {
	color: #333;
	font-weight: 600;
	font-size: 16px;
	margin-bottom: 0;
	display: inline-block;
}

.ConInner .AddText p {
	display: inline-block;
}

.AddText a {
	color: #e31e14;
	text-decoration: none;
}

.RigthSec a {
	color: #ae2724
}

/*=========================
  Icons
 ================= */
/* footer social icons */
ul.social-network {
	list-style: none;
	display: inline;
	margin-left: 0 !important;
	padding: 0;
}

ul.social-network li {
	display: inline-block;
	margin: 0 5px;
}

/* footer social icons */
.social-network a.icoRss:hover {
	background-color: #F56505;
}

.social-network a.icoFacebook:hover {
	background-color: #3B5998;
}

.social-network a.icoInstagram:hover {
	background-color: #E1306C;
}

.social-network a.icoGoogle:hover {
	background-color: #BD3518;
}

.social-network a.icoVimeo:hover {
	background-color: #0590B8;
}

.social-network a.icoLinkedin:hover {
	background-color: #007bb7;
}

.social-network a.icoRss:hover i,
.social-network a.icoFacebook:hover i,
.social-network a.icoInstagram:hover i,
.social-network a.icoGoogle:hover i,
.social-network a.icoVimeo:hover i,
.social-network a.icoLinkedin:hover i {
	color: #fff;
}

a.socialIcon:hover,
.socialHoverClass {
	color: #44BCDD;
}

.social-circle li a {
	display: inline-block;
	position: relative;
	margin: 0 auto 0 auto;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	text-align: center;
	width: 37px;
	height: 37px;
	font-size: 20px;
}

.social-circle li i {
	margin: 0;
	line-height: 38px;
	text-align: center;
	color: #cc2620;
}

.social-circle li a:hover i,
.triggeredHover {
	-moz-transform: rotate(360deg);
	-webkit-transform: rotate(360deg);
	-ms--transform: rotate(360deg);
	transform: rotate(360deg);
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	-ms-transition: all 0.2s;
	transition: all 0.2s;
}

.social-circle i {
	color: #fff;
	-webkit-transition: all 0.8s;
	-moz-transition: all 0.8s;
	-o-transition: all 0.8s;
	-ms-transition: all 0.8s;
	transition: all 0.8s;
}

.social-circle a {
	background-color: #D3D3D3;
}

.GrayBox {
	width: 100%;
	background: #efefef;

	padding-bottom: 77px;
}

/* The red CallBox CTA is pulled up with `top: -123px` so it straddles the
   boundary with the section above, which is normally a different colour.
   On pages where the CTA follows another .GrayBox both sections are the same
   grey, so instead of a deliberate overlap the banner just lands flush against
   (in fact 50-75px on top of) the content above it. `cta-gap` drops the
   overlap and lets the banner sit in normal flow on those pages. */
.GrayBox.cta-gap .CallBox {
	top: 0;
}

.navbar {
	padding-top: 3px;
	padding-bottom: 0px;
}

.navbar-light .navbar-nav {
	font-weight: 600;
}

.navbar-light .navbar-nav .nav-link {
	font-size: 14px;
	padding: 25px 16px;
	text-transform: uppercase;
	color: #666666;
	border-bottom: solid 3px RGBA(0, 0, 0, 0)
}

.navbar-light .navbar-nav .nav-item {
	position: relative
}

.navbar-light .navbar-nav .nav-item:hover .nav-link {
	color: #333;
}

.navbar-light .navbar-nav .active .nav-link {
	border-bottom-color: RGB(0, 0, 0);
	color: #333;
}

.navbar-light .navbar-nav ul {
	position: absolute;
	left: 0;
	top: 71px;
	padding: 0;
	margin: 0;
	list-style: none;
	border-top: solid 3px #cb2620;
	display: none;
	background: #333333;
	z-index: 99999;

}

.navbar-light .navbar-nav .nav-item:hover ul {
	display: block
}

.navbar-light .navbar-nav ul li a {
	display: block;
	padding: 10px 15px;
	color: #fff;
}

.social-media {
	text-align: center;
}

/*Inner page */
.inner-hero {
	width: 100%;
	overflow: hidden;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#cc2620+1,aa2725+100 */
	background: #cc2620;
	/* Old browsers */
	background: -moz-linear-gradient(top, #cc2620 1%, #aa2725 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, #cc2620 1%, #aa2725 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #cc2620 1%, #aa2725 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc2620', endColorstr='#aa2725', GradientType=0);
	/* IE6-9 */


}

.inner-hero {
	padding: 110px 0;
}

#banner .fa {
	font-size: 40px;
}

#banner .carousel-control-next {
	justify-content: flex-end;
	text-align: right;

}

#banner .carousel-control-prev {
	justify-content: left;
	text-align: left;
}

.inner-hero-small {
	padding: 80px 0 100px 0;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#cc2620+1,aa2725+100 */
	background: #cc2620;
	/* Old browsers */
	background-image: url(../images/powericon-innerpage.svg);
	background: url(../images/powericon-innerpage.svg) 70% top no-repeat, -moz-linear-gradient(top, #cc2620 1%, #aa2725 100%);
	/* FF3.6-15 */
	background: url(../images/powericon-innerpage.svg) 70% top no-repeat, -webkit-linear-gradient(top, #cc2620 1%, #aa2725 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: url(../images/powericon-innerpage.svg) 70% top no-repeat, linear-gradient(to bottom, #cc2620 1%, #aa2725 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc2620', endColorstr='#aa2725', GradientType=0);
	/* IE6-9 */

}

.inner-hero .banner_left h1,

.inner-hero .banner_left h2,
.inner-hero-small .banner_left h1,
.inner-hero-small .banner_left h2 {
	font-size: 42px;
	color: #fff;
	position: relative;
	font-family: "Exo 2", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
}

.inner-hero .banner_left h1:after,

.inner-hero .banner_left h2:after,
.inner-hero-small .banner_left h1:after,
.inner-hero-small .banner_left h2:after {
	width: 94px;
	background: #fff;
	content: "";
	height: 4px;
	position: absolute;
	bottom: -30px;
	left: 0
}

.inner-hero-small .banner_left h1:after,

.inner-hero-small .banner_left h2:after {
	content: none
}

.inner-hero .banner_left p {
	font-size: 22px;
	color: #fff;
	line-height: 30px;
	margin-top: 50px;
}

.inner-hero-icon img {
	max-width: 100%;
	max-height: 220px;
}

.quote-button2 {
	background: #801a16;
	border-radius: 25px;
	border: 1px solid #fff;
	font-size: 14px;
	text-transform: uppercase;
	color: #fff;
	padding: 10px 25px;
	display: inline-block;
	margin-top: 20px;
}

.quote-button2:hover {
	background-color: #cc2620;
	text-decoration: none;
	color: #fff;
}

.inner-hero .banner_left,
.inner-hero-small .banner_left {
	padding: 0;
}

/*responsive tab css*/

.tabs_wrapper {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	background: transparent;
	position: relative;
	margin-top: -96px;
}

ul.tabs {
	display: inline-block;
	vertical-align: top;
	position: relative;
	z-index: 10;
	margin: 25px 0 0;
	padding: 0;
	width: 22%;
	min-width: 175px;
	list-style: none;
	-ms-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	margin-top: 82px;
}

ul.tabs li {
	margin: 0;
	cursor: pointer;
	padding: 10px 20px;
	line-height: 37px;
	color: white;
	text-align: left;
	-ms-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	border-bottom: 2px solid #fff;
	color: #ae2724;
	font-size: 16px;
}

ul.tabs li:hover {
	background: #fff;
	color: #333333;
	-ms-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

ul.tabs li.active {
	background: #fff;
	color: #333333;
	-ms-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.tab_container {
	display: inline-block;
	vertical-align: top;
	position: relative;
	z-index: 20;
	left: -2%;
	width: 77%;
	min-width: 10px;
	text-align: left;
	background: white;
}

.tab_content {
	padding: 45px;
	height: 100%;
	display: none;
}

.tab_drawer_heading {
	display: none;
}

.tab_content h2 {
	font-size: 26px;
	color: #ae2724;
}

.tab_content h4 {
	color: #333333;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
}

.tab_content small {
	color: #333333;
	font-size: 14px;
	display: block;
	font-family: "Montserrat", sans-serif;
}

.tab_content .PContant {
	margin-top: 10px;
}

.tab_content .PContant h3 {
	color: #ae2724;
	font-size: 18px;
}

.tab_content p {
	margin-bottom: 38px;
}

.ProInner img {
	max-width: 100%;
	height: auto;
}

.m-70 {
	margin-bottom: 70px;
}

.calling {
	padding: 20px;
	display: none
}

.innerpage-body {
	vertical-align: top;
	position: relative;
	z-index: 20;
	background: white;
	padding: 60px 80px;
	top: -100px;
	width: 100%;
	font-size: 14px;
}

.innerpage-body .lead {
	font-size: 16px;
}

.innerpage-body h3 {
	font-size: 18px;
	color: #ae2724;
}

.whiteBg {
	background: #fff;

}

.whiteBg .CallBox {
	margin-bottom: 0
}

.contact-section {
	padding: 20px 50px;
}

.contact-form {
	padding: 30px 0;
}

.contact-form h2 {
	font-size: 35px;
	color: #ae2724;
	text-align: center;
	margin-bottom: 2rem;
}

.contact-form label {
	font-size: 16px;
	font-weight: 600;
	text-align: right;
	margin-top: 6px;

}

.contact-form .form-control {
	border-color: #cccccc;
	font-size: 18px;
	height: auto;
	padding: .65rem .75rem;
}

.btn-submit {
	background: #ae2724;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	padding: .75rem 1.75rem;
	display: inline-block;
	color: #fff;
	border-radius: 2rem;
	margin: 10px 0;
}

.btn-submit:hover {
	background: #e31e14;
	color: #fff;
}

.contact-bg {
	background: url(../images/bg.png) right bottom no-repeat #fff;
}

@media screen and (max-width: 781px) {
	ul.tabs {
		display: none;
	}

	.tab_container {
		display: block;
		margin: 0 auto;
		width: 95%;
		border-top: none;
		border-radius: 0;
		box-shadow: 0px 0px 10px black;
	}

	.tab_drawer_heading {
		border-bottom: 2px solid #d2d2d2;
		color: #ae2724;
		margin: 0;
		padding: 16px 20px;
		display: block;
		cursor: pointer;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		text-align: center;
	}

	.tab_drawer_heading:hover {
		background: #fff;
		color: #333;
	}

	.d_active {
		background: #fff;
		color: #333;
		border-bottom: 2px solid #d2d2d2;
	}
}

@media only screen and (max-width: 768px) {
	.calling {
		display: block
	}

	.hidden-xs-down {
		display: none;
	}

	.navbar-light .navbar-brand {
		margin: 0 auto;

	}

	.hamburger-icon {
		width: 25px;
		height: 20px;
		position: relative;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		-o-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		cursor: pointer;
		display: block
	}

	.navbar-light .navbar-toggler {
		padding: 10px;
		border: none;
		position: relative;
		z-index: 9990;
		outline: 0;
	}

	.hamburger-icon span {
		display: block;
		position: absolute;
		height: 2px;
		width: 100%;
		background: #aa2725;
		border-radius: 9px;
		opacity: 1;
		left: 0;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .25s ease-in-out;
		-moz-transition: .25s ease-in-out;
		-o-transition: .25s ease-in-out;
		transition: .25s ease-in-out;
	}

	.hamburger-icon span:nth-child(1) {
		top: 0px;
	}

	.hamburger-icon span:nth-child(2) {
		top: 9px;
	}

	.hamburger-icon span:nth-child(3) {
		top: 18px;
	}

	.hamburger-icon.open span:nth-child(1) {
		top: 9px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		-o-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	.hamburger-icon.open span:nth-child(2) {
		opacity: 0;
		left: -60px;
	}

	.hamburger-icon.open span:nth-child(3) {
		top: 9px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		-o-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}

	.navbar-collapse {
		width: 100%;
		height: 100vh;
		background: #efefef;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 999;
	}

	.navbar-light .navbar-nav .nav-link {
		border-bottom: none;
		text-align: center
	}

	.tab_container {
		box-shadow: none;
		width: 100%;
	}

	.banner_left {
		padding-top: 0px;
	}

	.banner h5 {
		font-size: 20px;
	}

	.offers-section {
		padding: 20px 0 100px 0;
		background-size: 300px;
		background-position: 100% center
	}

	.services-list .round {
		width: 110px;
		height: 110px;
		border: solid 3px #efefef;
		align-content: center;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.services-list .round img {
		max-width: 65px;
		height: 100%;
		margin: 0px;
	}

	.services-list {
		padding: 20px 15px;
	}

	.services-list li {
		float: left;
		width: 50%;
		height: auto;
		margin: 0 0 20px 0;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.services-list li:last-child {
		margin: 0 auto;
		float: none;
	}

	.services-list li h3 {
		display: inline-block;
		font-size: 16px;
		margin-left: 18px;
		margin-top: 0
	}

	.banner {
		padding: 50px 0px 66px 0;
		background-position: 114% -2px;
		background-size: 45%;
	}

	.banner h1,

	.banner h2 {
		font-size: 24px;
	}

	.round:last-child {
		margin: 0 auto;
	}

	.service {
		margin-top: 0;
	}

	.offerLeftSection,
	.offerRightSection {
		padding: 0 15px;
	}

	.offerLeftSection h3 {
		font-size: 30px;
	}

	.service-roundrec {
		padding: 100px 20px 33px 20px;
		margin: -80px 0 50px 0;
		text-align: center;
		width: 100%;
	}

	.service-circle-big,
	.service-circle-big2 {
		border: 10px solid #efefef;
		margin: 0 auto;
		width: 200px;
		height: 200px;
		line-height: 140px;
		padding: 20px;
		position: relative;
	}

	.service-circle-big img,
	.service-circle-big2 img {
		max-width: 110px;
	}

	.section-heading {
		font-size: 20px;
	}

	.GrayBox {
		padding-left: 10px;
		padding-right: 10px;
	}

	.CallBox {
		padding: 20px 0;
		top: -60px;
	}

	.CallBox .inner {
		padding: 0 20px;
		text-align: center;
		width: auto
	}

	.CallBox>.inner>span {
		font-size: 16px;
	}

	.CallBox>.inner>h2 {
		font-size: 25px;
	}

	.contact-bg {
		background-size: 300px;
	}

	.ProductSec .carousel {
		margin-bottom: 10px;
	}

	.carousel-element .ProInner {
		margin-right: 5px;
		margin-left: 5px;
		width: calc(100% - 10px)
	}

	.carousel-element .PContant {
		display: none;
	}

	.productslider .carousel-element {
		height: 180px;
	}

	.precedent {
		left: -30px;
	}

	.suivant {
		right: -30px;
	}

	.InsImgBox {
		width: 100%;
		height: 100%;
		background: #fff;
		border-radius: 100%;
		text-align: center;
		line-height: 279px;
		border: none;
		position: absolute;
		margin-top: 40px;
		z-index: 0;
		margin-left: 0;
		position: unset;
	}

	.InsImgBox2 {
		width: 100%;
		height: 100%;
		background: #fff;
		border-radius: 100%;
		text-align: center;
		line-height: 309px;
		border: none;
		position: absolute;
		margin-top: 40px;
		z-index: 0;
		margin-left: 0;
		position: unset;
	}

	.service-roundrec h2 {
		font-size: 18px;
	}

	.ProInner img {
		width: 100%;
	}

	.foot-nav {
		width: 100%;
	}

	.foot-nav {}

	.ProductSec {
		padding: 40px 0;
	}

	.LftSec h3 {
		padding-right: 0;
	}

	.ContactSec {
		margin-top: 0;
		background-size: 295px;
	}

	.contact-sec-inner {
		padding: 0 16px;
	}

	.tabs_wrapper {
		margin-top: 0px;
	}

	.inner-hero .banner_left,
	.inner-hero-small .banner_left {
		padding: 20px;
		text-align: center
	}

	.inner-hero .banner_left h1,

	.inner-hero .banner_left h2,
	.inner-hero-small .banner_left h1,
	.inner-hero-small .banner_left h2 {
		font-size: 20px;
	}

	.inner-hero .banner_left h1:after,

	.inner-hero .banner_left h2:after {
		content: none;
	}

	.inner-hero .banner_left p {
		font-size: 16px;
		margin-top: 15px;
	}

	#banner,
	.inner-hero {
		padding: 17px 0 41px 0;
	}

	.inner-hero-small {
		padding: 17px 0 41px 0;
	}

	.inner-hero img {
		width: 160px;
	}

	.ConInner .Icon {
		width: 125px;
		height: 125px;
		line-height: 120px;
	}

	.ConInner .AddText {
		padding: 0;
	}

	.tab_content {
		padding-bottom: 10px;
	}

	.copyright {
		text-align: center
	}

	.ConInner .Icon a {
		width: 60px;
		height: 60px;
		font-size: 16px;
	}

	.foot-nav .nav-item a {
		font-size: 14px;
		display: block;
	}

	.innerpage-body {
		padding: 20px
	}

	.contact-section {
		padding: 20px 10px
	}

	.contact-form label {
		display: none
	}
}

@media only screen and (max-width: 767px) {
	.banner {
		padding: 300px 0px 66px 0;
		background-position: 114% -2px;
		background-size: 70%;
	}

	.services-list {
		display: none
	}

	.services-list li {
		float: none;
		width: auto;
		height: auto;
		margin: 0 0 20px 0;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		align-content: center;
	}

	.service-roundrec {
		padding: 100px 20px 33px 20px;
		margin: -80px 0 50px 0;
		text-align: center;
		width: 100%;
	}

	.service-circle-big,
	.service-circle-big2 {
		border: 10px solid #efefef;
		margin: 0 auto;
		width: 200px;
		height: 200px;
		line-height: 140px;
		padding: 20px;
		position: relative;
	}

	.service-circle-big img,
	.service-circle-big2 img {
		max-width: 110px;
	}

	.section-heading {
		font-size: 20px;
	}

	.quote-button {
		display: block;
		margin-bottom: 10px;
	}

	.productslider .carousel-element {
		height: 100px;
	}

	.precedent {
		left: -15px;
	}

	.suivant {
		right: -15px;
	}

	.ConInner {
		text-align: left
	}

	.ConInner .Icon {
		width: 75px;
		height: 75px;
		line-height: 74px;

		margin-top: 15px;
		margin: 0 auto;
	}

	.ContactSec>div>div>div:nth-child(2)>div>div.Icon {
		margin-top: 0
	}

	.ConInner .Icon img {
		max-width: 50px;
	}

	.ConInner .AddText {
		margin: 0 0 20px 0;
		width: 100%;
		padding: 0;
		text-align: center;
	}

	.ConInner .AddText h3,
	.ConInner .AddText p {
		display: inline-block;
		padding-left: 10px;
	}

	.foot-nav .nav-item {
		float: left;
		width: 50%;
		text-align: left
	}

	.foot-nav .nav-item a {
		font-size: 14px;
		padding: 10px;
		display: block;
		border: none;
	}

	.foot-nav {
		padding: 0 50px 30px 50px;
	}

	.copyright span {
		display: block
	}

	.text-button {
		display: inline-block;
		padding: 12px 10px;
	}

	.GrayBox {
		padding-bottom: 20px;
	}
}

@media (max-width: 768px) {
	.GrayBox .offset-md-8 {
		margin-left: 0;
	}

	.GrayBox .col-md-4,
	.GrayBox .col-md-8 {
		display: block;
		position: relative;
		width: 100%;
		padding-right: 15px;
		padding-left: 15px;
		-ms-flex: none;
		flex: none;
		max-width: 100%;
	}

	.navbar-light .navbar-nav ul {
		width: 100%;
		text-align: center;
		position: relative;
		top: 0;
		background: RGBA(0, 0, 0, 0);
		border: none;
	}

	.navbar-light .navbar-nav ul li a {
		color: #333;
	}

	.tab_container {
		left: 0;
	}
}

@media (max-width: 360px) {
	.navbar-brand img {
		max-width: 180px;
	}

	.services-list .round {
		width: 90px;
		height: 90px;

	}

	.services-list .round img {
		margin: 10px;
		max-width: 55px;
	}

	.services-list li h3 {
		text-align: left;
		margin-top: 0;
		font-size: 13px;
	}

	.services-list li h3 {
		font-size: 14px;
	}

	.primary-button {
		padding: 12px 20px;
	}
}

.whatsapp {
	position: fixed;
	right: 10px;
	bottom: 20px;

}

/* Floating contact buttons (live chat + WhatsApp).
   These rules used to live in an inline <style> on 7 pages only, so the other
   30 pages carrying the same markup had no .floating-buttons rule at all: the
   wrapper stayed in normal flow and dropped the chat icon at the bottom-left
   of the page, while the .whatsapp rule above kept WhatsApp pinned to the
   corner. Shared here so every page stacks them identically. The scoped
   overrides outrank .whatsapp on specificity, so the 9 pages that use a
   standalone WhatsApp button with no wrapper are unaffected. */
.whatsapp img {
	width: 50px;
	height: 50px;
}

.floating-buttons {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	z-index: 9999;
}

.floating-buttons .whatsapp,
.floating-buttons .livechat-btn {
	position: static;
}

.floating-buttons a {
	display: block;
}

/* Match the WhatsApp icon's apparent size, not just its box. whatsapp.png is
   trimmed and square, but its artwork still sits inside a little soft glow:
   drawn into a 50px box the opaque mark covers 43x44. This svg's rounded rect
   fills its viewBox edge to edge and would paint the full 50px, so inset it to
   paint 43x43. The 50px box is kept for alignment, the flex gap and hit area. */
.livechat-btn svg {
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	padding: 3.5px;
}

/* Contact Cards Section */
.contact-cards-section {
	text-align: center;
}

.contact-cards-section h2 {
	font-family: "Exo 2", sans-serif;
	font-optical-sizing: auto;
	font-size: 35px;
	font-weight: 700;
	color: #333333;
	margin-bottom: 50px;
	position: relative;
}

.contact-cards-section h2:after {
	width: 94px;
	background: #e31e14;
	content: "";
	height: 4px;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
}

.contact-card {
	background: #fff;
	border-radius: 8px;
	padding: 40px 30px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease-in-out;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.contact-card:hover {
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
	transform: translateY(-5px);
}

.card-icon-wrapper {
	margin-bottom: 25px;
}

.card-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 50px;
	margin: 0 auto;
	transition: all 0.3s ease-in-out;
}

.card-icon.phone-icon {
	background: linear-gradient(135deg, #d4a574 0%, #c9956f 100%);
	color: #fff;
}

.card-icon.profile-icon {
	background: none;
}

.card-icon img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	transition: opacity 0.35s ease-in-out;
}

.contact-card:hover .card-icon {
	transform: scale(1.1);
}

.contact-card h3 {
	font-size: 18px;
	font-weight: 600;
	color: #333333;
	margin-bottom: 8px;
	font-family: "Montserrat", sans-serif;
}

.card-subtitle {
	font-size: 14px;
	color: #999999;
	margin-bottom: 25px;
	font-style: italic;
}

.card-actions {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: auto;
}

.action-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 20px;
	background-color: #f5f5f5;
	border-radius: 20px;
	color: #e31e14;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
	border: 1px solid #efefef;
	white-space: nowrap; 
}

.action-btn i {
	font-size: 16px;
}

.action-btn:hover {
	background-color: #e31e14;
	color: #fff;
	text-decoration: none;
	border-color: #e31e14;
}

.action-btn span {
	font-family: "Montserrat", sans-serif;
}

@media (max-width: 768px) {
	.contact-cards-section h2 {
		font-size: 28px;
	}

	.contact-card {
		padding: 30px 20px;
		margin-bottom: 20px;
	}

	.card-icon {
		width: 100px;
		height: 100px;
		font-size: 40px;
	}

	.contact-card h3 {
		font-size: 16px;
	}

	.action-btn {
		padding: 10px 15px;
		font-size: 13px;
	}

	.action-btn i {
		font-size: 14px;
	}
}
