/*
Theme Name: Divi Child Template
Version: 1.0
Description: A customized version of Divi which adds a number of tiny features you need.
Template: Divi
*/

/* -----------------------------------------------------------------------
 * Base Style
 * ----------------------------------------------------------------------- */
body {
  font-family: 'Titillium Web', sans-serif;
}

.comp-name { color: #4B7691; }

blockquote {
	padding-left: 0;
	border: none !important;
}

.wpcr3_item_name a {
	color: #3A5B70!important;
}

.entry-title.main_title {
  font-family: 'Alegreya', serif;
}

.entry-title {
	font-family: 'Alegreya', serif;
}

.button {
	position: relative;
	display: inline-block;
	background: #5484a2;
	border-radius: 2px;
	color: #fff;
	font-weight: bold;
	padding: 22px 25px;
	z-index: 2;
	overflow: hidden;
	width: 230px;
	
}

@media screen and (max-width:768px){
	.button{
		margin-left:0px;
	}
}

.button:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #3A5B70;
  border-radius: 2px;
  z-index: -1;
  transition: all 0.3s ease-out 0s;
  -webkit-transition: all 0.3s ease-out 0s !important;
  -moz-transition: all 0.3s ease-out 0s !important;
}

.button:hover::before {
	left: 100%;
}

.content .et_pb_column_4_4 {
  background: rgba(255,255,255,0.85);
  padding: 20px;
}

#servcss {
	list-style-type: none;
	padding: 0;
}

#servcss li {
  margin-bottom: 0.5em;
}

/* -----------------------------------------------------------------------
 * Header Style
 * ----------------------------------------------------------------------- */
/* Top header */
#main-header {
	background-color: #F3F3F3;
}

#main-header .contact-info {
  margin-top: 24px;
  margin-bottom: 10px;
  transition: 0.3s;
}

#main-header .contact-info a, #main-header .contact-info span {
	display: inline-block;
	font-size: 15px;
	color: #555;
	line-height: 0;
}

#main-header .contact-info a:hover {
  color: #5484A2!important;
}

#main-header .contact-info .email-us {
  margin-right: 20px;
  margin-left: 20px;
}

#main-header .fa {
    position: relative;
    top: -5px;
    left: -10px;
    width: 35px;
    height: 35px;
    color: #5484a2;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    font-size: 22px;
    padding-top: 5px;
    transition: 0.3s;
}

#main-header .contact-info a:hover .fa, #main-header .contact-info span:hover .fa {
	border-color: #3A5B70;
}

#main-header .contact-info a em, #main-header .contact-info span em {
	display: block;
	color: #3A5B70;
    font-style: initial;
	text-align: left;
	position: relative;
	left: 39px;
	font-weight: 300;
	font-size: 14px;
}

/* Logo */
.logo_container {
    height: 100%!important;
    position: absolute;
    width: 100%;
    text-align: left;
}
.et-fixed-header .logo_container, .logo_container {
	padding: 0;
}

.text-logo {  
  display: inline-block;
  color: #628BA4;
  text-shadow: 2px 1px 0 #dadada, 2px 2px 2px #333;
  font-family: 'Alegreya', serif;
  font-size: 36px;
  line-height: 1.3em;
  font-weight: 700;
  position: relative;
  transition: 0.3s;
}

.text-logo:hover {
	transform: skew(-10deg);
}

/* Navigation */
#et-top-navigation {
  background: #3A5B70;  
}

#top-menu li {
	padding-right: 0px;
	margin-right: -3px;
}

#top-menu > li > a {
	text-transform:uppercase !important;
	position: relative;
	padding: 25px 20px !important;
	border-right: 1px solid rgba(255,255,255,0.10);	
	z-index: 2;
}

#top-menu li a:before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: 100%;
	right: 0;
	background-color: #5484a2;
	z-index: -1;
	transition: 0.3s ease-in-out;
}

#top-menu li a:hover, #top-menu .current-menu-item > a {
  opacity: 1!important;
}

#top-menu li a:hover::before, #top-menu .current-menu-item > a:before {
  left: 0;
}

/* mobile */
.mobile_menu_bar::before {
  color: #fff!important;
}

#et_mobile_nav_menu {
	background: #3A5B70!important;
}

.et_mobile_menu {
  padding: 2% 5%;
}

#mobile_menu {
	background: #436981!important;
	text-align: center;
}

/* Scroll Down Button */
.scroll-down-btn {
    z-index: 99999;
    position: absolute;
    bottom: 35px;
    text-align: center;
    margin: 0 auto;
    left: 0;
    right: 0;
    -moz-animation: bounce 2s infinite;
    -webkit-animation: bounce 2s infinite;
    animation: bounce 2s infinite;
}

.scroll-down-btn:hover {
    opacity: 0.8;
}

/* -----------------------------------------------------------------------
 * Sidebar Style
 * ----------------------------------------------------------------------- */
.widgettitle {
  position: relative;
  color: #3D3E3E!important;
  font-family: 'Alegreya', serif;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 15px;
  margin-bottom: 25px;
  border-bottom: 1px solid #eee; }

.widgettitle:before {
	position: absolute;
	content: "";
	display: block;
	bottom: -1px;
	left: 0;
	width: 35px;
	height: 2px;
	background-color: #3A5B70; }

#sidebar > .widgettitle + .textwidget br:nth-child(4), #sidebar > .widgettitle + .textwidget br:nth-child(5) {
	display: none;
}

#servcss svg {
  display: none;
}

/* -----------------------------------------------------------------------
 * Services Section Style
 * ----------------------------------------------------------------------- */
#section-1 .et_pb_column_1_4 h4 {
	font-weight: bold;
	font-size: 25px;
	font-family: 'Alegreya', serif;
}

#section-1 .et_pb_column_1_4 .et_pb_main_blurb_image {
	display: inline-block;
	background: #5484A2;
	padding: 26px 30px;
	border-radius: 50%;
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	box-shadow: 0 0px 28px #5484A2, 0 0px 10px;
}

#section-1 .et_pb_column_1_4 .et_pb_main_blurb_image:hover {
	background-color: #4b7691;
	box-shadow: 0 0px 40px #84a8bf, 0 0px 20px;
}

#section-1 .et_pb_column_1_4 .et_pb_main_blurb_image img {
	width: 60px;
}

@media (max-width:980px) {
	#main-content-section {
		background: none !important;
	}
	h1.entry-title {
    text-align: center;
}
}

/*
 * H1 title tags sizing
 */
@media (min-width:981px) {
	h1.entry-title {
		font-size: 32px;
	}
}
@media (max-width:767px) {
	h1.entry-title {
		text-align: center;
		font-size: 26px;
	}
}


/* -----------------------------------------------------------------------
 * Testimonial
 * ----------------------------------------------------------------------- */
#home-testimonial-wrapper {
	background: linear-gradient(rgb(0 0 0 / 72%), rgb(0 0 0 / 72%)), url(/wp-content/uploads/2024/09/family.webp) no-repeat center;
	background-size: cover;
}

.testimonial-title{
	position: relative;
	font-size: 30px;
	color: #f3f3f3;
	font-weight: bold;
	text-shadow: 0 0 5px #000;
}

.testimonial-title:before {
	position: absolute;
	content: "\f10d";
	font-family: "FontAwesome";
	left: -5px;
	top: 0px;
	font-size: 45px;
	text-align: center;
	line-height: 40px;
	color: #F3F3F3;
	text-shadow: 0 0 5px #000;
}

@media screen and (max-width:550px){
	.testimonial-title:before{
		position:relative;
	}
}

.home-testimonial blockquote {
	border: 0;
	margin-bottom: 0px; /*TODO*/
	padding-bottom: 0px !important;
	padding-left: 0;
}

.home-testimonial .wpcr3_item_name a {
	color: #84A8BF!important;
}

.home-testimonial .learn-more a {
	background: #5484A2;
	border-radius: 2px;
	color: #fff;
	padding: 15px 20px;
	font-size: 18px;
	transition: 0.3s ease-out;
}

.home-testimonial .learn-more a:hover {
	background: #84a8bf;
}
/***** TESTIMONIALS FORM *****/
.wpcr3_respond_2 input[type="text"] {
    margin: 3px 0;
}
.wpcr3_table_2 td {
    font-size: 1em !important;
}
.wpcr3_leave_text {
	font-size: 1.1em;
}
.wpcr3_leave_text {
    margin-bottom: 20px;
}
@media (min-width: 981px) {
.wpcr3_respond_2 input[type="text"],
.wpcr3_respond_2 textarea {
    min-width: 100%;
}
.wpcr3_table_2 td {
    text-align: left !important;
}
.wpcr3_review_form_rating_field label {
    margin: 6px 0 !important;
}
.wpcr3_button_1 {
    margin-top: 10px;
}
}
@media (max-width: 980px) {
.wpcr3_respond_3,
.wpcr3_aggregateRating,
.wpcr3_table_2 td {
   	text-align: center !important;
}
.wpcr3_div_2 {
    width: 100%;
}
.wpcr3_table_2 tr:last-of-type td {
    margin: 20px auto 0 !important;
}
.wpcr3_table_2 td {
    display: block;
	padding: 0 !important;
}
.wpcr3_table_2 td:first-child {
    margin-top: 10px !important;
}
.wpcr3_rating_style1_status {
    width: 85px !important;
}
.wpcr3_respond_2 input[type="text"],
.wpcr3_in_content textarea {
    width: 100% !important;
    min-width: unset !important;
}
.wpcr3_submit_btn, .wpcr3_cancel_btn {
    width: 40%;
}
}

/* -----------------------------------------------------------------------
 * Get a Free Estimate Style
 * ----------------------------------------------------------------------- */
.free-estimate-heading {
  position: relative;
  color: #fff!important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 35px;
  padding-bottom: 0;
  padding-top: 10px;
  text-align: center; }

#contactForm input[type=text],
#contactForm input[type=password],
#contactForm input[type=tel],
#contactForm input[type=email],
#contactForm input.text,
#contactForm input.title,
#contactForm textarea,
#contactForm select {
  background-color: #fff;
  border: 1px solid #3A5B70;
  color: #333!important;
  padding: 15px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  margin: 10px 0px!important;
  border-radius: 2px;
  opacity: 0.7;
  transition: 0.3s linear;
	width: 100% !important;
}

#contactForm input[type=text]:focus,
#contactForm input[type=password]:focus,
#contactForm input[type=tel]:focus,
#contactForm input[type=email]:focus,
#contactForm input.text:focus,
#contactForm input.title:focus,
#contactForm textarea:focus,
#contactForm select:focus {
  opacity: 1;
}

#contactForm div:nth-child(5) img {float: left; margin-top: 5px;}
#contactForm div:nth-child(5) input {
  float: right;
  width: 50% !important;
  height: 50px;
  margin: 0 !important;
}

#submitter {
  font-size: 16px;
  padding: 20px 30px;
  font-weight: 700 !important;
  color: #fff;
  cursor: pointer;
  height: auto !important;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -o-border-radius: 0px;
  background: #5484a2;
  border: 2px solid #5484a2;
  border-radius: 2px;  
  margin-top: 10px!important;
  overflow: hidden;
  transition: 0.3s;
	width: 100% !important;
}

#submitter:hover {
	background-color: #fff;
/* 	border-color: #fff; */
	color: #3A5B70;
}


/* -----------------------------------------------------------------------
 * Footer Style
 * ----------------------------------------------------------------------- */
#main-footer {
    background-color: #3A5B70;
    padding-top: 50px;
    padding-bottom: 30px;
}
.footer-widget li:before {
    border-color: #f3f3f3;
    margin-top: 3px;
}
#main-footer #footer-widgets {
    margin-bottom: 30px;    
    padding: 3% 0 0;
}

#main-footer .footer-widget {
	color: #F3F3F3!important;
}

#main-footer #footer-widgets .footer-widget:nth-child(2) > div {
    width: 100%;
}

#main-footer h4 {
    position: relative;
    color: #F3F3F3!important;
    font-family: 'Alegreya', serif;
    font-size: 19px;
    font-weight: bold;
    text-transform: uppercase;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

#main-footer h4:before {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	height: 2px;
	width: 30px;
	background: #cecece;
}


#main-footer #footer-bottom .container {
    text-align: left;
    font-size: 16px;
    padding-top: 25px;
}

.openinghours tr td:first-child {
    padding-left: 5px!important;
}

.openinghours tr td:last-child {
    text-align: right!important;
    padding-right: 5px!important;
}

#current-day {
    background-color: #F3F3F3;
}

#current-day td {
  color: #333!important;
}

#text-7 .textwidget br,
#text-7 .textwidget strong {
    display: none;
}

.hours th,
td {
    text-align: left !important;
    font-size: 12px !important;
    text-shadow: none !important;
}

.openinghours td, .hours th {
  color: #F3F3F3!important;
}

#footer-bottom {
  padding: 5px 0 5px;
	background:none !important;
	    color: #fff;
}

/* -----------------------------------------------------------------------
 * Animation Style
 * ----------------------------------------------------------------------- */
/* Bounce */
@-moz-keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        -moz-transform: translateY(0);
        transform: translateY(0);
    }
    40% {
        -moz-transform: translateY(-30px);
        transform: translateY(-30px);
    }
    60% {
        -moz-transform: translateY(-15px);
        transform: translateY(-15px);
    }
}

@-webkit-keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    40% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }
    60% {
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px);
    }
}

@keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    40% {
        -moz-transform: translateY(-30px);
        -ms-transform: translateY(-30px);
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }
    60% {
        -moz-transform: translateY(-15px);
        -ms-transform: translateY(-15px);
        -webkit-transform: translateY(-15px);
        transform: translateY(-15px);
    }
}

/* Phone Ring Icon */
.ring {
  display: inline-block;
  -webkit-animation: Ringing 2000ms linear 2000ms infinite;
  animation: Ringing 2000ms linear 2000ms infinite; }

@-webkit-keyframes Ringing {
  0% {
    -webkit-transform: rotate(0deg); }
  4% {
    -webkit-transform: rotate(-45deg);}
  8% {
    -webkit-transform: rotate(0deg); }
  12% {
    -webkit-transform: rotate(-45deg);}
  16% {
    -webkit-transform: rotate(0deg); }
  20% {
    -webkit-transform: rotate(-45deg);}
  24% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes Ringing {
  0% {
    transform: rotate(0deg); }
  4% {
    transform: rotate(-45deg);}
  8% {
    transform: rotate(0deg); }
  12% {
    transform: rotate(-45deg);}
  16% {
    transform: rotate(0deg); }
  20% {
    transform: rotate(-45deg);}
  24% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(0deg); } }

/* Pulsing */
.pulsing {
    display: inline-block;
    animation: color-cycle 1.5s infinite;
    -webkit-animation: color-cycle 1.5s infinite;
    -moz-animation: color-cycle 1.5s infinite;
    -o-animation: color-cycle 1.5s infinite;

}

@keyframes color-cycle {
    0% {
        color: #fff;
    }
    50% {
        color: #2ECC71;
    }
    100% {
        color: #fff;
    }
}

/* Beat */
@keyframes beat {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.03);
    }
    100% {
       transform: scale(1);
    }
}

.beat {
  animation: beat 1s infinite;
  -webkit-animation: beat 1s infinite;
  -moz-animation: beat 1s infinite;
  -o-animation: beat 1s infinite;
}

/* linear wipe */
.linear-wipe {
	background: linear-gradient(to right, #FFF 20%, #F8CF29 40%, #F8CF29 60%, #FFF 80%);
	background-size: 200% auto;  
	background-clip: text;
	text-fill-color: transparent;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;  
	animation: shine 3s linear infinite;
	padding: 10px 0;
}

@keyframes shine {
	to {
	  background-position: 200% center;
	}
}

/* -----------------------------------------------------------------------
 * Helper Style
 * ----------------------------------------------------------------------- */
.pull-right { float: right!important; }
.pull-left { float: left!important; }

/* -----------------------------------------------------------------------
 * Media Queries Style
 * ----------------------------------------------------------------------- */
@media (max-width: 980px) { 
	
	.et_pb_slider .et_pb_slide_0.et_pb_slide .et_pb_slide_description h2.et_pb_slide_title {
		font-size: 38px !important;
	}
	
  #top-header .pull-left {
    margin-top: 12px;
   }

   #et-top-navigation {
    padding-top: 0;
    padding-bottom: 0;
   }

   .et_header_style_centered #main-header {
    padding-bottom: 0!important;
	padding-top: 0px !important;
   }

   #mobile_menu {
    top: 100%;
    border-top: 0;
   }

   #main-header .contact-info {
    margin-top: 15px;
    float: none !important;
   }

   #main-header .contact-info a, #main-header .contact-info span {
    font-size: 16px;
   }

   #main-header .fa {
   	top: 0;
   	width: auto;
	height: auto;
	border: 0;
	font-size: 14px;
   }

   #main-header .contact-info a em, #main-header .contact-info span em {
   	display: none;
   }

   #home-testimonial-wrapper {
   	background-position-x: right;
   }

   .home-testimonial .wpcr3_item_name a, .home-testimonial h2, .home-testimonial .et_pb_text {
   	text-align: center;
   }

   #section-1 .et_pb_column_1_4:hover {
   	transform: none;
   }

   #services {
   	margin-bottom: 20px;
   }

}

@media (max-width: 900px) { 
  .scroll-down-btn {
      bottom: 30px;
      width: 60px;
  }
}

@media (max-width: 768px) { 
	.logo_container {
		position: static;
    	text-align: center;
	}

	.text-logo {
		margin-bottom: 15px;
	}
}

@media (max-width: 600px) { 
  #main-header .contact-info a, #main-header .contact-info span {
    display: block;
    line-height: 30px;
  }
}

@media (max-width: 500px) { 
  #contactForm div:nth-child(5) img {
    float: none;
    display: block;
    margin: 0 0 10px;
    width: 100%;
  }

  #contactForm div:nth-child(5) input {
    float: none;
    width: 100% !important;
  }

  .home-testimonial h2:before {
  	content: none;
  }

}

@media screen and (max-width: 400px) {
  #top-header .pull-left, #top-header .pull-right {
    float: none !important;
    text-align: center;
   }

  #top-header .pulsing {
    margin-top: 7px!important;
  }
}

/***** BODY FONT-SIZE *****/
body,
.wpcr3_content p {
    font-size: 17px !important;
}
/***** CENTER SLIDE DESCRIPTION/BUTTON *****/
@media (max-width: 600px) {
	.et_pb_slide_description {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.et_pb_slides .et_pb_container {
		width: 100%;
	}
}
/***** SET MONARCH SHARE DROPDOWN WIDTH *****/
.et_monarch .et_social_mobile {
    width: 65% !important;
}
/***** FIX DROPDOWN ARROW POSITION *****/
.menu-item-has-children>a:after {
    top: unset !important;
}
/***** FIX DROPDOWN *****/
#top-menu .sub-menu {
    padding: 0 !important;
    width: unset !important;
    border-top: 3px solid #ddd !important;
    background: #3a5b70 !important;
}
#top-menu .sub-menu li {
	border-left: 0 !important;
	padding: 0 !important;
}
#top-menu .sub-menu li a {
    border-left: 0 !important;
}
.et_mobile_menu .sub-menu {
    border: none !important;
}
/***** FIX MENU SIZING *****/
header li a {
    font-size: 15px !important;
}
/***** FIXED HEADER FONT SIZE *****/
.et-fixed-header #top-menu li a {
    font-size: 15px !important;
}
/***** Cleaning template menu fix *****/
@media (min-width:981px) {
	body:not(.image-logo) .logo_container {
	margin-top: 5px;
    position: static;
    text-align: center;
}
	body:not(.image-logo) #main-header .contact-info {
    float: none !important;
    margin: 15px 0;
}
	body:not(.image-logo) #main-header.et-fixed-header .contact-info {
    float: none !important;
    margin: 5px 0 !important;
}
	body:not(.image-logo) .et-fixed-header #top-menu > li > a {
		padding: 20px !important;
	}
	body:not(.image-logo) #main-header .fa {
		top: 0;
	}
	body:not(.image-logo) #main-header .contact-info a em,
	body:not(.image-logo) #main-header .contact-info span em {
    display: none;
}
header>.container.clearfix.et_menu_container {
    padding: 0 10px;
}
}
@media (max-width:980px) {
	.logo_container {
		    position: relative;
		margin-top: 20px !important;
    text-align: center;
		padding: 0 10px !important;
	}
	.text-logo {
    	font-size: 28px;
		    line-height: 30px;
		display: inline;
		top: 0;
}
}
/***** CENTER TEXT ON MOBILE *****/
@media (max-width: 980px) {
	.home #services .et_pb_text_inner {
    text-align: center;
}
	.et_pb_text {
    text-align: center;
}
	.free-estimate-heading {
		padding:0;
		text-align: center;
	}
}
	ul#servcss {
    display: inline-block;
}
/***** FOOTER, widgets *****/
@media (max-width: 980px) {
	#main-footer h4 {
    text-align: center;
}
	.widgettitle:before,
	#main-footer h4:before {
    width: 100%;
}
	.et_pb_widget {
    text-align: center;
}
	footer .et_pb_widget {
		float: none;
	}
}
	#main-footer .container {
    width: 93%;
}
/**** MORE *****/
header#main-header,
header.et-fixed-header#main-header {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important;
}

#location,
#services {
	background: #F3F3F3;
    padding: 25px 15px;
    border-radius: 2px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

#location h3,
#services {
	font-size: 23px;
	line-height: 40px;
	color: black;
}

@media (max-width:980px) {
	#location {
    text-align: center;
}
	.textwidget {
    text-align: center;
    font-size: 17px !important;
}
}
@media (max-width:600px) {
	img.scroll-down-btn {
    display: none;
}
}

.home #section-1 .et_pb_row.et_pb_row_0.et_pb_row_4col {
    overflow: visible;
}
.scroll-down-btn {
    background: #3a5b70;
    border-radius: 40px;
    padding: 5px;
}

/* Full-width clickable mobile menu */
#et_mobile_nav_menu {
		width: 100%;
}
.mobile_menu_bar_toggle {
    height: 100%;
    width: 100%;
    right: 0 !important;
    top: 0 !important;
}
.mobile_menu_bar:before {
	right: 5px !important;
    left: unset !important;
    position: absolute;
    top: 1px;
}
ul#mobile_menu {
    top: 100%;
}
/***** FIX MENU SIZING *****/
@media (min-width: 981px) {
header .et_menu_container,
	.contact-info .container {
    margin: 0 auto !important;
    width: 100% !important;
max-width: 1350px !important;
}
}
/*** Logo image styling ***/
@media (min-width: 981px) {
	.image-logo #main-header {
    padding-top: 0;
}
.image-logo header > .et_menu_container {
    height: 120px !important;
	padding-left: 0 !important;
	transition: all .4s;
}
.image-logo header.et-fixed-header > .et_menu_container {
    height: 105px !important;
	padding-left: 0 !important;
}
.image-logo .contact-info {
	margin: 0 !important;
    height: 100%;
    vertical-align: middle;
    line-height: 120px;
    padding-top: 10px;
}
.image-logo .et-fixed-header .contact-info {
	padding-top: 3.75px;
}
.image-logo #top-menu > li > a {
    padding-top: 23px !important;
	padding-bottom:23px !important;
}
.image-logo .et-fixed-header #top-menu > li > a {
    padding-top: 16px !important;
	padding-bottom: 16px !important;
}
#logo {
    position: absolute;
    left: 0;
}
}

@media (max-width: 980px) { 
	.image-logo .logo_container {
    padding: 10px 0 !important;
	max-height: unset !important;
}
	.image-logo #logo {
    max-width: 80%;
	max-height: 150px;
}
}

/*
SIDEBAR FULL-WIDTH WIDGETS ON MOBILE
SIDEBAR LIST ADD BULLET
SIDEBAR TITLE FONT-SIZE
*/

h4.widgettitle {
    font-size: 1.2em;
}
.et_pb_widget svg {
    display: none;
}
@media (min-width: 981px) {
	.et_pb_widget li {
    /* list-style: disc inside; */
 }
}
@media (max-width: 980px) {
	.et_pb_column .et_pb_widget:nth-child(n) {
    	width: 100% !important;
    	max-width: 100% !important;
    	margin-right: 0 !important;
    	margin-left: 0 !important;
	}
}

/***************************
FORMAT LISTS IN CONTENT ONLY
***************************/
article div:not(.et_pb_widget_area) ul:not(#servcss) li,
article div:not(.et_pb_widget_area) ol li {
    margin-bottom: 1em;
}

#left-area ul,
.entry-content ul,
.comment-content ul,
body.et-pb-preview #main-content .container ul,
#left-area ol,
.entry-content ol,
.comment-content ol,
body.et-pb-preview #main-content .container ol {
    padding-bottom: 0;
}

/***********
FOOTER FIXES
***********/
.fwidget {
    width: 100%;
}
#social-icons {
    text-align: inherit;
}

@media (max-width:980px) {
	.et_header_style_centered #main-header .mobile_nav {
background-color: rgb(58, 91, 112);
	}
.et_pb_widget {
    text-align: center;
}
.paymentType {
    display: inline-block;
    float: none;
}
}

#social-icons .social-icon {
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.75));
}
.et_pb_grid_item img {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
right: 0;
bottom: 0;
object-fit: cover;
}

.et_pb_grid_item .et_pb_gallery_image {
padding-top:100%;
}
#top-menu li a {
text-transform: uppercase !important;
}

#mobile_menu li a {
text-transform: capitalize !important;
}
.et_pb_post {
	text-align:justify;
}
.image-logo .logo_container a {
display: inline-block;
}

@media (min-width: 981px) {
.image-logo #main-header .logo_container {
position: static;
width: auto;
float: left;
height: auto !important;
}
}

.et_header_style_centered #logo {
position: static;
}

.openinghours {
	width: 100% !important;
}

@media screen and (max-width: 981px) and (min-width: 767px) {
.footer-widget:nth-child(n) {
width: 100% !important;
}
#footer-widgets .footer-widget:nth-child(n), #footer-widgets .footer-widget {
margin-bottom: 5% !important;
}
#footer-widgets .footer-widget .fwidget {
margin-bottom: 5%;
}
.openinghours {
margin: none;
}	
.hours, .openinghours {
width: 65% !important;
margin: 0 auto !important;
}
}

/* add buttons*/
.booking-button-switch {display: none;}
    .slider-button {
        margin-top:80px;
        margin-bottom:100px;
  }
.button-quote-header {
    text-align: center;
    padding: 10px 0;
    background: #3A5B70; /*TODO*/
}
.top_button {
    position: relative;
    display: inline-block;
    background-color: #fff;
    font-weight: bold !important;
    text-transform: uppercase;
    text-shadow: none;
    color: #000;
    padding: 12px 25px;
    transition: 0.3s ease-in-out;
    font-size: 16px;
    border-radius: 0px;
}

.top_button:hover{
	background-color: #5485a2;
	color:#fff;
}

.top_button:hover .fa{
	
	color:#fff !important;
}

.top_button .fa {
    top:0px !important;
    left:0px !important;
    height:0px !important;
    color:#000 ;
    padding: 5px 5px 5px 0px !important;
	border: 0px !important;
}
.floating-estimate-btn {
    text-align: center;
    padding: 10px 15px 10px 15px;
    background: #3A5B70; /*TODO*/
    color: #ffffff !important;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border: 2px solid #fff; /*TODO*/
    border-left: 0px;
    font-size: 15px;
    z-index: 999999;
    font-weight: bold;
    position: fixed;
    bottom: 60px;
    text-transform: capitalize;
    width: 230px;
}

.floating-estimate-btn:hover {
    background:#5485a2;
}

#main-footer .listing-rev-btn {
    display: flex;
    align-items: center;
    background: #3A5B70; /*TODO*/
    position: fixed;
    padding: 10px 15px 10px 15px;
    border: 2px solid #fff; /*TODO*/
    border-left: 0px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    bottom: 0px;
    color: #fff;
    text-transform: capitalize;
    font-size: 15px;
    justify-content: center;
    width: 230px;
    z-index: 9999;
    font-weight:bold;
}

#main-footer .listing-rev-btn:hover {
    background:#5485a2;
}

#main-footer .listing-rev-btn img {
  display:none;
}
#main-footer .listing-rev-btn .fa {
    display: block;
    margin-right: 5px;
    color: #fff;
    position: relative;
    bottom: 2px;
}
/* end add buttons */

@media screen and (min-width:601px) {
    .slider-button {
    display:flex;
        justify-content:center;
		gap:30px;
  }
.slider-button .booking-button-switch {
  margin-left:15px;
}
}


/* BADGES SECTION STYLE */
#badges-section {
    background-color: #3a5b70 !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.badge-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: stretch;
}

.badge-block {
    display: flex;
    align-items: center;
    box-shadow: 0px 0px 4px #000000;
    background: #333333;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-bottom: 10px;
    width: 48%;
}

.badge-block img {
    width: 40%;
    height: auto;
    padding: 10px;
}

.badge-content {
    width: 100%;
    text-align: center;
    font-size:10px;
    padding: 0px 7px 7px 7px;
}

.badge-content .title {
    line-height: 1;
    margin-top: 5px;
    font-weight: 800;
    color: #ffffff;
}

.badge-content .content {
    text-transform: capitalize;
    line-height: 1.2;
    border-top: 1px solid #ffffff;
    padding-top: 5px;
    margin-top: 5px;
    font-weight: 500;
    color: #ffffff;
}
@media screen and (min-width: 480px) {
	.badge-block {
        width: 47%;
	}

	.badge-content{
		font-size:15px;
	}
}


@media screen and (min-width: 981px) {
    .badge-content .content {
        min-width: auto;
        margin-top: 5px;
    }

    .badge-block {
        width: 24%;
    }

	.badge-content{
		font-size:17px;
	}
}

/* END BADGES SECTION STYLE */

/* SERVICES BOX */
.srvBlock {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row;
    margin: 0 auto;
	margin-bottom: 20px;
}
/*content bakground*/
.srvElementContent a{
		
		    color: #88b5d0 !important;
}

.srvElement {
    width: 32%;
    float: left;
    padding: 0px;
    background-color: #3a5b70;
}

.srvElementFullWidth {
    width: 100%;
    background-color: #3a5b70;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.srvElementHeader {
    min-height: 65px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #5484a2;
}
/*h3 background*/
.srvElementHeader h2 {
    color: #fff;
    font-size: 120%;
    padding: 0px;
    font-weight: bold;
}

.srvElementContent {
    text-align: justify;
    color: #fff;
    padding: 10px;
}
.srvElementFullWidth .srvElementHeader {
    width: 100%;
}

.srvElementFullWidth .srvElementBody {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

.srvElementFullWidth .srvElementImg {
    width: 30%;
}
.srvElementFullWidth .srvElementContent {
    width: 70%;
    padding-left: 20px;
}
/*h3 background hover*/
.srvElementHeader:hover {
    background-color: #3a5b70;
    color: #000;
}
.srvElementHeader:hover h2{
    color: #fff;
}

@media only screen and (max-width: 981px) {
    .srvBlock {
        display: block;
        height: 100%;
        padding: 0px;
        margin-bottom: 0px;
    }
    .srvElement {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 5px;
}
.srvElementFullWidth {
    display: inline-block;
}

.srvElementImg {
    display: flex;
    justify-content: center;
    align-items: center;
    }

.srvElementFullWidth .srvElementBody {
    display: block;
}

.srvElementFullWidth .srvElementImg {
    width: 100%;
}

.srvElementFullWidth .srvElementContent {
    width: 100%;
    padding: 5px;
}

.srvElementBody {
    padding: 10px;
}
}
/* END SERVICES BOX */

h1.title-header {
    text-shadow: 2px 0px 20px black;
}

/* testimonials review */

.testimonials-container {
    max-width: 1280px;
    /*padding: 1rem 2rem;*/
    margin-right: auto;
    margin-left: auto;
    text-align:center;
}

.testimonials-title {
    text-align: center;
    font-weight: 800;
    font-size: 2.25rem;
    line-height: 2.5rem;
    margin-bottom: 0.5rem;
    letter-spacing: -0.025em;
    color: #1a202c;
}

.testimonials-info {
    margin-bottom: 1rem;
}

.testimonial-item {
    border: 0;
    border-radius: 10px;
    padding: 1rem;
    background: transparent;
    min-height: 100%;
    break-inside: avoid;
}

.testimonial-item:hover {
    background: transparent;
    border: 0;
}

.testimonials-grid .testimonial-item {
    margin-bottom: 1rem;
}



.testimonial-item a {
    height: 100%;
    display: grid;
}

.testimonial-subject {
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    color: #f3f3f3;
    text-shadow: 0 0 5px #000;
}

.rating {
    display: flex;
    justify-content: center;
    margin: 0.5rem;
}

.star {
    width: 1rem;
    height: 1rem;
    color: #ffc956;
    margin:2px;
}

.testimonial-content {
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 500;
    color: #f3f3f3;
    text-align: center;
    font-style: italic;
    text-shadow: 0 0 5px #000;
}

.testimonial-footer {
    margin-top: 1rem;
}

.reviewer-details {
    font-size: 0.75rem;
}

.review-from-logo {
    width: 5rem;
    height: auto;
    background: #ffffff;
    padding: 3px;
    border-radius: 5px;
    min-height: 35px;
    filter: drop-shadow(0px 0px 3px #000);
}

.reviewer-name {
    font-weight: 500;
    color: #f3f3f3;
    line-height: 1.5rem;
    text-shadow: 0 0 5px #000;
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
    .testimonials-grid {
        column-fill: balance;
        columns: 2;
        gap: 1.5rem;
    }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    .testimonials-grid {
        columns: 3;
    }

    .testimonial-subject {
        font-size: 1.25rem;
    }

    .testimonial-content {
        line-height: 1.5rem;
    }

    .testimonial-footer {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .reviewer-details {
        display: flex;
        align-items: center;
    }

    .reviewer-name {
        padding-right: 0.75rem;
        font-size: 0.75rem;
        border-right: 0;
    }

    .review-from-logo {
      padding-left: 3px;
    }
}

.nav-arrows {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
	
}

.nav-arrows button {
    padding: 0.5rem;
    border-width: 1px;
    border-color: #5484a2;
    border-radius: 0;
    cursor: pointer;
    background: #5484a2;
    border-style:solid;
    display: flex;
    box-shadow: 0 0 5px #000;
}

.nav-arrows button:hover {
    background: #3a5b70;
    color: white;
    border-color: #3a5b70;
}

.nav-arrows button svg {
    height: 1.25rem;
    width: 1.25rem;
    margin-right: 0;
}

.rotate-180 {
    rotate:180deg;
}

/* end testimonials review */

#footer-widgets .footer-widget li:before {
	display:none !important;
}

#footer-widgets .footer-widget li {
	padding-left: 0px;}

 /* ADDITTIONAL SERVICES STYLE */


#additionalServices {
    list-style: none;
    text-align: center;
    padding: 0;
    list-style-type: none;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#additionalServices li {
    break-inside: avoid;
    padding: 5px 3px;
    font-size: 18px;
    color: #ffffff;
    position: relative;
    text-align: center;
    margin-bottom: 0 !important;
}
#additionalServices li a {
	color: #fff;
	text-decoration: underline;
}
#additionalServices li::before {
    content: "\f00c";
    font-family: 'FontAwesome';
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px;
}


@media (min-width: 600px) {
 

#additionalServices li {
    break-inside: avoid;
    padding: 10px 5px;
    text-align: left;
}

    
}

@media (min-width: 981px) {
#additionalServices {
    columns: 3;
    column-gap: 10px;
}
}

.nav-arrows > button.slider-previous > svg > path{
	transition:0.1s;
}

.nav-arrows > button.slider-next > svg > path{
	transition:0.1s;
}

#mobile_menu li a {
    line-height: 1.2em;
}

.floating-estimate-btn{
z-index: 9999;
}

#main-footer .listing-rev-btn{
display: flex;
    align-items: baseline;
    position: fixed;
    z-index: 9999;
}

body:not(.et_pb_page) #main-content .container{
	padding: 80px 0px;
}

/* Blog Post, Services and Blog Page Style */
.page-template-default div#content-area div#left-area h1, .page-template-default div#content-area div#left-area h2, p.post-meta, .single-post h2 {
    text-align: left !important;
}

.page-template-default:not(.single-post) div#content-area div#left-area h2:last-of-type {
	text-align: center !important;
}

.page-template-default div#content-area div#left-area p, .blog-page-class p, .single-post p {
    text-align: justify !important;
}

@media (max-width: 980px) {
	
	.page-template-default div#content-area div#left-area h1 {
	    font-size: 26px !important;
	    text-align: center !important;
	}

	.page-template-default div#content-area div#left-area h2 {
	    font-size: 24px !important;
	}

	.blog-page-class h2, p.post-meta{
		/* text-align: center !important; */
	}
}

/* Page Padding Fix */
.single-post div#main-content .container {
    padding: 77px 0 !important;
}
#main-content .container {
	padding: 77px 0 !important;
}

#main-content .container h2{
    padding-bottom: 10px;
    font-size: 24px;
}

.blog-page-class .et_pb_post:last-of-type {
	margin-bottom: 0 !important;
}

@media (min-width: 981px) {
	#main-content .container .type-post:last-of-type {
		margin-bottom: 0 !important;
		padding-bottom: 0;
	}
}
