/*
Theme Name: Boston - Child
Version: 587
Description: A child theme of DMM by Almina
Template: mts_schema
Text Domain: schema
*/

/* Carousel */
@import url("../mts_schema/style.css");

/* general */

* {
    box-sizing: border-box;
}

#page {
    padding: 0px;
}

html a.btn {
    color: #fff;
    font-size: 15px;
    background: rgb(0,0,0);
    background: var(--sColor) !important;
    color: #fff !important;
    border-radius: 10px;
    display: inline-block;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

#header a.btn {
    padding: 20px 30px;
    background: var(--aColor) !important;
}

.container {
    width:  100%;
    max-width: 1200px;
    padding: 0px 15px;
}
.anchor-fix {
    position: relative;
    top: -160px;
    width: 100%;
    height: 1px;
}

/* Header */
.header-spacer {min-height: 204px;}

div#regular-header {
    background: #F8F8F8;
    padding: 7px 0px;
}

.dm-third.social-header > * {
    display: inline-block;
    margin: 0px;
}

.dm-third.social-header {
    text-align: right;
    margin: 0px;
}

.container-wide.dm-flex {
    margin: 0px auto;
}

.container-wide.dm-flex {}

.social-icons a {
    margin-right: 7px;
}

.regular_header #secondary-navigation {
    float: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

a#pull {
    display: none;
}

div#mobile-menu-overlay {
    display: none;
}

.logo-wrap {
    float: none;
    overflow: visible;
}

.container-wide {
    padding: 0px 15px;
    margin: 0px auto;
}

div#header {
    float: none;
    background: #fff;
}

#logo img {
    display: block;
    float: none;
    max-width: 350px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#header .logo-wrap {
    padding: 10px 0px;
    margin: 0px auto;
    margin-left: 0px;
}

#header .logo-wrap a {
    padding: 0px !important;
    display: block;
}

.dm-third.social-header p {
    font-size: 15px;
    margin: 0px 11px;
}

.dm-third.social-header p:after {
    content: "";
    right: -14px;
    height: 80%;
    width: 1px;
    background: var(--pColor);
    position: absolute;
    bottom: 2px;
}

.dm-third.social-header p {
    position: relative;
}

.dm-third.social-header p:last-of-type:after {
    display: none;
}

/* Slider */
.half-caption h2 {
    font-size: 76px;
    font-size 76pxfont-weight FONT-WEIGHT: 700;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 76px;
    margin-bottom: 33px;
    line-height: 1;
}

div#slider-primary {
    max-width: 95%;
    margin: 0px auto;
}

.half-caption h2:after {
    content: "";
    height: 30px;
    margin-top: -21px;
    background: var(--sColor);
    position: relative;
    display: block;
    z-index: -1;
}

.slide-content h4 {
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 50px;
}

div#slider-primary .dm-half {
    display: flex;
    /* align-items: center; */
    /* justify-content: center; */
}

html .dm-slide-main .newCon {
    height: auto !important;
}

div#slider-primary .dm-half:nth-child(1) {
    flex: 1 1 40%;
}

div#slider-primary .dm-half:nth-child(2) {
    flex: 1 1 60%;
}

.dm-half .slick-slide img {
    margin: 0px auto;
}

img {}

.slick-slide .dm-half img {
    margin: 0px auto;
    display: block;
}

.main-head-wrap {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 999;
}

.mobile_cta_buttons.hide-d.mobile-btn {
    display: none;
}

.container-wide {
    max-width: 100%;
}

@media screen and (min-width: 2000px) {
    .container-wide, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 2000px;
    }
}

section.boston-welcome > div {
    padding: 0px;
}

section.boston-welcome .dm-half {
    padding: 0px;
}

@media screen and (min-width: 500px) {
    .home h2 {
        font-size:2.5rem
    }
}

@media screen and (min-width: 992px) {
    .home h2 {
        font-size:3rem;
        text-align: left
    }
}

@media screen and (min-width: 1200px) {
    .home h2 {
        font-size: 3.5rem;
    }
}

@media screen and (min-width: 1400px) {
    .home h2 {
        font-size: 3.7rem;
    }
}

@media screen and (min-width: 1700px) {
    .home h2 {
        font-size: 4.15rem;
    }
}

section.boston-welcome .dm-half:nth-child(2) {
    padding-left: 40px;
    /* margin-top: 70px; */
    padding-right: 40px;
}

@media screen and (min-width: 992px) {
    .home h3 {
        font-size:2rem;
        text-align: left
    }
}

@media screen and (min-width: 1200px) {
    .home h3 {
        font-size:2.3rem
    }
}

@media screen and (min-width: 1500px) {
    .home h3 {
        font-size:2rem
    }
}

@media screen and (min-width: 1700px) {
    .home h3 {
        font-size: 2.1rem;
    }
}

/* Welcome */

html a.btn img {
    vertical-align: middle;
    filter: brightness(0) invert(1);
}

section.boston-welcome h2 {
    text-transform: uppercase;
    color: #000;
    margin: 0px;
    line-height: 1.1;
    text-align: center;
}

section.boston-welcome h3 {
    color: var(--pColor);
    margin-bottom: 30px;
    margin-top: 15px;
}

section.boston-welcome h3 + p {
    margin-bottom: 30px;
}

html #slider-primary .dm-slide-main {
    height: auto;
}

/**/
section.new-service-section {
    background: var(--sColor);
    padding: 6vh 0px;
}

section.boston-welcome {
    padding: 10vh 0px;
}

section.new-service-section .container-wide {
    max-width: 1700px;
}

section.new-service-section {}

section.new-service-section h2 {
    text-transform: uppercase;
    color: #fff;
    font-size: 4rem;
    line-height: 1;
    margin-bottom: 16px;
}

section.new-service-section h3 {
    color: #fff;
    margin-bottom: 35px;
    font-size: 34px;
}

section.new-service-section a.btn {
    background: #fff !important;
    color: var(--sColor) !important;
}

html a.btn {
    padding: 10px 40px;
    border-radius: 100px;
}

section.new-service-section .dm-half:nth-child(2) {
    color: #fff;
    display: none;
}

section.new-service-section .dm-half:nth-child(2) p {
    max-width: 85%;
}

.dm-slider-servicesa {
    margin-top: 30px;
}

.dm-slider-servicesa img {
    border-radius: 60px;
    display: block;
}

.dm-slider-servicesa .slick-slide a {
    color: #fff;
    font-weight: bold;
    position: absolute;
    z-index: 1;
    bottom: 30px;
    right: 40px;
    z-index: 12;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dm-slider-servicesa .nss-img {
    height: 30vw;
    border-radius: 10px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    color: #fff;
    background-size: cover;
    background-position: 50% 50%;
}

.dm-slider-servicesa .nss-img:after {
    content: close-quote;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--sColor);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(53, 69, 96, 0)), to(rgba(53, 69, 96, .451418)));
    background: -o-linear-gradient(top,rgba(53,69,96,0) 0,rgba(53,69,96,.451418) 100%);
    background: linear-gradient(180deg, rgba(53, 69, 96, 0), rgb(0 0 0 / 45%));
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#354560",endColorstr="#354560",GradientType=1);
    height: 100%;
    border-radius: 60px;
}

section.half-half-classy {
    padding: 7vh 0px 7vh;
}

section.half-half-classy > div {
    padding: 0px;
}

section.half-half-classy .dm-half:nth-child(2) {
    padding: 0px;
}

section.half-half-classy .dm-half:nth-child(1) {
    padding-left: 75px;
}

section.half-half-classy .dm-half:nth-child(1) h2 {
    text-transform: uppercase;
    line-height: 1;
    color: var(--sColor);
    margin-bottom: 50px;
    display: inline-block;
    padding-right: 30px;
}

section.half-half-classy .dm-half:nth-child(1) h2 + p {
    margin-bottom: 45px;
}

section.half-half-classy h2:after {
    content: "";
    height: 30px;
    margin-top: -21px;
    background: var(--aColor);
    position: relative;
    display: block;
    z-index: -1;
    width: 105%;
}

.nss-img {
    position: relative;
}

.dm-slidea {
    margin: 0px 10px;
}

.dm-slider-servicesa .slick-arrow {
    display: none !important;
}

.dm-slider-servicesa .slick-slide a svg {
    max-width: 60px;
    margin-left: 20px;
    fill: var(--aColor) !important;!i;!;
}

section.random-title h3 {
    text-align: center;
    font-family: Playfair Display;
    color: var(--sColor);
    text-transform: uppercase;
    font-size: 65px;
    max-width: 1000px;
    margin: 10px auto 40px;
    line-height: 1.2;
}

section.random-title h3 span {
    color: var(--aColor);
}

section.cta-classic {
    padding: 15vh 0px;
    position: relative;
    background-size: cover;
    background-position: 50% 50%;
    border-radius: 70px;
}

section.cta-classic:after {
    content: close-quote;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #354560;
    background: -webkit-gradient(linear, left top, right top, from(rgba(53, 69, 96, 0)), to(#0b1e3e));
    background: -o-linear-gradient(left,rgba(53,69,96,0) 0,#0b1e3e 100%);
    background: linear-gradient(90deg, rgba(53, 69, 96, 0), #0b1e3e);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#354560",endColorstr="#0b1e3e",GradientType=1);
    border-radius: 70px;
}

.cta-carrier {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0px auto;
    margin-right: 5%;
}

.cta-carrier * {
    color: #fff;
}

.cta-carrier h3 {
    line-height: 1.2;
    font-size: 40px;
    margin-bottom: 40px;
}

.cta-carrier h3 + p {
    margin-bottom: 45px;
}

.cta-carrier a.btn {
    background: var(--aColor) !important;
    color: var(--sColor) !important;
}

.cta-carrier a.btn img {
    filter: brightness(0);
}

section.wda-visual-block h2 {
    text-transform: uppercase;
    color: var(--sColor);
    line-height: 1;
    border-left: 10px solid var(--aColor);
    padding-left: 15px;
    padding-bottom: 9px;
}

section.wda-visual-block h4 {
    font-weight: bold;
    font-size: 34px;
    margin-bottom: 40px;
    line-height: 1.2;
}

.wda-visual-block .newbtn {
    background: var(--sColor) !important;
    border-radius: 20px;
    text-transform: none;
    font-weight: bold;
    padding: 20px 30px;
}

section.wda-visual-block.welcomeright .dm-flex {
    flex-direction: row-reverse;
}

section.wda-visual-block .dm-half:nth-child(1) {
    padding: 0px;
}

section.wda-visual-block.welcomeright {}

section.wda-visual-block .container-wide {
    padding: 0px;
}

.middle {
    max-width: 90%;
    margin: 0px auto;
}

.welcome-image img {
    border-radius: 0px 20px 20px 0px;
}

.boston-testimonials-wrapper.dm-flex {
    position: relative;
}

.boston-testimonials:after {
    content: close-quote;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #354560;
    background: -webkit-gradient(linear, left top, right top, from(rgba(53, 69, 96, 0)), to(#0b1e3e));
    background: -o-linear-gradient(left,rgba(53,69,96,0) 0,#0b1e3e 100%);
    background: linear-gradient(90deg, rgba(53, 69, 96, 0), var(--sColor));
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=
    "#354560",endColorstr="#0b1e3e",GradientType=1);
}

section.boston-testimonials {
    background-size: cover;
    background-position: 50% 50%;
    position: relative;
    border-right: 25px solid var(--aColor);
    background-attachment: fixed;
    /* margin-top: 5vh; */
}

.boston-testimonials-wrapper.dm-flex > * {
    position: relative;
    z-index: 1;
}

.boston-testimonials-wrapper.dm-flex > img {
    max-width: 87px;
    display: block;
    margin: 0px auto;
    margin-left: 0px;
    margin-bottom: 35px;
}

.boston-testimonials-wrapper.dm-flex > h3 {
    color: #fff;
    font-size: 60px;
    text-transform: uppercase;
    display: block;
    width: 100%;
    margin-bottom: 0px;
    line-height: 1.2;
}

.boston-testimonials-wrapper.dm-flex {
    max-width: 45%;
    margin: 0px auto;
    margin-right: 5%;
    z-index: 1;
    padding: 10vh 50px;
    display: block;
}

.boston-testimonials-wrapper.dm-flex * {
    color: #fff;
}

.boston-testimonials-wrapper.dm-flex > h3 strong {
    color: var(--aColor);
}

.central-testimonial-slider {
    padding-left: 50px;
}

section.boston-testimonials:before {
    content: "";
    position: absolute;
    right: 0px;
    height: 100%;
    background-image: url(../boston-child/assets/grwhite.png);
    width: 100px;
    background-size: cover;
    z-index: 1;
}

.central-text-wrapper h4 {
    display: block;
    margin-top: 5px;
    font-weight: bold;
}

section.constulation {
    padding: 5vh 0px;
}

section.constulation > div {
    max-width: 90%;
    background: var(--sColor);
    border-radius: 20px;
    text-align: center;
    padding: 40px;
}

section.constulation h3 {
    text-align: center;
    display: block;
    font-size: 60px;
    text-transform: uppercase;
    color: #fff;
}

.copyrights {
    float: none;
    padding: 3vh 0px;
    text-align: left;
    background: transparent;
}

.bottom-footer p {
    display: inline-block;
    margin: 0px auto;
}

.bottom-footer {
    padding: 10px 0px;
    text-align: center;
    color: #fff;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.bottom-footer * {
    color: #fff;
}

.copyrights * {
    color: var(--sColor) !important;
}

.copyrights h3 {
    font-size: 29px;
}

.copyrights .dm-flex {
    align-items: flex-start;
}

.bottom-footer p:nth-child(1),.bottom-footer p:nth-child(2) {
    flex: 1 1 50%;
    text-align: left;
}

.bottom-footer p:nth-child(3) {
    flex: 1 1 100%;
    text-align: right;
}

.bottom-footer {
    max-width: 90%;
    margin: 0px auto;
}

.bottom-footer p:nth-child(2) {
    text-align: right;
}

.bottom-footer p a {
    font-weight: bold;
}

.copyrights > div {
    max-width: 90%;
    margin: 0px auto;
}

section.constulation li input {
    height: 50px !important;
}

section.constulation p {
    color: #fff;
}

.constulation li#field_2_5 {
    display: none !important;
}

section.constulation label {
    color: #fff;
}

.constulation li#field_2_6 li input {
    height: auto !important;
}

.constulation li#field_2_6 li {
    color: #fff !important;
}

section.constulation div#gfield_description_2_6 {
    color: #fff;
}

section.constulation a {
    color: #fff;
    font-weight: bold;
}

.wda-visual-block .newbtn img {
    vertical-align: middle;
}

section.half-half-classy .dm-half:nth-child(2):before {
    position: absolute;
    content: "";
    bottom: 0px;
    left: 0px;
    background-image: url(../boston-child/assets/circle.png);
    height: 400px;
    width: 400px;
    background-size: contain;
    background-position: 50% 50%;
    left: -110px;
    bottom: -70px;
    animation: spin 30s linear infinite;
}

.half-caption a img {
	display: none !important;
}

section.half-half-classy .dm-half:nth-child(2) {
    position: relative;
}

section.half-half-classy .dm-half:nth-child(2) p {
    position: relative;
    z-index: u1;
}

section.half-half-classy .dm-half:nth-child(2) img {
    border-radius: 10px;
    display: block;
    margin: 0px auto;
    width: 80%;
}

body#blog.home {
    position: relative;
}

body#blog.home:before {
    left: 45%;
    position: fixed;
    content: "";
    width: 1px;
    height: 100vh;
    background: var(--sColor);
    opacity: 0.1;
    top: 0px;
}

body#blog.home:after {
    left: 65%;
    position: fixed;
    content: "";
    width: 1px;
    height: 100vh;
    background: var(--sColor);
    opacity: 0.1;
    top: 0px;
}

.main-container {
    position: relative;
    z-index: 1;
}

footer#site-footer {background: transparent;}

.dm-full.bottom-full.footer-creds {
    background: var(--sColor);
}

.nss-slide {
    display: flex;
    justify-content: flex-end;
    max-width: 85%;
}

.nss-slide > div {
    flex: 0;
}

ul#menu-main-menu > li {
    border-radius: 50px;
}

section.boston-welcome:before {
    border-right: 18px solid var(--aColor);
    position: absolute;
    right: 0px;
    height: 80%;
    bottom: 0px;
}

section.boston-welcome {
    position: relative;
    text-align: center;
    background: var(--sColor);
}

.nss-slide .dm-half:nth-child(1) {
    transform: scaleX(-1);
}

.nss-slide svg {
    cursor: pointer;
}
@media (min-width: 881px) {
	nav.navigation.clearfix.mobile-menu-wrapper {
		float: none;
		width: auto;
	}
	li#menu-item-32 {
		display: none;
	}
}

html a.btn:hover {
    transform: scale(0.9);
    opacity: 0.9;
}

html a.btn {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out !important;
    transform: scale(1);
    opacity: 1;
}

@media (max-width: 880px) {
	#header a.btn {
		display: none;
	}

	html a#pull:after {
		position: relative;
		top: 0px;
		right: 0px;
		margin: 0px auto !important;!I;!;
		display: block !important;!i;!;
	}

	.dm-third.social-header p:nth-child(1),.dm-third.social-header p:nth-child(2) {
		display: none;
	}

	div#regular-header .dm-third {
		flex: 1 1 50%;
	}

	.header-spacer {
		min-height: 80px;
	}

	html a#pull {
		width: 40px;
		margin: 0px !important;
		display: block;
		padding: 0px !important;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#header .logo-wrap {
		max-width: 250px;
		margin: initial;
	}

	.regular_header #secondary-navigation {
		justify-content: space-between;
		height: auto;
	}

	#header h1, #header h2 {
		display: block;
		float: none;
	}

	section.random-title h3 {
		font-size: 40px;
	}

	.boston-testimonials-wrapper.dm-flex {
		max-width: 100%;
		margin: 0px;
	}

	.boston-testimonials-wrapper.dm-flex > h3 {
		font-size: 40px;
		line-height: 1;
		text-align: center;
	}

	section.constulation h3 {
		font-size: 40px;
		margin: 30px 0px;
	}

	section.constulation > div {
		padding: 20px;
		max-width: 100%;
		border-radius: 0px;
	}

	.copyrights li {list-style: none !important;}

	section.boston-testimonials:before {
		display: none;
	}

	section.boston-testimonials {
		border: 0px;
		background-position: 0% 50%;
	}

	.central-testimonial-slider {
		padding: 0px;
		text-align: center;
	}

	.boston-testimonials-wrapper.dm-flex > img {
		max-width: 40px;
		margin: 20px auto 10px;
	}

	h3 {}

	.boston-testimonials:after {
		background: var(--sColor);
		opacity: 0.7;
	}

	section.wda-visual-block h4 {
		font-size: 25px;
		text-align: center;
	}

	section.wda-visual-block h2 {
		text-align: center;
		border: 0px;
	}

	.middle p {
		text-align: center;
	}

	.middle {
		text-align: center;
	}

	html a.btn,html .newbtn {
		padding: 15px 25px !important;
	}

	.cta-carrier {
		max-width: 100%;
		margin: 0px auto;
		padding: 0px 20px;
		text-align: center;
	}

	section.cta-classic {
		padding: 9vh 0px;
		background-position: 25% 50%;
	}

	section.half-half-classy .dm-half:nth-child(1) {
		padding: 0px 20px;
	}

	.hhc {
		text-align: center;
	}

	section.half-half-classy .dm-half:nth-child(1) {
		order: 2;
		padding-top: 40px;
	}

	.dm-slider-servicesa .nss-img {
		min-height: 450px;
	}

	section.new-service-section h2 {
		font-size: 30px;
		text-align: center;
	}

	section.new-service-section h3 {
		font-size: 25px;
		text-align: center;
	}

	section.new-service-section .dm-half:nth-child(2) {
		text-align: center;
	}

	section.new-service-section .dm-half:nth-child(2) p {
		max-width: 100%;
	}

	section.new-service-section .dm-flex {
		text-align: center;
	}

	section.boston-welcome:before {
		opacity: 0;
	}

	section.boston-welcome .dm-half:nth-child(2) {
		text-align: center;
		padding: 0px;
	}

	.half-caption h2 {
		line-height: 40px;
		font-size: 40px;
	}

	.slide-content h4 {margin-bottom: 30px;font-size: 25px;}

	div#slider-primary .dm-half:nth-child(1) {order: 2;margin-top: 50px;}

	section.boston-welcome h3 {
		margin-bottom: 30px;
	}
}

.slick-aninmated-line {
    height: 20px;
    background: var(--sColor);
    margin-top: 35px;
    width: 30%;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    display: none;
}

#header a.btn {
	padding: 10px 15px;
	}

#secondary-navigation a {
 padding: 10px 25px;
 }


  .testimonial-box-dm blockquote {
    font-size: 18px;
    line-height: 1.6;
    color: #666;
    margin: 0;
    padding: 20px;
	  border-radius: 8px;
	   border: 1px solid #ccc;
    background-color: #f9f9f9;
    padding: 20px;
    margin: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.testimonial-box-dm blockquote:after {
	font-size: 40px;
	color: #0e070714;
} 

section.constulation > div {
	display: flex;
	flex-wrap: wrap;
}

img.apt-img {
	    height: 100% !important;
	    object-fit: cover !important;
	    border-radius: 20px;
}

@media screen and (min-width: 881px) 

{
.dm-service-section.half-blue .dm-flex {
	align-items: normal;
}
	
	.blue-box {
			background: #354560;
		height: 100%;
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 10px;

		
	}

.dm-service-section.half-blue .dm-half {
	padding-bottom: 10px;
	padding-top: 10px;
	}

	.dm-service-section.half-blue .dm-half * {
		color: #FFF;
	}
	
}

@media (max-width: 880px) {
	div#regular-header {
		display: none;
	}
	.mobile_cta_buttons.hide-d.mobile-btn {
		display: block;
	}

	.mobile_cta_buttons.hide-d.mobile-btn {
		text-align: center;
	}

	.mobile_cta_buttons.hide-d.mobile-btn a {
		display: block;
		width: 100%;
		color: #fff;
		padding: 10px 0px;
	}

	.mobile_cta_buttons.hide-d.mobile-btn p {
		margin-bottom: 5px;
	}

	.mobile_cta_buttons.hide-d.mobile-btn {
		padding: 10px 0px;
	}

	.mobile_cta_buttons.hide-d.mobile-btn .header-social-icons {
		float: none;
		background: transparent;
		display: flex !important;!i;!;
		align-items: center;
		justify-content: center;
	}

	.mobile_cta_buttons.hide-d.mobile-btn .header-social-icons a {
		margin: 0px 5px;
	}

	.mobile_cta_buttons.hide-d.mobile-btn .dm-rate-us a {
		color: #ffe200 !important;!i;!;
	}
}

@media screen and (min-width: 880px) {
	ul.sub-menu.toggle-submenu.wda-long-menu {
	  max-height: 300px;
	  overflow-y: auto; 
	  overflow-x: hidden; 
	}
}

.dm-third.social-header p {
    margin-left: 10px;!;!im;!;
}

#regular-header .dm-rate-us span {
    font-size: 15px;
}

#regular-header .dm-rate-us a {
    font-size: 15px;
}

.dm-slider-servicesa .slick-slide a svg * {
    fill: inherit;
}

.dm-slider-servicesa .slick-slide a svg g > g {
    fill: #fff;
}

section.constulation li:before {
    opacity: 0;
}
.nss-slide svg {fill: var(--pColor) !important;!I;!;}

.nss-slide svg * {
    fill: inherit;
}

.nss-slide svg g g {
    fill: #fff;
}

.head-btn img {
    display: none;
}

html .dm-slide-main .newCon img {
    height: 90% !important;!I;!;
    margin: 0px auto;
    margin-top: 2.5%;
    border-radius: 20px;
    width: 100%;
    object-fit: cover;
}

footer#site-footer a.btn img {
    display: none;
}

html .video_holder {
    height: calc(100vh - 204px);
    background: #000;
}

.carousel-caption {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    left: 0px;
    right: 0px;
    margin: 0px auto;
    width: 100%;
    max-width: 1400px;
    text-align: center;
}

.carousel-caption h2 {
    text-align: center;
    line-height: 1;
    color: #fff;
}

.carousel-caption span {
    display: block;
    font-weight: bold;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

html .video_holder video {
    opacity: 0.5;
}

.main-head-wrap.header_fixed img {
    max-width: 150px !important;
}


section.constulation div#field_2_5 {
    color: #fff;
}

section.constulation div#gform_fields_2 >div#field_2_1,section.constulation div#gform_fields_2 > div#field_2_2 {
    width: 48%;
}

section.constulation div#field_2_1 input,section.constulation div#field_2_2 input {
    width: 100% !important;
    height: 37px;
    border-radius: 50px;
}

section.constulation div#field_2_7 {
    color: #fff;
}

section.constulation div#field_2_3 input {
    width: 100% !important;
    border-radius: 50px;
}

section.constulation div#gform_fields_2 {
    display: flex;
    flex-wrap: wrap;
}

section.constulation div#gform_fields_2 > div {
    width: 100%;
}

section.constulation legend.gfield_label.gform-field-label.gfield_label_before_complex {
    display: none;
}

section.constulation input[type="submit"] {
    margin: 0px auto !important;
}

section.boston-welcome img {
    max-width: 230px;
}

section.boston-welcome * {
    color: #fff !important;
}

section.boston-welcome .dm-half > div {
    margin-bottom: 55px;
}

section.boston-welcome a.btn {
    background: var(--aColor) !important;
}

section.new-service-section h2 {
    text-align: center;
}

@media (max-width: 880px) {
	html #logo img {
		max-width: 250px;
	}
}

.news-slider-section {
	padding: 5vh 0px;
	 /* Light background to make videos pop */
	overflow: hidden;
}

.section-title {
	text-align: center;
	margin-bottom: 40px;
	color: #333;
	font-size: 2rem;
	font-weight: 700;
}

/* --- 1. Layout --- */
.wheel-section {
	background: #f4f7f6;
	padding: 60px 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: sans-serif;
}

.wheel-container {
	position: relative;
	width: 600px;
	height: 400px;
	margin: 0 auto;
	perspective: 1000px; /* Essential for 3D depth */
}

/* --- 2. The Card (Generic) --- */
.card {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.15);
	transition: all 0.5s ease-in-out;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	/* Default State: Hidden in the back */
	opacity: 0;
	transform: translateX(0) scale(0.5);
	z-index: 0;
	pointer-events: none; /* Can't click hidden cards */
}

/* --- 3. Media Handling (Video/Iframe/Image) --- */
.card-video {
	position: relative;
	height: 70%;
	background: black;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* Make all media types fill the box */
.card-video iframe,
.card-video video,
.card-video img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover; /* Ensures images/videos cover the area without stretching */
	border: none;
}

/* Text Area */
.card-text {
	height: 30%;
	padding: 15px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.card-text h3 {margin: 0 0 5px;font-size: 1.1rem;color: #333;text-align: center;font-size: 30px;}
.card-text p { margin: 0; font-size: 0.9rem; color: #777; font-weight: bold;}

/* --- 4. The Active States --- */

/* CENTER (Active) */
.card.center {
	z-index: 10;
	transform: translateX(0) scale(1);
	opacity: 1;
	pointer-events: auto; /* Enable clicks */
}

/* LEFT (Prev) */
.card.left {
	z-index: 5;
	transform: translateX(-55%) scale(0.85); /* Push Left */
	opacity: 0.7;
	pointer-events: auto; /* Allow clicking to rotate */
	cursor: pointer;
}

/* RIGHT (Next) */
.card.right {
	z-index: 5;
	transform: translateX(55%) scale(0.85); /* Push Right */
	opacity: 0.7;
	pointer-events: auto; /* Allow clicking to rotate */
	cursor: pointer;
}

/* HIDDEN (The rest of the items) */
.card.hidden {
	/* They sit behind the center card waiting */
	z-index: 1;
	transform: translateX(0) scale(0.5); 
	opacity: 0; 
}

/* --- Controls --- */
.controls {
	margin-top: 30px;
	display: flex;
	gap: 20px;
}
.btn {
	padding: 12px 30px;
	background: #0056b3;
	color: white;
	border: none;
	border-radius: 30px;
	cursor: pointer;
	font-weight: bold;
	transition: background 0.3s;
}
.btn:hover { background: #003d80; }

/* Mobile Fix */
@media (max-width: 768px) {
	.wheel-container { width: 90%; height: 350px; }
	.card.left { transform: translateX(-15%) scale(0.8); opacity: 0.5; }
	.card.right { transform: translateX(15%) scale(0.8); opacity: 0.5; }
	/* Hide text on side cards on mobile to reduce clutter? Optional. */
}

.controls button {
    border-radius: 50px;
    background: var(--aColor);
    width: 150px;
    font-size: 17px;
}

.controls img {
    display: none;
}

.slide-words span {
    font-family: 'Playfair Display';
    font-size: 55px;
    opacity: 0.3;
    color: #fff;
    line-height: 1;
}

html .slide-words {
    position: absolute;
    z-index: 5;
    bottom: 1%;
}

section.half-half-classy {
    position: relative;
}

.hide-las {
    overflow: hidden;
}

.rotate {
  animation: spin 2s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.home .gform_wrapper.gravity-theme .gfield textarea.small {
    border-radius: 50px;
}

.vol-flex {
    display: flex;
    align-content: center;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

.vol-flex .wp-caption
 {
    background: #f5f5f5;
    padding: 10px;
    width: 217px !important;
    margin: 10px;
}

.card.card-image > div {
    height: 100%;
}

@media screen and (min-width: 1700px) {
    .home h2 {
        font-size: 46px;
        padding-bottom: 10px;
    }
}