/*
Theme Name: Eastern Concrete
Theme URI: http://unity.online
Description: Custom theme for built for Eastern Concrete, build started July 2018.
Author: Unity Dev Team
Author URI:  mailto:development@unity.online
Version: 1.0
*/
@import "includes/css/editor.css";

body {
	margin: 0;
}

iframe {
	width: 100%;
	height: 450px;
}
#shifter {
	padding-top: 180px;
}
.error_404 {
	text-align: center;
	padding: 200px 0;
}

div.site_width {
	padding-left: calc(50% - 675px);
	padding-right: calc(50% - 675px);
}
.main_content {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 60px;
}
.main_content > main {
	flex-grow: 1;
	flex-basis: 970px;
}
.main_content > aside {
	flex-grow: 1;
	flex-basis: 340px;
	margin-left: 40px;
	position: sticky;
	top: 10px;
	align-self: flex-start;
}

p {
	margin-bottom: 25px;
}

.header {
	display: flex;
	align-items: center;
	height: 120px;
	position: fixed;
	background: #fff;
	min-width: 1350px;
	z-index: 3;
	transition: height 0.5s;
	top: 0;
	
}
.header.fixed {
	height: 75px;
}
.header .logo {
	width: 400px;
	height: 58px;
	display: block;
	overflow: hidden;
	text-indent: -999px;
	background: url('./includes/img/eastern-concrete-ltd-concrete-colutions.svg') left center no-repeat;
	background-size: contain;
	margin-right: auto;
	transition: transform 0.5s;
	transform: scale(1);
	-webkit-backface-visibility: hidden;
}
.header.fixed .logo {
	transform: scale(0.85);
}
.header .text-link {
	display: block;
	height: 30px;
	line-height: 15px;
	padding: 5px 55px 5px 0;
	margin-right: 20px;
	position: relative;
	text-align: right;
	font-size: 20px;
}
.header .text-link svg {
	position: absolute;
	top: 0;
	right: 0;
}
.header .text-link span {
	display: block;
	font-size: 16px;
	font-weight: 400;
	color: #3e3d40;
}
.header .text-link:hover {
	text-decoration: none;
}
.header a svg path:nth-child(1) {
	transition: fill 0.3s;
}
.header .text-link:hover svg path:nth-child(1) {
	fill: #75c500;
}
.header .social-link:hover svg path:nth-child(1) {
	fill: #e04a4a;
}
.header a svg path:nth-child(2) {
	transition: transform 0.3s;
}
.header a:hover svg path:nth-child(2) {
	transform: translate(-5%,-5%) scale(1.1);
}

.header_line {
	margin-right: 20px;
	height: 60px;
	border-left: 1px solid #e6e6e6;
}
.header .facebook {
	margin-right: 15px;
}

.featured_banner {
	min-height: 250px;
	height: 30vw;
	max-height: 450px;
	background: center center no-repeat;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	border-bottom: 10px solid #e10707;
}
.featured_banner h2 {
	background: rgba(0,0,0,0.7);
	margin: 0;
	width: 100%;
	font-size: 38px;
	line-height: 42px;
	color: #fff;
	padding: 20px 0;
	min-height: 115px;
	box-sizing: border-box;
	display: flex;
	align-items: center;

}
.featured_banner h2 span {
	display: block;
	width: 100%;
	max-width: 1350px;
	margin: 0 auto;
}

.service_listing {
	display: flex;
	height: 340px;
	padding: 25px;
	justify-content: space-between;
}
.service_listing a {
	width: calc(20% - 20px);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	background: center center no-repeat;
	background-size: cover;
}
.service_listing a:hover {
	text-decoration: none;
	opacity: 0.8;
}
.service_listing a div {
	background: rgba(0,0,0,0.7);
	width: 100%;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	padding: 20px 15px;
	margin-bottom: 30px;
	line-height: 20px;
}
.service_listing a div strong {
	color: #e10707;
	display: block;
	font-size: 18px;
	line-height: 16px;
	padding-bottom: 3px;
}

.button_cta {
	background: #f9f9f9;
	padding: 25px;
	text-align: right;
}


.news_listing {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.news_listing .single_news {
	width: calc(45% - 10px);
}
.news_listing .single_news:nth-child(4n) , .news_listing .single_news:nth-child(4n - 3) {
	width: calc(55% - 10px);
}

.full_width_intro {
	max-width: 950px;
	margin: 50px auto;
}
.single_news {
	height: 430px;
	background: center center no-repeat;
	background-size: cover;
	border-bottom: 3px solid #e10707;
	position: relative;
	display: flex;
	align-items: flex-end;
	margin-bottom: 20px;
}
.single_news:hover {
	text-decoration: none;
}
.single_news > div {

}
.single_news h2 , .single_news span {
	background: rgba(0,0,0,0.7);
	margin: 0;
}
.single_news h2 {
	width: 80%;
	padding: 20px;
	color: #fff;
}
.single_news span {
	max-height: 0;
	display: block;
	overflow: hidden;
	transition: max-height 0.3s;
}
.single_news span::before {
	content: '';
	display: block;
	width: 120px;
	height: 6px;
	background: #fff;
	margin-left: 20px;
}
.single_news span p {
	padding: 20px;
	margin: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
}
.single_news span strong {
	margin: -10px 0 20px 20px;
	display: block;
	color: #fff;
}
.single_news:hover span {
	max-height: 300px;
}

.the_team {
	display: flex;
	flex-wrap: wrap;
}
.the_team .single_person {
	width: calc(33.33% - 14px);
	margin-right: 20px;
}
.the_team .single_person:nth-child(3n) {
	margin-right: 0;
}
.single_person {
	background: #eee center center no-repeat;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	height: 290px;
	margin-bottom: 20px;
}
.single_person > div {
	background: rgba(0,0,0,0.7);
	width: 100%;
	box-sizing: border-box;
	padding: 12px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.single_person h3 {
	font-size: 26px;
	font-weight: 600;
	color: #fff;
	margin: 0;
	line-height: 26px;
}
.single_person h3 span {
	color: #d9d9d9;
	font-size: 16px;
	display: block;
}
.single_person a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 40px;
	border: 2px solid rgba(255,255,255,0.5);
	border-radius: 4px;
	transition: border-color 0.3s;

}
.single_person a svg {
	fill: #fff;
	transition: fill 0.3s;
}
.single_person a:hover {
	border: 2px solid rgba(255,255,255,0.8);
}
.single_person a:hover svg {
	fill: #e10707;
}


.content_cta {
	border-left: 5px solid #e10707;
	display: flex;
	overflow: hidden;
	justify-content: space-between;
	align-items: center;
	background: #eee;
	padding: 15px 0 15px 20px;
	margin-top: 40px;
	margin-bottom: 50px;
}
.content_cta div {
	padding-right: 20px;
}
.content_cta h3 {
	color: #666;
	font-size: 26px;
	line-height: 26px;
	margin: 0;
}
.content_cta p {
	margin: 10px 0 0 0;
}
.content_cta a {
	display: flex;
	height: 400px;
	width: 400px;
	align-items:  center;
	justify-content: center;
	background: #e10707;
	color: #fff;
	border-radius: 100% 0 0 100%;
	font-size: 36px;
	transition: background-color 0.3s;
	margin: -150px 0;
}
.content_cta a:hover {
	text-decoration: none;
	background: #e04a4a;
}

.download_list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.download_list > li {
	width: calc(50% - 10px);

}
.download_list h3 {
	margin: 0;
	font-size: 24px;
	color: #4c4c4c;
	font-weight: 400;
}
.download_list a {
	font-weight: 400;
}

.download_list a  {
	box-sizing: border-box;
	padding-left: 100px;
	min-height: 90px;
	background: url('./includes/img/pdf-download.svg') left center no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 10px 0;
	width: 100%;
}

.download_list a:hover {
	text-decoration: none;
}

.download_list a:hover span {
	text-decoration: underline;
}

#dynamic_map {
	height: 60vh;
	min-height: 600px;
	min-height: 320px;
}

.contact_us {
	display: flex;
	justify-content: space-between;
	padding: 60px;
}
.contact_us > main {
	flex-grow: 1;
	flex-basis: 770px;
}
.contact_us > ul {
	flex-grow: 1;
	flex-basis: 540px;
	padding: 20px 0;
	margin: 0 0 0 40px;
	background: #eee;
	border-left: 6px solid #ccc;
	border-right: 6px solid #ccc;
	list-style: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.contact_us > ul li {
	padding-left: 100px;
	margin: 10px 0;
	background: no-repeat top left;
	min-height: 40px;
}
.contact_us > ul li strong {
	display: block;
	font-weight: 400;
	font-size: 16px;
	line-height: 18px;
	color: #666;
}

.contact_us > ul li.phone_number a {
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
}
.contact_us > ul li.phone_number {
	background-image: url('./includes/img/contact-us-phone.png');
	background-position: 40px 10px;
	margin-top: 0;
}
.contact_us > ul li.emails {
	background-image: url('./includes/img/contact-us-mail.svg');
	background-position: 40px 10px;
	margin-bottom: 0;
}

.two_tone {
	width: 100%;
	text-align: center;
	font-size: 40px;
	color: #e10707;
	font-weight: 700;
}
.two_tone span {
	color: #989898;
}
.two_tone:after {
	display: block;
	content: '';
	width: 120px;
	height: 6px;
	background: #fff;
	margin: 15px auto 0 auto;
}

.locations {
	background: #eee;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-bottom: 60px;
	font-size: 16px;
}
.locations .single_location {
	width: calc(20% - 16px);
	background: #fff;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 4px solid #e10707;
}
.locations .single_location h2 {
	font-size: 28px;
	font-weight: 700;
}
.locations .single_location h2:after {
	display: block;
	content: '';
	width: 120px;
	height: 6px;
	background: #bebebe;
	margin-top: 15px;
}
.locations .single_location h2 span {
	display: block;
	font-size: 20px;
	line-height: 20px;
	color: #666;
	font-weight: 600;
}

.contact_us_form {
	display: flex;
	justify-content: space-between;
	padding: 60px;
}
.contact_us_form > div:nth-child(1) {
	flex-grow: 1;
	flex-basis: 370px;
	margin-right: 40px;
	background: center center no-repeat;
	background-size: cover;
}
.contact_us_form > div:nth-child(2) {
	flex-grow: 1;
	flex-basis: 920px;
}
.contact_us_form .gform_body ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contact_us_form .gform_body > ul > li {
	width: 100%;
}
.contact_us_form .gform_body > ul > li:nth-child(1) , .contact_us_form .gform_body > ul > li:nth-child(2) {
	width: calc(50% - 20px);
}

.quote_form .gform_body ul li {
    width: calc(50% - 20px);
}

.quote_form .gform_body ul {
    display: flex;
    flex-wrap:  wrap;
    justify-content: space-between;
}

.quote_form .gform_body ul li:nth-child(8), .quote_form .gform_body ul li:nth-child(7) , .quote_form .gform_body ul li:nth-child(9) {
    width: 100%;
}

.quote_form .gform_body ul li ul li {
    width: 100%;
}

/* pagination */
#pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 40px 0;
	background: #eee;
}
#pagination a, #pagination > span {
	display: inline-block;
	padding: 10px 20px;
	font-size: 20px;
	color: #fff;
	background: #e10707;
	margin: 0 5px 5px 5px;
	text-decoration: none;
	font-weight: 400;
}
#pagination > span {
	background: #b3b3b3;
}

/* gallery layout */
.gallery {
	column-count: 4;
	column-gap: 20px;
}
.gallery .gallery-item {
	display: inline;
	margin: 0;
}
.gallery .gallery-item img {
	display: block;
	margin: 0 0 20px 0;
}
.gallery-caption {
	display: none;
}

/*gravity forms */
.gfield_description.validation_message {
	position: absolute;
	right: -5px;
	top: -5px;
	background-color: #e10707;
	color: white;
	padding: 7px 15px;
	font-size: 14px;
	text-align: center;
	border-radius: 2px;
	font-weight: 600;
}
.validation_message::after {
	content: '';
	display: block;
	position: absolute;
	border: 10px solid rgba(0,0,0,0);
	border-top-color: #e10707;
	width: 0;
	height: 0;
	bottom: -20px;
	left: 20px;
}

.gform_body ul {
	padding: 0;
	list-style: none;
	margin-bottom: 15px;
}
.gform_body ul li {
	position: relative;
}
.validation_error {
	margin-bottom: 20px;
	border: 1px solid #e10707;
	padding: 10px 20px;
	font-size: 15px;
	color: #e10707;
}
.gform_confirmation_message {
	color: #1ba21b;
}

.gform_body .gfield_label {
	font-weight: 600;
	color: #404040;
	font-size: 18px;
	margin-bottom: 8px;
	display: block;
}

.gform_body input[type=text] , .gform_body textarea , .gform_body select {
	height: 45px;
	color:  #404040;
	width: 100%;
	margin-bottom: 20px;
	border: 2px solid #a5a5a5;
	border-radius: 5px;
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
}
.gfield_error input[type=text] , .gfield_error select , .gfield_error textarea {
	border: 2px solid #e10707;
}

.gform_body textarea {
	height: 170px;
	padding-top: 15px;
}
.gfield_visibility_ {
	display: none;
}
.gform_validation_container ,
.gform_wrapper .gform_validation_container ,
body .gform_wrapper .gform_body ul.gform_fields li.gfield.gform_validation_container ,
body .gform_wrapper li.gform_validation_container,
body .gform_wrapper ul.gform_fields li.gfield.gform_validation_container {
	display: none !important;
	position: absolute !important;
	left: -9000px;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #a5b0b5;
}
::-moz-placeholder { /* Firefox 19+ */
	color: #a5b0b5;
}
:-ms-input-placeholder { /* IE 10+ */
	color: #a5b0b5;
}
:-moz-placeholder { /* Firefox 18- */
	color: #a5b0b5;
}


.sidebar_cta {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 180px;
	margin-bottom: 20px;
	background: center center no-repeat;
	background-size: cover;
	transition: opacity 0.3s;
}
.sidebar_cta:hover {
	text-decoration: none;
	opacity: 0.8;
}
.sidebar_cta > div {
	width: 100%;
	background: rgba(0,0,0,0.7);
	padding: 40px 20px;
	color: #fff;
	font-size: 32px;
	line-height: 32px;
	font-weight: 700;
}
.sidebar_cta > div strong {
	color: #bebebe;
	font-size: 18px;
	font-weight: 600;
	display: block;
	line-height: 18px;
}
.sidebar_cta.play_button > div {
	text-align: center;
}
.sidebar_cta.play_button span {
	display: inline-block;
	background: #e10707 url('./includes/img/play-background.svg') center left no-repeat;
	font-size: 18px;
	line-height: 18px;
	font-weight: 400;
	color: #fff;
	padding: 18px 25px 18px 90px;
	border-radius: 3px;
}

p.list_title {
	display: block;
	margin: 0;
	padding: 15px 30px;
	font-size: 22px;
	font-weight: 700;
	color: #e10707;
}
.list {
	list-style: none;
	padding: 0;
	margin: 0;
	background: #f2f2f2;
	border-top: 2px solid #e10707;
	border-bottom: 2px solid #4c4c4c;
}
.list a {
	display: block;
	padding: 20px 30px;
	color: #4b4b4b;
	border-bottom: 1px solid #cccccc;
}
.list li:last-child a {
	border: none;
}

.the_testimonials {
	margin-top: 70px
}

.single_testimonial {
	background: #eee url('./includes/img/quote-marks.svg') 25px 25px no-repeat;
	padding: 50px;
	border-radius: 40px 0 40px 0;
	box-shadow: 0px 3px #cecece;
	margin-bottom: 100px;
	font-style: italic;
	color: #4b4b4b;
	font-size: 20px;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
.single_testimonial_name {
	position: absolute;
	bottom: -40px;
	left: 60px;
	color: #999;
	font-weight: 600;
	font-size: 16px;
	font-style: normal;
}
.single_testimonial::after {
	content: '';
	display: block;
	width: 41px;
	height: 37px;
	background: url('./includes/img/quote-background.svg') no-repeat;
	position: absolute;
	bottom: -37px;
	left: 0;
}

.calculator_nav {
	display: flex;
	padding: 0;
	margin: 0;
	justify-content: center;
}
.calculator_nav li {
	display: flex;
	height: 100px;
	justify-content: space-around;
	align-items: center;
	padding: 0 40px;
	position: relative;
	cursor: pointer;
}
.calculator_nav li p {
	margin: 0;
	font-size: 26px;
	line-height: 30px;
	color: #e10707;
	font-weight: 700;
	margin-left: 20px;
}
.calculator_nav span {
	display: block;
	font-size: 18px;
	font-weight: 600;
	color: #737373;
	line-height: 18px;
}
.calculator_nav li:nth-child(-n + 2)::before {
	content: '';
	display: block;
	height: 70px;
	width: 2px;
	background: #bebebe;
	position: absolute;
	right: 0;
	top: 15px;
}

.calculator_nav li.current::after {
	position: absolute;
	bottom: -20px;
	left: calc(50% - 60px);
	width: 120px;
	height: 20px;
	background: url('./includes/img/calculator-nav-current.svg') center center no-repeat;
	content: '';
	display: block;
}

.calc_single {
	display: flex;
	padding: 40px calc(50% - 410px);
	justify-content: space-between;
	background: #eee;
	flex-wrap: wrap;
}
.calc_single form {
	width: calc(55% - 45px);
}
.calc_single form .button {
	margin: 25px 10px 0 0;
}

.calc_single form strong {
	font-size: 24px;
	color: #404040;
	display: block;
	padding: 10px 0;
}
.calc_single form input[type=text] , .calc_single form select {
	border-radius: 4px;
	border: 2px solid #a5a5a5;
	font-size: 18px;
	padding: 14px 20px;
	width: calc(33.33% - 13px);
}
.calc_single form input.quantity_input[type=text] , .calc_single form select {
	width: calc(100% - 4px);
}

#the_foundations_inputs, #extra_foundations_inputs div {
	margin-bottom: 15px;
}
#extra_foundations_inputs div:last-child {
	margin-bottom: 0;
}
#extra_foundations_inputs div {
	position: relative;
}
body #extra_foundations_inputs div > a {
    position: absolute;
    right: -55px;
    top: 7px;
    width: 40px;
    height: 40px;
    background: url(./includes/img/calculator-close.svg) center center no-repeat;
    overflow: hidden;
    text-indent: -999px;
    border-radius: 10px;
}
#extra_foundations_inputs div a:hover {
	background-color: #ddd;
}

div#the_foundations_inputs , div#extra_foundations_inputs > div  {
    display: flex;
    flex-wrap: wrap;
}

div#the_foundations_inputs > * , div#extra_foundations_inputs > div> * {
    width: 97px;
    margin-bottom: 10px;
}

div#the_foundations_inputs > *:nth-child(2n+2) , div#extra_foundations_inputs > div> *:nth-child(2n+2) {
    width: calc(100% - 117px);
    margin-left: 20px;
}

div#ui-datepicker-div {
    background-color: #fff;
    border: 2px solid #a5a5a5;
    width: 200px;
    padding: 10px;
    border-radius: 5px;
}

div#ui-datepicker-div table {
    width: 100%;
}

.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all {display: flex;flex-wrap: wrap;}

.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all a {
    width: 50%;
}

.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all a:nth-child(2) {
    text-align: right;
}

.ui-datepicker-title {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 5px 0;
}

.ui-datepicker-title select {
    width: calc(50% - 5px);
}

.calc_single > div {
	width: calc(45% - 45px);
	box-sizing: border-box;
}
.calc_single > div {
	padding: 30px;
	border-radius: 6px;
	background: #fff;
}
.calculator_totals .you_need {
	display: block;
	font-size: 26px;
	line-height: 22px;
	font-weight: 700;
	color: #e10707;
}
.calculator_totals .the_total {
	font-size: 60px;
	line-height: 50px;
	font-weight: 700;
	color: #404040;
}
.calculator_totals .square_units {
	font-size: 50px;
	color: #8c8c8c;
	font-weight: 600;
}

.calc_single form > div > div > div {
    display: flex;
    margin-bottom: 10px;
}

.calc_single form > div > div > div *:nth-child(2) {
    margin-left: 20px;
}

.calculator_totals .you_need:nth-child(2) {
    margin-top: 20px;
    margin-bottom: 5px;
    font-size: 20px;
}

.calc_single form > div > div > div *.found_flex {
    display: flex;
    margin-bottom: 10px;
    margin-left: 0;
}

.calculator_totals .square_units {
	font-size: 25px;
	color: #8c8c8c;
	font-weight: 600;
	display: block;
	margin-top: 10px;
}

.calculator_totals_line {
	width: 100px;
	height: 4px;
	background: #eee;
	margin: 20px 0;
}
.calculator_totals_phone {
	font-weight: 700;
	font-size: 26px;
	line-height: 22px;
}
.calc_single > div.calc_error {
	width: 100%;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	border: 1px solid #404040;
}



.footer {
	border-top: 20px solid #e10707;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer > div:nth-child(1) {
	flex-grow: 1;
	flex-basis: 450px;
	padding: 30px 0 30px 0;
	text-align: right;
}
.footer > div:nth-child(2) {
	flex-grow: 1;
	flex-basis: 790px;
	padding: 30px 0 30px 50px;
	margin: 0 0 0 50px;
	border-left: 10px solid #eee;
}

.footer_line {
	width: 120px;
	height: 6px;
	background: #e10707;
	display: inline-block;
	margin: 20px 0;
}
.affiliate_logos {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
}
.affiliate_logos img {
	margin: 0 0 5px 10px;
}

.footer_phone {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 10px;
	display: block;
}
.footer_phone span {
	color: #b3b3b3;
}
.footer_phone:hover {
	text-decoration: none;
}

.footer_locations {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 10px 0;
	flex-wrap: wrap;
}
.footer_locations li {
	height: 31px;
	line-height: 31px;
	font-size: 20px;
	color: #666;
	padding: 5px 20px 5px 30px;
	background: url('./includes/img/footer-pin.svg') left center no-repeat;
}

.footer_menu {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}
.footer_menu li {
	padding: 0px 10px;
	border-left: 1px solid #b3b3b3;
	line-height: 18px;
}
.footer_menu li:first-child {
	padding-left: 0;
	border: none;
}

.contact_meta {
	display: flex;
	justify-content: space-between;
}
.contact_meta > div:nth-child(1) {
	width: calc(40% - 10px);
}
.contact_meta > div:nth-child(2) {
	width: calc(60% - 10px);
}

.end_of_page {
	background: #e10707;
	padding: 50px;
	color: #fff;
	display: flex;
	justify-content: space-between;
}
.end_of_page p {
	margin: 0;
}
.end_of_page a {
	color: #fff;
	font-weight: 700;
}

#uof_cookie_notice {
	width: 250px;
	background: #fff;
	border: 1px solid #bfbfbf;
	border-left: 4px solid #666;
	padding: 15px;
	position: fixed;
	bottom: 50px;
	left: 50px;
	z-index: 3;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
	opacity: 1;
}
#uof_cookie_notice p {
	margin-top: 0
}
#uof_cookie_notice .accept {
	display: inline-block;
	height: 25px;
	line-height: 25px;
	padding: 0 15px;
	border-radius: 3px;
	text-decoration: none;
	background: #bfbfbf;
	color: #fff;
}
#uof_cookie_notice.cookie_hide {
	-webkit-transition: opacity 1s, left 1s;
	transition: opacity 1s, left s1;
	opacity: 0;
	left: -500px;
}

.video_container {
	height: calc(100vh - 200px);
	min-height: 450px;
	max-height:730px;
	width: 100%;
	position:  relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.video_container video {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	left: 0;
	top: -150px;
	bottom: -100px;
}
.video_container div {
	background-color: rgba(0,0,0,0.6);
	padding: 30px 60px;
	position: relative;
	text-align: center;
	width: 96%;
	max-width: 650px;
}
.video_container div p , .video_container div h1 {
	color: #fff;
}
.video_container div .title::after {
	margin: 15px auto 0;
}

.video_container div .title strong , .video_container div h1 strong {
	color: #e10707;
}

.video_container::after {
	content: '';
	display: block;
	height: 20px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(255,7,7,0.5);
}

.main_content.no-padding {
	padding-left:  0;
	padding-right:  0;
}

.sercive_listing {
	background-color:  #eeeeee;
	padding-top:  40px;
	padding-bottom:  40px;
	margin-bottom: -60px;
}

.sercive_listing > div {
	display: flex;
	justify-content:  space-between;
	align-items: center;
	padding: 40px 0;
	border-bottom: 2px solid #fff;
}

.sercive_listing > div:last-child {
	border-bottom: none;
}

.sercive_listing > div > div:nth-child(1) {
	width: 46%;
	background-repeat: no-repeat;
	background-size:  cover;
	background-position:  center;
	height: 40vw;
	max-height: 390px;
	border: 20px solid #fff;
	box-sizing: border-box;
}

.sercive_listing > div > div:nth-child(2) {
	width: calc(54% - 60px);
}

.video_container svg {
	position: absolute;
	bottom: 35px;
	animation: updown 0.5s infinite alternate;
	left: 0;
	right: 0;
	margin: auto;
}

@keyframes updown {
	from {
		transform: translateY(0px);
	}
	to {
		transform: translateY(-10px);
	}
}

.home_usps {
	background-color: #e10707;
	display:  flex;
	justify-content: space-between;
	text-align: center;
	padding-top: 25px;
	padding-bottom: 35px;
	position:  relative;
}

.home_usps p {
	margin: 0;
	color: #fff;
}

.site_width.home_usps > div {
	width: calc(25% - 20px);
}

.home_usps p:nth-child(1) {
	font-size: 22px;
	font-weight: 600;
}

.home_usps p:nth-child(1)::after {
	display:  block;
	width: 120px;
	content: '';
	background-color:  #fff;
	height: 3px;
	margin: 15px auto 11px;
	opacity: 0.2;
}

.home_usps p:nth-child(2) {
	opacity: 0.6;
	font-size: 18px;
}

.home_usps::after {
	content: '';
	display: block;
	height: 20px;
	width: 100%;
	left: 0;
	bottom: -20px;
	background-color: rgba(255,7,7,0.5);
	position:  absolute;
}
.home_services {
	margin: auto;
	width: 100%;
	text-align: center;
}

.home_services > .two_tone::after {
	margin: 15px auto 0;
	background-color: #e5e5e5;
	width: 200px;
	margin: 5px auto;
}

.home_services > .title {
	font-size: 40px;
}

.home_services > div {
	display:  flex;
	position:  relative;
	justify-content: space-between;
	padding-left: calc(50% - 875px);
	padding-right: calc(50% - 875px);
	margin-top: 60px;
}

.home_services a {
	width: calc(20% - 20px);
	background-color:  #f1f1f1;
	background-position:  center;
	background-repeat:  no-repeat;
	background-size:  cover;
	display:  flex;
	align-items: center;
	height: 30vw;
	max-height:  420px;
	text-decoration: none;
	position:  relative;
	min-height: 250px;
}

.home_services a > div {
	background-color: rgba(0,0,0,0.7);
	width: 100%;
	text-align: left;
	padding: 20px;
}

.home_services a > div p {
	font-size: 16px;
	margin: 0;
	color: rgba(255,255,255,0.5);
}

.home_services a > div p.title {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 20px;
	padding: 10px 0;
}

.home_services a > div p.title strong {
	color: #e10707;
	display: block;
	font-size: 18px;
	line-height: 16px;
	padding-bottom: 3px;
}

.home_services a > div p.title::after {
	display:none;
}

.home_services a:hover {
	opacity: 0.7;
}

.home_services > div::before {
	content: '';
	display:  block;
	position: absolute;
	background-color:  #eeeeee;
	position:  absolute;
	width: 100%;
	top: 50px;
	bottom: 50px;
	left: 0;
}
.main_content.home_page {
	padding-left:  0;
	padding-right:  0;
	padding-bottom:  0;
}
.home_banner {
	margin-top: 90px;
}

.home_banner > div {
	background-color: rgba(255, 255, 255, 0.9);
	position:  relative;
	padding-top:  35px;
	padding-bottom:  35px;
}

.home_banner {
	padding-top:  90px;
	padding-bottom:  90px;
	background-size: cover;
}

.home_banner > div::before , .home_banner > div::after {
	position:  absolute;
	content: '';
	top: -20px;
	height: 20px;
	width: 100%;
	background-color:  rgba(255,255,255,0.3);
	left: 0;
}

.home_banner > div::after {
	top:  auto;
	bottom: -20px;
}

.home_banner > div > * {
	max-width: 1000px;
	margin-left:  auto;
	margin-right:  auto;
}

.home_banner .button {
	margin-bottom: 10px;
}

.quote_container {
	position: relative;
	margin-top:  80px;
	transition: min-height .3s;
}

.quote_container > div {
	display:  flex;
	justify-content:  space-between;
	position:  absolute;
	top: 0;
	opacity: 0;
	transition: .3s opacity;
}

.quote_container .single_testimonial {
	width: calc(50% - 30px);
	align-self: flex-start;
}

.quote_container > div.active {
	opacity: 1;
	z-index: 1;
}

.quote_nav {
	display:  flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
}

.quote_nav > div {
	cursor:  pointer;
	width: 55px;
	height: 7px;
	border-radius: 5px;
	background-color: #cecece;
	margin: 0 10px;
}

.quote_nav > div.active {
	background-color: #e10707;
}

.home_calculator {
	background: url('includes/img/home-calculator.svg') no-repeat;
	display: flex;
	background-position: calc(50% - 249px) 50%;
	justify-content: flex-end;
	background-color: #e10707;
	margin-top:  35px;
	padding-top: 20px;
	padding-bottom: 40px;
}

.home_calculator div {
	width: 50%;
}

.home_calculator p {
	color: #fff;
}

.home_calculator a.button.gray.white-30 {
	color: #fff;
}

.main_content.home_page + .footer {
	border-top: none;
}
.home_calculator p.title strong {
	color: #bebebe;

}

.home_calculator p.title::after {
	background-color: #bebebe;
}

a.fixed_button {
	border: 10px solid rgba(145, 225, 7, 0.4);
	z-index: 7;
	position: fixed;
	right: -109px;
	text-decoration:  none;
	top: 325px;
	transform: rotate(270deg);
}

a.fixed_button div {
	display:  flex;
	background-color:  #91e107;
	width: 250px;
	padding: 8px;
	justify-content:  center;
	align-items: center;
	transition: background-color .3s;
}

a.fixed_button:hover {
	border-color: rgba(255,7,7,0.5);
	transition: border .3s;
}
a.fixed_button:hover div {
	background-color: #e10707;
}

a.fixed_button p {
	margin-bottom:  0;
	margin-left: 10px;
	font-size: 28px;
	color: #fff;
	font-weight:  800;
	line-height: 26px;
	margin-top:  0;
	width: calc(100% - 95px);
}

a.fixed_button p span {
	font-size: 18px;
	color: #797979;
	line-height: 26px;
	font-weight: 400;
	transition: color .3s;
}

a.fixed_button:hover p span {
	color: #fff;
}

a.fixed_button svg {
	width: 47px;
}

.ginput_container.ginput_container_fileupload .validation_message::after {
	display: none;
}

.ginput_container.ginput_container_fileupload {
	padding-bottom: 20px;
}

a.post_list {
	display: block;
	border-bottom: 1px solid #bebebe;
	padding-bottom:  20px;
	margin-bottom: 20px;
}

a.post_list p {
	color: #747474;
	text-decoration:  none;
}

a.post_list:hover p {
	text-decoration:  none;
}

a.post_list:hover .button {
	color: #fff;
	background: #e04a4a;
	text-decoration: none;
}

a.post_list:hover {
	text-decoration:  none;
}

a.post_list:hover h2 {
	text-decoration:  underline;
}
@media (min-width: 1021px) {

	.menu {
		background: #f7f7f7;
		display: flex;
		height: 57px;
		min-width: 1350px;
		padding: 0 calc(50% - 675px);
		margin: 0;
		list-style: none;
		border-bottom: 3px solid #e10707;
		position: fixed;
		top: 120px;
		transition: top 0.5s;
		z-index: 3;
		width: 100%;
		box-sizing: border-box;
	}
	.menu.fixed {
		top: 75px;
	}
	.menu > li {
		position: relative;
	}
	.menu > li > a {
		font-size: 18px;
		display: block;
		height: 57px;
		line-height: 57px;
		padding: 0 15px;
		color: #65595c;
		transition: background-color 0.3s, color 0.3s;
	}
	.menu > li:hover > a {
		background: #4c4c4c;
		text-decoration: none;
		color: #fff;
	}
	.menu > li.menu-item-has-children > a , .menu > li.render_as_mega_menu > a {
		padding-right: 30px;
		position: relative;

	}
	.menu > li.menu-item-has-children > a::after , .menu > li.render_as_mega_menu > a::after {
		position: absolute;
		width: 10px;
		height: 10px;
		content: '';
		display: block;
		border-left: 1px solid #d9d9d9;
		border-bottom: 1px solid #d9d9d9;
		transform: rotate(-45deg);
		top: 20px;
		right: 10px;
	}
	.menu > li.current-menu-item > a , .menu > li.current-menu-ancestor > a {
		background: #e10707;
		color: #fff;
	}
	.menu > li.current-menu-item:hover > a , .menu > li.current-menu-ancestor:hover > a {
		background: #4c4c4c;
	}

	.menu > li > ul {
		list-style: none;
		list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
		list-style-type: none;
		margin: 0;
		padding: 0;
		white-space: nowrap;
		display: none;
	}
	.menu > li:hover > ul , .menu > li.render_as_search.open_search > ul {
		background: #fff;
		border-top: 3px solid #4c4c4c;
		border-bottom: 3px solid #4c4c4c;
		display: block;
		margin: 0;
		padding: 25px;
		position: absolute;
		top: 57px;
		left: 0;
		z-index: 1;
		width: 300px;
		box-shadow: 0 4px 5px rgba(0,0,0,0.1);
	}
	.menu > li:hover > ul > li > a {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid rgba(0,0,0,0.1);
	}


	.menu > li:hover > ul > li > a:hover {
		text-decoration:  none;
		color:  #65595c;
	}

	.menu > li:hover > ul li:last-child a {
		border: none;
	}

	.menu > li.render_as_search {
		margin-left: auto;
	}
	.menu > li.render_as_search a {
		min-width: 90px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		background: rgba(0,0,0,0.1);
	}

	.menu > li.render_as_search:hover > ul {
		display: none;
	}
	.menu > li.render_as_search:hover > a , .menu > li.render_as_search.open_search > a {
		background: #4c4c4c;
		color: #fff;
	}
	.menu > li.render_as_search > a svg path {
		transition: fill 0.3s;
	}
	.menu > li.render_as_search:hover > a svg path , .menu > li.render_as_search.open_search > a svg path {
		fill: #fff;
	}
	.menu > li.render_as_search.open_search > ul , .menu > li.render_as_search.open_search:hover > ul {
		left: auto;
		right: 0;
		display: block;
		width: 300px;
	}
	.menu > li.render_as_search form {
		display: flex;
		justify-content: space-between;
		margin: 0;
	}
	.menu > li.render_as_search input.search-field {
		width: calc(100% - 100px);
		max-height:  42px;
	}

	.menu > li.render_as_mega_menu {
		position: static;
	}
	.menu > li.render_as_mega_menu > ul {
		top: 57px;
		left: calc(50% - 675px);
		width: 1350px;
		padding: 0;
	}

}


@media (min-width: 1021px) and (max-width: 1250px){
	.menu > li > a {
		font-size: 16px;
		padding: 0 8px;
	}
}
@media (max-width: 1800px)  {
	.home_services > div {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 1410px) {

	div.site_width {
		padding-left: 30px;
		padding-right: 30px;
	}
	.header , .menu , .featured_banner h2 span {
		min-width: inherit;
		width: 100%;
		padding: 0 30px;
		box-sizing: border-box;
		margin: 0;
	}
	.menu {
		height: 60px;
	}
	.contact_meta {
		flex-direction:  column;
	}
	.contact_meta > div:nth-child(1n) {
		width: 100%;
		margin-bottom: 10px;
	}
	.affiliate_logos {
		flex-wrap: wrap;
	}
	.affiliate_logos img {
		width: calc(30% - 10px);
	}
	.affiliate_logos img:nth-child(3) {
		width: calc(40% - 10px);
	}
	.footer_locations li {
		font-size: 16px;
	}
	.menu > li.render_as_mega_menu > ul {
		left:  0;
		width: 100%;
		box-sizing:  border-box;
	}

}

@media (max-width: 1200px) {

	.header .text-link {
		font-size: 16px;
		white-space: nowrap;
	}
	.header .text-link.phone {
		margin-left: 15px;
	}
	.footer > div:nth-child(1n) {
		flex-basis: auto;
		width: calc(50% - 55px);
	}
	.footer_locations {
		flex-wrap: wrap;
	}
	.footer_locations li {
		padding: 0px 15px 0px 35px;
		background-size:  contain;
		margin-bottom: 4px;
	}
	.footer_menu {
		flex-wrap:  wrap;
	}
	.footer_menu li {
		margin-bottom: 10px;
	}
	.home_services > div {
		flex-wrap:  wrap;
	}

	.home_services a {
		width: calc(33.3% - 10px);
		margin-bottom:  20px;
	}

	.home_services a:nth-child(4) , .home_services a:nth-child(5) {
		width: calc(50% - 10px);
	}
}

@media (max-width: 1024px) {

	.menu > li.menu-item-has-children > a, .menu > li.render_as_mega_menu > a {
		padding-right: 28px;
	}
}

@media (max-width: 1020px) {

	body {
		padding: 0;
	}
	#close_menu {
		background-color: rgba(0, 0, 0, 0.01);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 2;
		width: 0;
		height: 100vh;
		display: block;
		transition: background-color 0.3s ease, right 0.3s ease;
		-webkit-transition: background-color 0.3s ease, right 0.3s ease;
	}

	body.menu_open #close_menu {
		display: block;
		background: rgba(0, 0, 0, 0.5);
		right: 300px;
		width: 100%;
	}
	body.menu_open.show_menu_close #close_menu {
		background-color: rgba(0, 0, 0, 0.01);
		width: 100%;
		right: 0;
	}

	#wrap {
		position: relative;
		width: auto;
		min-width: 320px;
		overflow: hidden;
	}
	#shifter {
		padding-top: 120px;
		position: relative;
		width: 100%;
		left: 0px;
		transition: left 0.3s ease;
		-webkit-transition: left 0.3s ease;
		background: #fff;
	}

	body {
		background: #d8d8d8;
	}
	body.menu_open #shifter {
		left: -300px;
		height: calc(100vh);
		box-sizing: border-box;
	}
	body.menu_open.show_menu_close #shifter {
		left: 0;
	}

	#main_menu {
		display: block;
		top: 0px;
		left: 100%;
		width: 325px;
		z-index: 3;
		position: absolute;
		height: 100vh;
		margin: 0;
		overflow-y: scroll;
		overflow-x: hidden;
		padding-right: 24px;
	}

	.menu , .menu ul {
		padding: 0;
		margin: 0;
		list-style: none;
		background: red;
		height: auto;
	}
	.menu a {
		display: block;
		color: #fff;
		padding: 20px;
		font-size: 20px;
		font-weight: 400;
		text-decoration: none;
		border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	}
	.menu ul {
		background: rgba(0,0,0,0.1);
	}
	.menu ul a {
		font-size: 16px;
		padding: 15px 25px;
	}
	.service_listing a[style] {
		background: none !important;
		width: 100%;
		padding: 0;
	}
	.mega_menu .service_listing {
		flex-direction: column;
		height:  auto;
		padding: 0;
	}
	.mega_menu .service_listing a div {
		margin-bottom: 0;
		font-size: 18px;
		padding: 15px 25px;
		font-weight: 600;
		background: none;
	}
	.mega_menu .service_listing a div strong {
		color: #dcdcdc;
		font-size:  16px;
		padding: 0;
		font-weight: 400;
	}
	.mega_menu .button_cta {
		display: none;
	}
	li.render_as_search {
		display: none;
	}

	.gallery {
		column-count: 3;
		column-gap: 10px;
	}
	.gallery .gallery-item img {
		margin-bottom: 10px;
	}

	.header {
		border-bottom: 4px solid #e10707;
	}
	.header .text-link {
		text-indent: -999px;
		text-align: left;
		overflow:  hidden;
		padding: 0;
		width:  40px;
		height: 40px;
	}
	.header .text-link span {
		display: none;
	}
	#mobile_menu_button {
		margin: 0 0 0 20px;
		height: 40px;
		width: 45px;
	}
	#mobile_menu_button > div {
		width: 100%;
		height:  8px;
		background: #858585;
		margin-bottom:  8px;
		border-radius: 3px;
	}

	.news_listing .single_news:nth-child(1n) {
		width: calc(50% - 10px);
		height: 320px;
	}

	.the_team .single_person:nth-child(1n) {
		width: calc(50% - 10px);
		margin-right: 20px;
	}
	.the_team .single_person:nth-child(2n) {
		margin-right: 0px;
	}

	.content_cta a {
		font-size: 30px;
	}

	.contact_us > main , .contact_us > ul {
		flex-basis: 500px;
	}
	.locations .single_location {
		width: calc(50% - 15px);
		margin-bottom: 30px;
	}
	.locations .single_location:nth-child(n+4) {
		margin-bottom: 0;
	}
	.calculator_nav li svg {
		display:  none;
	}

	.calculator_nav li p {
		margin-left:  0;
	}
	a.fixed_button p {
		font-size: 18px;
		line-height: 16px;
	}

	a.fixed_button p span {
		font-size: 17px;
		line-height: 17px;
	}

	a.fixed_button svg {
		transform: scale(0.7);
	}

	a.fixed_button {
		right: -100px;
	}

	a.fixed_button p {
	}

	a.fixed_button div {
		width: 209px;
	}
}

@media (max-width:860px) {

	h1 , .title {
		font-size: 32px;
	}
	h2 {
		font-size: 26px;
	}
	h3 {
		font-size: 22px;
	}
	h4 {
		font-size: 20px;
	}
	.header_line {
		display: none;
	}
	.social-link {
		display: none;
	}
	#mobile_menu_button {
		margin: 0;
	}
	.main_content {
		flex-direction:  column;
		padding: 30px 20px;
	}
	.main_content > aside , .main_content > main {
		flex-basis: auto;
		align-self:  stretch;
		margin: 0 0 30px 0;
	}
	.main_content > aside {
		margin: 0;
	}
	.featured_banner h2 {
		min-height:  80px;
		font-size: 32px;
	}

	.footer {
		display: block;
	}
	.footer > div:nth-child(1n) {
		width: auto;
		padding: 0 0 30px 0;
		margin: 0;
		border: none;
		text-align:  center;
	}
	.affiliate_logos img , .affiliate_logos img:nth-child(1n) {
		width: auto;
	}
	.footer_line {
		display: block;
		margin: 30px auto;
	}
	.affiliate_logos {
		justify-content: center;
	}
	.footer_locations , .footer_menu {
		justify-content:  center;
	}
	.footer > div:nth-child(2) {
		padding-bottom: 0;
	}
	.end_of_page {
		flex-direction:  column;
		align-items:  center;
		padding: 30px;
	}
	.single_news h2 {
		font-size: 22px
	}

	.contact_us > ul li:nth-child(1n) {
		background: none;
		padding: 10px 20px;
		margin: 0;
	}
	.contact_us_form {
		flex-direction: column;
	}
	.contact_us_form > div:nth-child(1n) {
		flex-basis: auto;
	}
	.contact_us_form > div:nth-child(1) {
		height: 50vw;
		margin: 0;
	}
	.calc_single {
		padding-left: 30px;
		padding-right:  30px;
	}
	.home_usps {
		flex-wrap:  wrap;
		padding-bottom: 15px;
	}

	.site_width.home_usps > div {
		width: calc(50% - 20px);
		margin-bottom: 20px;
	}

	.single_testimonial {
		font-size: 18px;
	}

	.single_testimonial_name {
		bottom: -55px;
	}

	.home_services a > div p.title {
		font-size: 22px;
		color: #fff;
		line-height: 24px;
	}

	.two_tone {
		font-size: 32px;
	}

	.content_cta h3 {
		font-size: 22px;
	}

	.content_cta a {
		width: 269px;
	}

	.download_list h3 {
		margin: 0;
		font-size: 20px;
	}
	.sercive_listing > div {
		flex-direction:  column;
	}

	.sercive_listing > div > div:nth-child(1) {
		width: 100%;
	}

	.sercive_listing > div > div:nth-child(2) {
		width: 100%;
		margin-top:  10px;
	}

	.calculator_totals .the_total {
		font-size: 40px;
		line-height: 40px;
	}

	.calculator_totals .square_units {
		font-size: 40px;
	}

	.calculator_nav li p {
		font-size: 22px;
	}

	.calc_single form strong {
		font-size: 22px;
	}

	.calculator_nav li {
		padding: 0 30px;
	}

}

@media (max-width:700px) {

	.news_listing .single_news:nth-child(1n) {
		width: 100%;
	}
	.the_team .single_person:nth-child(1n) {
		width: 100%;
		margin-right: 0px;
	}
	.content_cta {
		flex-direction:  column;
		justify-content:  center;
		align-items: stretch;
	}
	.content_cta a {
		border-radius: 100%;
		align-items:  flex-start;
		margin: 20px -50% -320px -50%;
		padding-top: 30px;
		box-sizing:  border-box;
		width: 200%;
	}
	.content_cta div {
		text-align: center;
	}
	.download_list > li {
		width: 100%;
	}

	.contact_us {
		flex-direction: column;
	}
	.contact_us > main, .contact_us > ul {
		flex-basis: auto;
		margin: 0;
	}

	.contact_us_form .gform_body > ul > li:nth-child(1), .contact_us_form .gform_body > ul > li:nth-child(2) {
		width: 100%;
	}

	.the_testimonials {
		margin-top: 50px;
	}

	.single_testimonial {
		padding:  30px;
		margin-bottom: 75px;
		font-size: 16px;
	}
	.single_testimonial_name {
		font-size: 14px;
		left: 50px;
	}
	.calc_single {
		display: block;
	}

	.calc_single form {
		width: 100%;
		margin-bottom:  25px;
	}

	.calc_single > div {
		width: 100%;
	}

	.home_usps p:nth-child(1) {
		font-size:  18px;
	}

	.home_usps p:nth-child(2) {
		font-size: 16px;
	}
	.home_services a {
		width: calc(50% - 10px);
	}

	.home_services a:nth-child(3) {
		width: 100%;
	}
	.quote_container .single_testimonial {
		width: calc(50% - 15px);
	}
	.home_calculator {
		background: #e10707;
	}

	.home_calculator div {
		width: 100%;
	}

	.quote_form .gform_body ul li {
		width: 100%;
	}
}

@media (max-width:600px) {
	.quote_container > div {
		flex-wrap: wrap;
	}
	.quote_container .single_testimonial {
		width: 100%
	}

	div.site_width , .featured_banner h2 span {
		padding-left:  20px;
		padding-right: 20px;
	}
	.gallery {
		column-count: 2;
	}
	.header-right {
		display: flex;
		justify-content: space-between;
	}
	.header .text-link {
		margin: 0 0 0 15px;
	}
	#mobile_menu_button {
		margin-left: 20px;
	}
	.header .logo {
		width: 200px;
	}
	.header {
		height: 90px;
	}
	#shifter {
		padding-top: 90px;
	}
	.header.fixed {
		min-height: 70px;
	}
	.header .text-link svg {
		width: 35px;
		height: 35px;
	}
	.header .text-link {
		width:  35px;
		height: 35px;
	}
	#mobile_menu_button > div {
		height: 7px;
		margin-bottom: 7px;
		width: 40px;
	}
	#mobile_menu_button {
		height: 35px;
	}
	#uof_cookie_notice {
		width: calc(100% - 20px);
		left: 0;
		bottom: 15px;
		border-radius: 0;
		border-left: none;
		border-right: 0
	}
	.single_person h3 {
		font-size:  22px;
		line-height: 22px;
	}

	.locations .single_location:nth-child(1n) {
		width: 100%;
		margin-bottom: 30px;
		font-size: 16px;
	}
	.locations .single_location:last-child {
		margin-bottom: 0;
	}
	.calculator_nav li {
		padding: 0 10px;
		text-align: center;
		width: 33.3%;
	}

	.calculator_nav li p {
		font-size: 16px;
		line-height: 21px;
	}

	.calculator_nav span {
		font-size: 14px;
	}
	.calc_single form strong {
		font-size: 18px;
	}

	.calc_single form input[type=text], .calc_single form select {
		padding: 10px 15px;
	}

	.calculator_totals .the_total {
		font-size: 40px;
	}

	.calculator_totals .square_units {
		font-size: 25px;
	}
	.sercive_listing.site_width {
		padding-top:  0;
		padding-bottom:  0;
	}
	.sercive_listing > div > div:nth-child(1) {
		min-height:  220px;
		border-width:  10px;
	}
	.home_services a > div p.title {
		font-size: 21px;
		line-height: 20px;
	}

	.home_services a > div p.title strong {
		font-size: 18px;
		line-height: 20px;
	}
	a.fixed_button {
		display:  none;
	}

}

@media (max-width:440px) {

	.header .text-link {
		display: none;
	}
	.site_width.home_usps > div {
		width: 100%;
	}
	.home_services a:nth-child(1n) {
		width: 100%;
	}

	.footer_phone {
		font-size: 25px;
	}

	.video_container {
		max-height: 500px;
	}

	.header .logo {
		width: 250px;
	}

	#mobile_menu_button {
		height: 25px;
	}

	#mobile_menu_button > div {
		height: 5px;
		margin-bottom: 6px;
		width: 35px;
	}

	.affiliate_logos img, .affiliate_logos img:nth-child(1n) {
		width: auto;
		max-height: 45px;
		padding: 2px;
	}

}

/* lightbox*/

/*!
* baguetteBox.js
* @author  feimosi
* @version %%INJECT_VERSION%%
* @url https://github.com/feimosi/baguetteBox.js
*/

#baguetteBox-overlay {
	display: none;
	opacity: 0;
	position: fixed;
	overflow: hidden;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000000;
	background-color: #222;
	background-color: rgba(0, 0, 0, 0.8);
	transition: opacity 0.5s ease;
}
#baguetteBox-overlay.visible {
	opacity: 1;
}
#baguetteBox-overlay .full-image {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
}
#baguetteBox-overlay .full-image figure {
	display: inline;
	margin: 0;
	height: 100%;
}
#baguetteBox-overlay .full-image img {
	display: inline-block;
	width: auto;
	height: auto;
	max-height: 100%;
	max-width: 100%;
	vertical-align: middle;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
#baguetteBox-overlay .full-image figcaption {
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align: center;
	line-height: 1.8;
	white-space: normal;
	color: #ccc;
	background-color: #000;
	background-color: rgba(0, 0, 0, 0.6);
	font-family: sans-serif;
}
#baguetteBox-overlay .full-image:before {
	content: "";
	display: inline-block;
	height: 50%;
	width: 1px;
	margin-right: -1px;
}

#baguetteBox-slider {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	white-space: nowrap;
	transition: left 0.4s ease, transform 0.4s ease;
}
#baguetteBox-slider.bounce-from-right {
	animation: bounceFromRight 0.4s ease-out;
}
#baguetteBox-slider.bounce-from-left {
	animation: bounceFromLeft 0.4s ease-out;
}

@keyframes bounceFromRight {
	0% {
		margin-left: 0;
	}
	50% {
		margin-left: -30px;
	}
	100% {
		margin-left: 0;
	}
}
@keyframes bounceFromLeft {
	0% {
		margin-left: 0;
	}
	50% {
		margin-left: 30px;
	}
	100% {
		margin-left: 0;
	}
}
.baguetteBox-button#previous-button, .baguetteBox-button#next-button {
	top: 50%;
	top: calc(50% - 30px);
	width: 44px;
	height: 60px;
}

.baguetteBox-button {
	position: absolute;
	cursor: pointer;
	outline: none;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 15%;
	background-color: #323232;
	background-color: rgba(50, 50, 50, 0.5);
	color: #ddd;
	font: 1.6em sans-serif;
	transition: background-color 0.4s ease;
}
.baguetteBox-button:focus, .baguetteBox-button:hover {
	background-color: rgba(50, 50, 50, 0.9);
}
.baguetteBox-button#next-button {
	right: 2%;
}
.baguetteBox-button#previous-button {
	left: 2%;
}
.baguetteBox-button#close-button {
	top: 20px;
	right: 2%;
	right: calc(2% + 6px);
	width: 30px;
	height: 30px;
}
.baguetteBox-button svg {
	position: absolute;
	left: 0;
	top: 0;
}

/*
Preloader
Borrowed from http://tobiasahlin.com/spinkit/
*/
.baguetteBox-spinner {
	width: 40px;
	height: 40px;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -20px;
	margin-left: -20px;
}

.baguetteBox-double-bounce1,
.baguetteBox-double-bounce2 {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #fff;
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	animation: bounce 2s infinite ease-in-out;
}

.baguetteBox-double-bounce2 {
	animation-delay: -1s;
}

@keyframes bounce {
	0%, 100% {
		transform: scale(0);
	}
	50% {
		transform: scale(1);
	}
}

@media only screen and (max-width: 600px) {
.unityfix { 
min-height:650px;
}

}

@media only screen and (min-width: 600px) {
.unityfix { 
min-height:315px;
}

}

