@charset "UTF-8";
/*
Theme Name: East Ex Tree
Theme URI: 
Author: Custom Virtual Solutions
Author URI: http://customvs.com
Description: A theme for WordPress 5.
Requires at least: WordPress 4.9.6
Version: 1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: wp5default
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

East Ex Tree is based on Underscores https://underscores.me/, (C) 2012-2018 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*###################################
# General Styles
###################################*/
html {font-size: 16px; /* 1em */ overflow: auto; line-height: 1.15; -webkit-text-size-adjust: 100%;}
body {font-family: "Montserrat", sans-serif; margin: 0 auto; width: 100%; min-width: 1200px;}
a, a:visited {color: inherit; text-decoration: none; transition: all .5s ease; -webkit-transition: all .5s ease; text-decoration: none !important;}
a:hover {}
a:focus {outline: none !important;}
img {transition: all ease 0.5s;}
h1, h2, h3, h4, h5, .h1, .h2, .h3, p, li  {margin-top: 0;}
h1, h2, h3, h4, h5 {line-height: 1.2 !important; margin: 0; }
h1, h2 { font-size: 50px; font-weight: 700; letter-spacing: .1em; }
p { font-weight: 400; font-size: 18px; margin: 20px 0; line-height: 1.8 !important; }
p, li {font-size: 16px; color: #333; line-height: 1.6;}
ul, ol { padding-left: 20px; margin: 20px 0; }

/*###################################
## Layouts
###################################*/
.site {margin: 0 auto;}
.full {width: 100%;}
.main {max-width: 100%;}
.entry-content {margin: 0;}
.hentry, .so-panel, .panel-grid {margin-bottom: 0!important;}
.has-1-columns .wp-block-column {flex-basis: 100%;}
.wp-block-column, .blocks-gallery-item {margin: 0 !important;}
.wp-block-gallery.is-cropped .blocks-gallery-item img {height: auto; width: auto; object-fit: contain;}
.screen-reader-text {border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;}
.container, .container-fluid {max-width: 1640px; margin: 0 auto; padding-left: 15px; padding-right: 15px;}
.row {max-width: 100%; margin: 0 auto;}

.clearfix {clear: both;}

.cn-button {background: #6DD900!important;}

.sm { display: block; font-size: 27px; line-height: 160%;  }

/*###################################
## Forms
###################################*/
.wpcf7-form {margin: 0 auto; text-align: center; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form select, .wpcf7-form textarea {font-family:Arial; font-size: 16px; color:#000; height:45px; display: block; width: 100%; border:1px solid #ddd; border-radius: 3px; padding: 5px 10px; box-sizing: border-box; margin: 0 auto 8px; }
.wpcf7-form textarea {height: 120px; padding-top:10px; }
.wpcf7-form button {display: inline-block; margin: 20px auto 0; border-radius: 0; }
.wpcf7-form span.ctc-hide,
.wpcf7-form br { display: none; }
.wpcf7-form p { display: inline !important; }
.wpcf7-form .g-recaptcha > div { margin: 0 auto; }
.wpcf7-form .consents label { display: block; }

/*###################################
## Buttons
###################################*/
.btn { display: inline-flex; justify-content: center; align-items: center; min-width: 200px; padding: 0 15px; height: 60px; text-transform: uppercase; color: #fff !important; font-size: 13px; letter-spacing: 1px; background-color: #6DD900; }
.btn:hover { color: #fff !important; background-color: #060; }

/*###################################
## Menus
###################################*/
/*Main Menu*/
.main-navigation {clear: both; display: block; width: 100%;}
.main-navigation ul {list-style: none; margin: 0; padding-left: 0; display: flex; justify-content: space-between; align-items: center;}
.main-navigation li {float: none; display: inline-block; position: relative;}
.main-navigation a { display: block; color: #fff; padding: 20px 0 15px; border-bottom: 5px solid transparent; text-transform: uppercase; font: 700 16px "Montserrat"; letter-spacing: 1px; }
.main-navigation li.menu-item-has-children a:after {font-family: "FontAwesome"; content: "\f0d7"; margin-left: 10px;}
.main-navigation li.menu-item-has-children:hover a:after {content: "\f0d8";}
.main-navigation a:hover, .main-navigation .current-menu-item > a, .main-navigation .current-menu-ancestor > a {border-bottom-color: #6DD900;}

/* Sub Menu */
.main-navigation li.menu-item-has-children .sub-menu a:after {display: none;}
.main-navigation ul li.menu-item-has-children:hover ul {top: 100%; opacity: 1;}
.main-navigation ul ul {background: rgba(0, 0, 0, 0.7); opacity: 0; text-align: left; top: 50%; display: block; transition: all ease 0.5s;}
.main-navigation ul ul li.menu-item-has-children:hover ul {top: 50%!important; opacity: 1!important; z-index: 1!important;}
.main-navigation ul ul ul { left: 100%; top: -100%!important; transition: all ease 0.5s; opacity: 0!important; z-index: -1!important;}
.main-navigation .sub-menu li {display: block; text-align: left; margin-right: 0; margin-left: 0;}
.main-navigation .sub-menu a {color: #fff; width: 300px; padding: 15px 10px!important;}
.main-navigation .sub-menu a:hover, .main-navigation .sub-menu .current-menu-item > a, .main-navigation .sub-menu .current-menu-ancestor > a {color: #000; background: rgba(255,255,255,0.7)!important;}

/*Footer Menu*/
.footer-navigation ul {margin: 0; padding: 0;}
.footer-navigation li {display: inline-block; float: none;}
.footer-navigation li a {}
.footer-navigation a:hover, .footer-navigation .current_page_item a, .footer-navigation .current-menu-item a {}

/*Social Menu*/
.social-navigation ul {margin-bottom: 0;}
.social-navigation li {margin: 0 10px !important; display: inline-block !important;}
.social-navigation li.sm-loc a:before {content: "\f041";}
.social-navigation li:first-of-type {margin-left: 0px;}
.social-navigation li:last-of-type {margin-right: 0px;}
.social-navigation a {font-size: 13px; color: #fff; display: inline-block; height: auto!important; width: auto!important;}
.social-navigation a:before {width: 30px!important; height: 30px!important; line-height: 30px!important; background: #006A00; border-radius: 50%; transition: all ease 0.5s; font-size: 16px; }
.social-navigation a:hover:before { background-color: #6DD900; }

/*###################################
## Header
###################################*/
#page { position: relative; }
.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 1040; padding: 20px 0; }
.site-header .container { max-width: 1860px; }
.site-header .row { display: flex; align-items: flex-start; justify-content: flex-start; }
.header-nav { width: 965px; max-width: 60%; margin: 35px 30px 0 auto; padding: 0 20px; }
.header-phone { font: 700 18px "Montserrat"; color: #fff; letter-spacing: 1px; margin-top: 35px; }
.header-phone .phone-set { display: inline-block; vertical-align: middle; }
.header-phone span { display: block; line-height: 1.2 !important; }
.header-phone i { display: inline-flex; justify-content: center; align-items: center; vertical-align: middle; margin-right: 10px; width: 55px; height: 55px; border-radius: 50%; background-color: #6DD900; font-size: 24px; }

/*###################################
## Banner
###################################*/
#banner, .site-banner .slides { position: relative; }
#banner-media {}
#banner-caption { position: absolute; top: 230px; left: 0; right: 0; bottom: 0; align-items: center !important; justify-content: center !important; }
#banner-caption h2, #banner-caption h3, #banner-caption p { color: #fff; }
#banner-caption h3 { font-weight: 300; font-size: 40px; letter-spacing: .2em; }
#banner-caption p { max-width: 850px; margin-left: auto; margin-right: auto; }
.site-banner .slides::before { content: ''; background: rgb( 0 0 0 / 60% ); width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; z-index: 1; }

/*###################################
## Content
###################################*/
.site-content {}
.site-content h1, .site-content h2 { color: #060; text-transform: uppercase; }
.cnSmallBox { max-width: 1300px; margin-left: auto; margin-right: auto; }
.cnLined h5 { font-size: 20px; border-left: 5px solid #006600; padding-left: 20px; padding-top: 5px; padding-bottom: 5px; }
.home h3 { font-size: 25px; font-weight: 400; letter-spacing: .1em; margin: 0; }
.home h4 { font-size: 16px; font-weight: 400; letter-spacing: .1em; }
#wcu { padding: 60px 0; background-color: #f7f7f7; }
.wcu-row { margin-top: 60px; }
.wcu-item img { width: 100px; height: 100px !important; object-fit: scale-down; display: block; margin: 0 auto 10px; order: -1;}
.wcu-item h3 { margin-top: 10px !important; font-weight: 400; font-size: 15px; }
.wcu-item .widget_media_image {display: flex; flex-direction: column; align-items: center;}
#welcome { padding: 70px 0 45px; }
#welcome .container { max-width: 1400px; }
.welcome-row { margin-top: 40px; }
.welcome-text { padding: 70px; }
#services { padding: 45px 0 100px; }
.services-row { margin-top: 40px; }
.services-row > div { margin-right: 15px; }
.services-row > div:last-of-type { margin-right: 0; }
.service-item h3 { margin-top: 40px !important; font-size: 25px; color: #333; letter-spacing: .1em; }
#about { background-color: #f7f7f7; }
.about-image * { height: 100% !important; }
.about-image img { object-fit: cover; }
.about-text { padding: 20px; max-width: 680px; margin: 0 auto; }
#media { padding: 100px 0; }
#media .gallery { display: block; columns: 4; list-style: none; column-gap: 30px; margin-top: 60px; }
#media .gallery figure { margin: 0 0 30px; display: list-item; }
#media .gallery figure img { display: block; width: 100%; }
#reviews { background: url(assets/images/rev-bg.jpg)no-repeat center; background-size: cover; }
.rev-text { padding: 40px 20px; background-color: rgba(0,50,0,.8); }
.rev-text > div { max-width: 780px; margin: 0 auto; }
.rev-text h2, .rev-text h3, .rev-text h5, .rev-text p { color: #fff; letter-spacing: normal; }
.rev-text h5 { font-size: 16px; margin: 40px 0 25px; }
.rev-text .stars { line-height: 1; font-size: 28px; letter-spacing: 4px; }
.rev-text .cnSmallBox { max-width: 600px; margin-left: auto; margin-right: auto; }
#map iframe { display: block; width: 100%; height: 600px; border: none; }
#map .widget-title {display: none!important;}
#contact {background: #F7F7F7; padding: 80px 0;}
#contact .wpcf7-form p {display: flex!important; flex-wrap: wrap; justify-content: space-between;}
#contact .wpcf7-form label {width: calc(50% - 5px);}
#contact .consents label, #contact .wpcf7-form label.ctc-full {width: 100%;}
.conText {max-width: 600px;}

/*###################################
## Footer
###################################*/
.site-footer {}
.footer-top { padding: 60px 0 40px; }
.footer-top .row { display: flex; }
.footer-top .col { padding: 0 20px; text-align: left; flex-grow: 1; flex-basis: 0; }
.footer-top .col h3 { margin-bottom: 30px; font-weight: 700; font-size: 16px; color: #006800; text-transform: uppercase; }
.footer-top .col ul { display: block; padding: 0; margin: 0; }
.footer-top .col ul li { display: block; margin-bottom: 15px; }
.footer-top .col ul li, .footer-top .col ul li a  { font-weight: 300; font-size: 18px; }
.footer-logo { flex-grow: 2 !important; }
.footer-logo p { max-width: 390px; }
.ctc-info { max-width: 255px; }
.ctc-info li { position: relative; padding-left: 30px; }
.ctc-info li i { position: absolute; top: 3px; left: 0; width: 25px; text-align: center; color: #006A00; }

.footer-bottom { border-top: 1px solid #EEE; }
.site-info { text-align: center; }

/*###################################
## Sidebar
###################################*/
/*#primary.sideMain {float:left; width: 70%;}
#secondary {float:right; width: 30%; padding: 20px; box-sizing: border-box; border: 1px solid #535353; box-sizing: border-box;}
.search-form {display: flex;}
.search-form .search-submit {width: 100%; max-width: 85px;}*/

/*###################################
## Inner Pages
###################################*/
.inner #content {background: #fff; text-align: left; min-height: 600px; padding: 40px 0;}
.inner #content .container { max-width: 1200px; }
.inner #content h1, .inner #content h2 {text-align: center;}
.inner #content h1 { text-transform: none; letter-spacing: normal; font-weight: 400; font-size: 32px; }
.inner #content h3 { color: #060; font-size: 30px; }
.inner #content p { font-size: 16px; }
.inner #content p a { text-decoration: underline !important; color: #060; font-weight: 700; }

/*Services Page*/
.service-box { margin-bottom: 30px; }
.service-box h3 { border-bottom: 1px solid #ddd; font-size: 20px !important; }
.serv-box { padding-top: 30px; }


/* location */
.inLocTop {padding-bottom: 40px;}
.inLocBot {padding: 40px 0;}
.inLocBot h2 {margin-bottom: 30px;}
.inLocBot iframe {width: 100%!important; height: 500px!important; display: block; border: none; margin-bottom: 20px;}
.inLocBot ul {padding: 0; margin: 0; list-style: none; columns: 3; text-align: center;}
.inLocBot li {break-inside: avoid; font-weight: 700; font-size: 20px; line-height: 1.2; margin-bottom: 10px;}

/* contact */
.inConBox {max-width: 550px; margin: 0 auto;}

/* error404 */
.inner #content .error-404 h1 {font-size: 35px;}
.inner #content .error-404 h2 {font-size: 70px;}
.error-404 .search-form {margin: 0 auto 20px;}
.error-404 {text-align: center;}

/*BLOG*/

.page-title { padding-bottom: 30px; }
.single #content .container, .single .row { max-width: 1440px; width: 100%; margin: 0 auto; }

/*FLEX*/

.flexs { display: flex; justify-content: space-between; align-items: flex-start; }
.flexc { display: flex; justify-content: space-between; align-items: center; }

/*.blog .content-area { position: relative; padding: 60px 15px; }*/
.blog .row { max-width: 1366px; width: 100%; margin: 0 auto; }
.blog-wrap { padding: 15px; margin: 0 0 15px; border: 1px solid #DDDDDD; }
.blog-thumb { width: 35%; }
.blog-thumb .post-thumbnail { margin: 0; }
.blog-thumb .post-thumbnail img { height: 300px; object-fit: cover; }
.blog-text { width: 63%; }

/*SINGLE PAGE*/

.single .entry-meta, .single #comments { display: none!important; }
.single .social-media { max-width: 1200px; width: 100%; margin: 30px auto 0; padding-top: 20px; border-top: 1px solid #EEEEEE; }
/*.blog-single, .single #comments { max-width: 1366px; width: 100%; margin: 0 auto; padding: 60px 15px; }*/
/*.blog-single .content-img { max-width: 600px; width: 100%; margin: 0 auto 15px; }*/
.blog-single { padding: 30px 0 0; }
.blog-single .content-img .post-thumbnail { margin: 0!important; }


.blog-text h2 { font-size: 25px; text-align: left!important; }
.blog-con .entry-title { font-weight: 400; font-size: 45px; text-transform: unset; line-height: 200%; letter-spacing: 0.02em; }

/*BLOG CONTENT*/

.inner-blog { max-width: 1200px; width: 100%; margin: 0 auto; }
.inner-blog-wrap { margin: 30px 0; }
.inner-blog-wrap .content-img img { width: 100%; height: 100%; display: block; object-fit: cover; }
.inner-blog-wrap.rr { flex-direction: row-reverse; }
.inner-blog-wrap .inner-blog-text { max-width: 610px; width: 100%; margin-left: auto; padding-left: 30px; }
.inner-blog-wrap .inner-blog-text.alt { max-width: 610px; width: 100%; margin-left: 0; padding-right: 30px; padding-left: 0; }

/* extras */
.review-section.hidden { display: none !important; }


/*###################################
## Responsive
###################################*/

@media screen and (max-width: 1600px) {
	#media .gallery { column-gap: 20px; }
	#media .gallery figure { margin-bottom: 20px; }
}
@media screen and (max-width: 1440px) {
	h1, h2 { letter-spacing: normal; }
	.site-header { padding: 10px 0; }
	.custom-logo { max-width: 180px; }
	.header-nav { margin-right: 0; max-width: 65%; }
	.main-navigation a, .header-phone { font-size: 16px; }
	#banner-media img { min-height: 735px; object-fit: cover; }
}
@media screen and (max-width: 1200px) {
	body { min-width: 320px; }
	.container, .container-fluid { padding: 0; max-width: 97% !important; }
	h1, h2 { font-size: 42px; }
    .main-navigation a, .header-phone {font-size: 13px;}
	.header-nav { max-width: unset; flex-grow: 1; width: auto; margin: 0; }
	.header-phone { margin-top: 10px; }
	.header-phone i { width: 40px; height: 40px; font-size: 20px; }
	#wcu, #welcome, #services, #media { padding: 40px 0; }
	.wcu-row { margin-top: 20px; }
	.welcome-text { padding: 20px; }
	.service-item h3 { font-size: 20px; margin-top: 20px !important; }
	#media .gallery { margin: 20px 0; }
	.rev-text { padding: 40px 20px; }
	#map iframe { height: 450px; }
	.footer-top { padding-top: 40px; }
}
@media screen and (max-width: 1024px) {
	h1, h2 { font-size: 36px; }
	.site-header { padding: 5px 0; position: static; background: #000; }
	.site-header .row { flex-direction: column; }
	.site-header .col { width: 100%; flex-grow: 0; }
	.header-logo, .header-phone { text-align: center; }
	.custom-logo { max-width: unset; width: auto; height: 100px; }
	.header-nav { padding: 0; }
	#banner-media img { min-height: 450px; }
	#banner-caption { top: 0; padding: 0 1.5%; }
	#banner-caption h3 { font-size: 32px; }
	.home h3 { font-size: 21px; letter-spacing: normal; }
	.wcu-item { padding: 0 10px; }
	.wcu-item h3 { letter-spacing: normal; font-size: 15px; }
	.welcome-row { flex-direction: column; }
	.welcome-row > div { width: 100% !important; }
	.welcome-image img { max-width: 450px !important; margin: 0 auto; }
	.welcome-text { padding: 0; text-align: center; }
	.service-item h3 { font-size: 18px; }
	.services-row { margin-top: 20px; }
	#media .gallery { column-gap: 0; }
	#media .gallery figure { padding: 3px; margin: 0; }
	.rev-row { flex-direction: column; }
	.rev-row > div { width: 100% !important; } 
	.rev-text { padding: 20px 1.5%; }
	.rev-text > div { max-width: unset; }
	#map iframe { height: 380px; }
	.footer-top { overflow: hidden; }
	.footer-top .row { flex-wrap: wrap; }
	.footer-top .col { width: 25%; flex: 0 auto; padding: 0; text-align: center; }
	.footer-top .col ul li, .footer-top .col ul li a { font-size: 16px; }
	.footer-logo { width: 100% !important; margin-bottom: 30px; }
	.footer-logo p { max-width: unset; }
	.ctc-info { text-align: left !important; width: -webkit-max-content; width: -moz-max-content; width: max-content; margin: 0 auto !important; }
	.social-navigation li { margin: 0 5px !important; }
	.copyright { font-size: 14px; }
}
@media screen and (max-width: 768px) {
	body { overflow-x:  hidden; }
    .tc { text-align: center; }
    .frr { flex-direction: column-reverse!important; }
	.site-header { background-color: #060; }
	#wprmenu_bar .menu_title a { top: -3px; }
	#wprmenu_bar .bar_logo { height: 38px; }
	.header-phone { margin-top: 0; }
	#banner-caption h2 { font-size: 32px; }
	#banner-caption h3 { letter-spacing: normal; font-size: 26px; }
	.wcu-row, .services-row	 { flex-direction: row !important; }
	#services { padding-top: 0; }
	#services .container { max-width: 100% !important; }
	.services-row { flex-wrap: wrap !important; }
	.services-row > div { width: 50% !important; }
	.service-item h3 { margin: 10px 0 !important; font-size: 16px; }
	.about-text { text-align: center; max-width: unset; padding: 20px 1.5%; }
    .whyRow {text-align: center;}
    .whyRow.cnLined h5 {padding-left: 0; padding-top: 20px; border-top: 5px solid #060; border-left: none; margin-bottom: 20px;}
    .footer-top .col {width: 50%; margin-bottom: 30px;}
    .footer-top .col ul li {margin-bottom: 5px;}
    #contact {padding: 40px 0;}
    .conText {text-align: center; margin-left: auto; margin-right: auto;}


    .flexs, .flexc { flex-wrap: wrap; }
    .blog-con .entry-title { font-size: 35px; }
    .inner-blog-wrap .inner-blog-text { max-width: 100%; width: 100%; padding: 0!important; }
    .blog-thumb .post-thumbnail img { height: 100%; }

    .blog-thumb, .blog-text { width: 100%; }


}
@media screen and (max-width: 600px) {
	.btn { min-width: 150px; height: 45px; }
	#banner-caption h2 { font-size: 28px; }
	#banner-caption h3 { font-size: 20px; }
	.wcu-row { flex-direction: column !important; }
	#media .gallery { columns: 1; }
	#media .gallery figure img { max-height: 450px; object-fit: cover; }
	.footer-top { padding-bottom: 0; }
	.footer-top .row { flex-direction: column; }
	.footer-top .col { width: 100%; margin-bottom: 30px; }
    #contact .wpcf7-form label {width: 100%;}
    .cnLined h5 {font-size: 18px;}
    .inLocBot ul {columns: 2;}
}
@media screen and (max-width: 425px) {
	.services-row { flex-direction: column !important; }
	.services-row > div { width: 100% !important; }
	#map iframe { height: 280px; }
    .inLocBot li {font-size: 18px;}
}