/*
	Theme Name: dyneservice
	Author: dyneservice
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font-family: "Red Hat Display", system-ui;
	font-size: 16px;
	font-weight: 400;
}

body p{
	line-height: 23px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Glegoo", serif;
	font-weight: 700;
	font-style: normal;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.wrap {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.center {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.j-end {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.end {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

.baseline {
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
}

.j-center {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.between {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.flex-row{
	margin: 0 -10px;
}

.flex-row-big{
	margin: 0 -20px;
}

.flex40,
.flex60{
	padding: 0 10px;
}

.flex30,
.flex70,
.flex100,
.flex50{
	width: 100%;
}

/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#000;
	text-decoration:none;
}
a:hover {
	color:#000;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	max-width:1200px;
	width:100%;
	margin:0 auto;
	padding: 0 10px;
	position:relative;
}
/* header */
.header {
	border-top: 7px solid #d5bb8f;
	padding: 25px 0;
	-webkit-box-shadow: 2px 1px 14px rgb(41 44 61 / 10%);
	        box-shadow: 2px 1px 14px rgb(41 44 61 / 10%);
}

.btn-main{
	display: inline-block;
	border: none;
	font-size: 15px;
	font-weight: 500;
	color: #fff!important;
	border-radius: 20px;
	padding: 6px 20px;
	text-align: center;
	-webkit-transition: .3s linear;
	-o-transition: .3s linear;
	transition: .3s linear;
}

.btn-main:hover{
	-webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.btn-main.blue{
	background: #91bde5;
}

.btn-main.black{
	background: #000;
}

.header-links-desktop{
	display: none;
}

.header-links .btn-main{
	margin-bottom: 25px;
}

.header-links .btn-main.green{
	background: #d5bb8f;
}

.nav>ul {
    display: none;
}

.nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.nav ul li{
	position: relative;
} 

.nav>ul>li {
	display: inline-block;

}

.nav ul>li>a {
    display: block;
	color: #000;
    font-size: 14px;
    padding: 10px;
}

.nav ul ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 9;
	text-align: left;
	white-space:nowrap
}

.nav ul li:hover> ul{
	display: block;
}

.nav ul ul ul {
	top: 0;
	left: 100%;
	width: 100%;
}

.nav ul ul li a {
    padding: 9px 10px;
    display: block;
    background: #91bde5;
	color: #fff;
}
.nav ul ul li a:hover{
	background: #000;
}

#mmenu_button{
	display: block;
    background: #91bde5;
    border-radius: 5px;
    padding: 10px;
}

#mmenu_button>span {
    display: block;
    height: 2px;
    background: #fff;
    width: 30px;
    margin-bottom: 5px;
    border-radius: 5px;
}

#mmenu_button>span:last-child{
	margin-bottom: 0;
} 

.mm-menu_offcanvas {
    z-index: 9;
}

.logo{
	margin-right: 20px;
	padding-left: 10px;
}

/* banner */
.banner{
	position: relative;
}

.banner-wrapper{
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 0;
}

.banner-wrapper-inner{
	max-width: 600px;
	margin-right: auto;
	padding: 0 10px;
}

.banner-content{
	position: relative;
	display: block;
	width: 100%;
	max-width: 470px;
	margin-left: auto;
	background: rgba(255, 255, 255, .7);
	padding: 50px 45px;
	border-radius: 20px;
	-webkit-box-shadow: 0px 0px 21px 0px rgba(20, 20, 20, 0.11);
	        box-shadow: 0px 0px 21px 0px rgba(20, 20, 20, 0.11);
}

.banner-title-small{
	font-size: 11px;
	text-transform: uppercase;
	color: #d5bb8f;
	letter-spacing: 2px;
}

.banner-title-big{
	font-size: 48px;
	line-height: 63px;
	margin-top: 20px;
	margin-bottom: 30px;
}

/* flexible-content */
.flexible-content{
	margin-top: 30px;
	overflow: hidden;
}

.flexible-content img{
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}


.content-text{
	position: relative;
	max-width: 600px;
    padding: 20px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}


.content-text h2{
	font-size: 21px;
	line-height: 28px;
	margin-top: 0;
	margin-bottom: 0;
}

.content-text .btn-main{
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
}

.text-image>.flex .flex50:first-child{
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}

.text-image>.flex .flex50:last-child{
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}

/* sidebar */
.welcome {
	background: #91bde5;
	padding: 40px 0;
	position: relative;
}

.welcome-content{
	position: relative;
	z-index: 1;
}

.welcome-content h1{
	font-size: 48px;
	color: #fff;
	margin: 0;
}

.welcome-content p{
	color: #fff;
}

.welcome-content.flex60{
	max-width: 610px;
}

.welcome-content .btn-main{
	margin-top: 20px;
}

.welcome-image{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
}

/* locations */
.locations{
	margin: 40px 0 20px 0;
}
.faq-title,
.locations-title{
	text-align: center;
}

.faq-title h3,
.locations-title h3{
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #91bde5;
	margin-bottom: 0;
}

.faq-title h1,
.locations-title h1{
	font-size: 48px;
	line-height: 63px;
	margin-top: 0;
}

.locations .wrapper{
	padding: 0 20px;
}

.location-item{
	width: 100%;
	padding: 0 20px;
	margin-bottom: 40px;
}

.location-item img{
	width: 100%;
	border-radius: 20px 20px 0 0;
}

.location-item-content{
	background: #f1f1f1;
	padding: 40px 20px;
	border-radius: 0 0 20px 20px;
}

.location-headline{
	position: relative;
	font-family: "Red Hat Display", system-ui;
	font-size: 32px;
	line-height: 24px;
	color: #d5bb8f;
	font-weight: 900;
	margin-top: 0;
	margin-bottom: 20px;
}

.location-headline:after{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #d2c8c7;
	margin-top: 10px;
}

.location-item .btn-main{
	margin-top: 20px;
}

/* bottom banner */
.bottom-banner {
    padding: 60px 0; 
}

.bottom-banner .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.bottom-banner-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
}

.bottom-banner-text {
    max-width: 620px;
	padding: 0 10px;
}

.bottom-banner-text h2 {
    font-size: 24px;
    line-height: 36px;
	margin-top: 0;
    margin-bottom: 20px; 
    color: #000;
	max-width: 280px;
}

.bottom-banner-text .banner-text {
    color: #fff;
    margin-bottom: 20px;
	max-width: 440px;
}

/* faq */
.faq-section{
	background: url(/wp-content/uploads/2024/09/Layer-22-modified.png) no-repeat center/cover;
	padding: 60px 0;
}

.faq-title h3{
	color: #000;
}

.accordion__item {
	margin-bottom: 5px;
}

.accordion__item:last-child{
	margin-bottom: 0;
}

.accordion__item .accordion__title {
	position: relative;
	display: block;
	padding: 18px 60px 18px 45px;
    font-size: 18px;
	text-decoration: none;
	background-color: rgb(145, 189, 229, .7);
	-webkit-transition: background-color 0.2s;
	-o-transition: background-color 0.2s;
	transition: background-color 0.2s;
  	cursor: pointer;
	  border-radius: 10px;
	  color: #fff;
}

.accordion__item .accordion__title:hover {
	background-color: rgb(145, 189, 229, .9);
	-webkit-transition: background-color 0.5s ease-out;
	-o-transition: background-color 0.5s ease-out;
	transition: background-color 0.5s ease-out;
}

.accordion__item .accordion-active {
	background-color: rgb(145, 189, 229, .9);
	/* border-bottom-left-radius: 0;
	border-bottom-right-radius: 0; */
}

.accordion__arrow-wrapper{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	right: 10px;
}

.accordion__item .accordion__title .accordion__arrow{
	width: 50px;
	height: 50px;
	text-align: center;
	color: #ffffff;
	line-height: 25px;
	font-size: 32px;
	font-weight: 700;
	margin-right: 5px;
	-webkit-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.accordion__item .accordion__rotate {
	-webkit-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	        transform: rotate(180deg);
}

.accordion__item .accordion__content {
	padding: 30px;
	margin-bottom: 2px;
	font-size: 18px;
	display: none;
	color: #fff;
	background-color: rgb(145, 189, 229, .9);
	/* border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px; */
	border-radius: 10px;
}

.accordion__item .accordion__arrow-item {
	font-weight: 700;
}

/* usps */
.usps{
	margin: 40px 0 20px 0;
}
.usps .flex{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.usp-item{
    width: 100%;
    text-align: center;
    max-width: 205px;
	margin-bottom: 20px;
}

.usp-item h4{
	font-size: 13px;
	line-height: 16px;
	color: #91bde5;
	text-transform: uppercase;
}

.usp-item p{
	font-size: 13px;
	line-height: 22px;
}

/* footer */
.footer {
	background: #000;
    padding: 40px 0;
}

.footer .wrapper{
	padding: 0 20px;
}

.footer .wrapper>div {
	width: 100%;
	margin-bottom: 25px;
}

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

.footer ul li ul {
	display: none;
}

.footer p,
.footer li,
.footer a {
	font-size: 13px;
	line-height: 22px;
	color: #ffffff;
}

.footer a:hover {
	text-decoration: underline;
}

.footer p.h3 {
	font-size: 17px;
	font-weight: 700;
	color: #91bde5;
	margin-top: 0;
}


/*------------------------------------*\
    PAGES
\*------------------------------------*/
.contact-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.wpcf7-text,
.wpcf7-textarea,
.wpcf7-select {
	font-size: 15px;
	font-weight: 600;
	min-height: 47px;
	width: 100%;
	padding: 6px 16px;
	border-radius: 4px;
	outline: none;
	border: 1px solid #000000;
}

.wpcf7-textarea {
	height: 98px;
}

.wpcf7 .wpcf7-submit {
	width: 100%;
}

.iframe-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
}

.iframe-wrapper iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mapsFlex{
	margin: 0 -10px;
}

.mapsFlex .map{
 width: 100%;
 padding: 0 10px;
 margin-bottom: 20px;
} 

.no-break {
	white-space: nowrap;
  }
/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

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

}
@media(max-width:379px){
	.header-links .btn-main{
		font-size: 11px;
	}
}

@media only screen and (min-width:480px) {
	.banner-content:after{
		content: url(/wp-content/uploads/2024/09/Layer-11.png);
		display: block;
		position: absolute;
		top: -70px;
		right: 0;
	}
	.content-text h2{
		font-size: 28px;
		line-height: 36px;
	}
	.footer .wrapper>div {
		width: 50%;
	}
	#text-3,#text-4{
		margin-top: 22px;
	}
}

@media(max-width:767px){
	.accordion__item .accordion__title {
		padding: 18px 60px 18px 20px;
		font-size: 14px;
	}
	.accordion__item .accordion__content {
		padding: 20px;
		font-size: 14px;
	}
	.welcome-content h1,
	.banner-title-big{
		font-size: 31px;
	}
}

@media only screen and (min-width:768px) {
	
	.flex40{
		width: 40%;
	}

	.flex50{
		width: 50%;
	}

	.flex60{
		width: 60%;
	}

	.content-text{
		padding: 40px;
	}
	.text-image .content-text{
		margin-left: auto;
	}
	.text-image>.flex .flex50:first-child{
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}
	
	.text-image>.flex .flex50:last-child{
		-webkit-box-ordinal-group:3;
		    -ms-flex-order:2;
		        order:2;
	}
	.welcome {
		padding: 80px 0;
	}
	.welcome-image{
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		padding-right: 40px;
	}
	.location-item{
		width: 33.333%;
	}
	.usps .flex{
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.usp-item{
		width: 20%;
		padding: 0 10px;
		max-width: 225px;
	}
	.footer {
		padding: 80px 0;
	}
	.footer .wrapper>div {
		width: 25%;
	}
	.mapsFlex .map{
		width: 33.333%;
	} 
}

@media only screen and (min-width:960px) {
	.nav>ul{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.mobile-links{
		display: none;
	}
	.header-links-desktop{
		display: block;
	}
	.header-links{
		margin-left: 20px;
	}
	#mmenu_button{
		display: none;
	}
	.header-links .btn-main.green{
		margin-bottom: 0;
	}
	.bottom-banner-text {
		padding-left: 50px;
	}
	.bottom-banner-text h2 {
		font-size: 48px;
		line-height: 58px;
		max-width: unset;
	}
	

}
@media only screen and (min-width:1024px) {
	.nav ul>li>a {
		font-size: 15px;
		padding: 10px 15px;
	}
	#text-image-4 .content-text:after{
        content: '';
        display: block;
        background: url(/wp-content/uploads/2024/09/Layer-7.png);
		object-fit: contain;
        background-repeat: no-repeat;
        background-size: contain;
		background-position: right;
        width: 248px;
        height: 100%;
        position: absolute;
        top: 50%;
        right: 75px;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        z-index: -1;

	}
}
@media only screen and (min-width:1140px) {
	.header-links {
		margin-left: 60px;
	}
	.content-text h2{
		font-size: 48px;
		line-height: 63px;
	}
	
	.banner-content{
		margin-right: -10px;
	}
}
@media only screen and (min-width:1440px) {
	.welcome:after{
		content: url(/wp-content/uploads/2024/09/Layer-26.png);
		display: block;
		position: absolute;
		top: 20px;
		right: 0;
		z-index: 0;
	}

	#image-text-3 .content-text:after{
		content: url(/wp-content/uploads/2024/09/Layer-46.png);
		display: block;
		position: absolute;
		top: -35px;
		right: -100px;
		z-index: -1;
		
	}
	
}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (-o-min-device-pixel-ratio:3/2),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		-webkit-box-shadow:none !important;
		        box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
