/**** Global.css for Iron Concrete *****/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline; }

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block; }


/* 0. VARIABLES */
:root {
	--black: #101922;
	--orange: #f36b24;
	--greyLight: #f1f2f2;
	--greyDark: #142d34;
}


/* 1.ROOT */

html {
	overflow-y: scroll;
	background: #fff;
}
body { 
	margin: 0 auto;
	padding: 0;
	width: 100%;
	font: 100%/1.4 "Poppins", "Helvetica Neue", Helvetica, Arial;
	color: #333;
	font-style: normal;
	background-color: transparent;
	-webkit-text-size-adjust: 100%; 
	-ms-text-size-adjust: 100%;
}




/* 2.HEADINGS */

h1, 
h2, 	
h3, 
h4, 
h5, 
h6 {
	font-weight: 400;
}
h1 { 
	margin-bottom: .75em;
	font-size: 1.7em;
	line-height: 1.1;
	font-size: 700;
}
h2 { 
	margin-bottom: .75em;
	font-size: 1.6em;
	line-height: 1.2;
	padding-top: 0px;
}
h3 { 
	margin-bottom: 1em;
	font-size: 1.2em;
	line-height: 1.3;
}
h4 { 
	margin-bottom: 1.25em;
	font-size: 1.1em;
	line-height: 1.25;
}
h5 { 
	margin-bottom: 1.5em;
	font-size: 1em;
}
h6 { 
	font-size: 1em;
}






/* 3.TYPOGRAPHY */

p, 
ol, 
ul, 
dl, 
address { 
	margin-bottom: 1.5em; 
	font-size: 1em;
}
ul, 
ol { 
	margin: 0 0 1.5em -24px; 
	padding-left: 24px;
}
ul { 
	list-style-type: disc;
	margin-left: 0.2em;
}
ol { 
	list-style-type: decimal;
	margin-left: 0.2em;
}
li ul, 
li ol { 
	margin: 0;
	font-size: 1em;
}
blockquote  { 
	margin: 0 0 1.5em -24px; 
	padding-left: 24px; 
	border-left: 1px solid rgb(200,200,200);
	font-style: italic;
}
sup, 
sub { 
	position: relative;
	font-size: 75%; 
	line-height: 0;
}
sup { 
	top: -.5em;
}
sub { 
	bottom: -.25em;
}
strong,
h2 strong,
h3 strong,
h4 strong {
	font-weight: 700;
}
i {
	font-style: italic;
}





/* 4.LINKS */

a {
	outline: none;
	color: #cc0000;
}
a:link {
	-webkit-tap-highlight-color: rgb(52,158,219);
}
a:visited {
	color: #333;
}
a:hover { 
	outline: none;
	color: #334455; 
	text-decoration: none;
}
a:active, 
a:focus { 
	outline: none;
	color: #333;
}





/* 6.TABLES */

table { 
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1.4em; 
	width: 100%;
}
th { 
	font-weight: bold;
}
th, td, caption { 
	padding: .25em 10px .25em 5px;
}





/* CUSTOM */
/* CUSTOM */
/* CUSTOM */
/* CUSTOM */
#container {
	padding-top: 64px;
}
.wrapper {
	width: 95%;
	max-width: 1248px;
	margin: 0 auto;
}
img {
	display: block;
	width: 100%;
	height: auto;
	max-width: fit-content;
}



/***** Header *****/
header {
	padding: 10px 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9998;
	background: #fff;
	box-shadow: 0px 2px 2px rgba(0,0,0,0.1);
	transition: all 0.15s ease-in-out;
}
header.fixed {
	
}
#logo {
	width: 160px;
	height: auto;
	aspect-ratio: 158 / 43;
	background: url('../images/icon_concrete_logo.svg') no-repeat 0 0;
	background-size: 100% auto;
}
#logo a {
	display: block;
	height: 100%;
}
#iconMenu {
	color: #333;
	text-align: center;
	width: 30px;
	height: 40px;
	position: fixed;
	top: 12px;
	right: 5%;
	z-index: 9999;
	background: url('../images/icon-hamburger.svg') no-repeat center center;
	background-size: 30px auto;
}
#iconMenu.active {
	background-image: url('../images/icon-close.svg');
	background-size: 26px auto;
}
#headernav {
	display: none;
	position: absolute;
	top: 70px;
	left: 0;
	width: 100%;
	padding: 8px 0 20px 0;
	background: #fff;
	border-bottom: 2px solid rgba(0,0,0,0.1);
}
header ul {
	margin: 0;
	padding: 0 5%;
	list-style: none;
}
#headernav a,
#headernav a:link,
#headernav a:visited {
	color: var(--black);
	display: block;
	text-decoration: none;
	text-transform: uppercase;
	padding: 6px 0;
}
#headernav a:hover,
#headernav .active a:hover {
	color: var(--orange);
}
#headernav .active a {
	color: var(--black);
	font-weight: 600;
}
#headernav .active ul a {
	font-weight: 400;
}
#nav_main {
	margin-bottom: 8px;
}
.nav_socials {
	width: 36px;
	height: 36px;
	margin-bottom: 10px;
}
.nav_socials a {
	display: block;
	height: 100%;
	padding: 0 !important;
}
.nav_socials_instagram a {
	background: url("../images/icon-social-instagram-primary.svg") no-repeat 0 0;
}
.nav_socials_instagram a:hover {
	background-image: url("../images/icon-social-instagram-hover.svg");
}
#nav_phone {
	position: relative;
	line-height: 36px;
	height: 36px;
	padding-left: 40px;
}
#nav_phone:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 36px;
	height: 36px;
	background: url("../images/icon-contact-phone-pos.svg") no-repeat 0 0;
}



/***** heroSlider *****/
.heroSlider {
	position: relative;
	border-bottom: 16px solid var(--orange);
}
.heroSlider .wrapper {
	width: 90%;
	margin: 0 auto;
	max-width: 1248px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 40px 0;
}
.heroSlider_slide {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	min-height: 248px;
}
.heroSlider_text {
	flex: 0 1 auto;
	padding: 0;
	width: 90%;
	align-self: center;
	color: #fff;
	text-shadow: 2px 2px 4px #000;
}
.heroSlider_text h1 {
	margin-bottom: 10px;
	font-weight: 700;
}
.heroSlider_text h1 em,
.heroSlider_text h1 i {
	color: var(--orange);
	font-style: normal;
}
.heroSlider_text p {
	margin-bottom: 0;
}




/***** oneColumn *****/
.oneColumn {
	margin: 16px 0;
	padding: 14px 0;
}
.oneColumn.greyBg {
	background: var(--greyLight);
	padding: 30px 0;
}
.oneColumn h2 {
	text-align: center;
	position: relative;
}
.oneColumn h2 strong {
	display: block;
}
.oneColumn h2:after {
	content: "";
	display: block;
	width: 40%;
	max-width: 240px;
	height: 5px;
	margin: 0.7em auto 0 auto;
	background: var(--orange);
}
.oneColumnContent {
	max-width: 900px;
	margin: 0 auto;
}
.textCentered .oneColumnContent {
	text-align: center;
}
.oneColumnContent *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}




/***** services *****/
.services {
	background: var(--black);
	margin: 16px 0;
	padding: 40px 0;
}
.services .wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.serviceCard {
	flex: 0 1 auto;
	width: 49%;
	background: var(--greyLight);
	padding: 16px;
	margin-bottom: 2%;
	position: relative;
	transition: all 0.15s ease-in;
}
.serviceCard:nth-child(7),
.serviceCard:nth-child(8) {
	margin-bottom: 0;
}
.serviceCard a {
	color: var(--black);
	text-decoration: none;
}
.serviceCard_icon {
	display: block;
	aspect-ratio: 20 / 17;
	width: 60px;
	background-repeat: repeat;
	background-position: 0 0;
	background-size: 100% auto;
	overlay: hidden;
	margin-bottom: 0.5em;
}
.serviceCard_title {
	display: block;
	margin: 0 0 0.5em 0;
	font-size: 1.1em;
	line-height: 1.1;
}
.serviceCard_desc {
	display: block;
	font-size: 0.8em;
}
.serviceCard a:after {
	content: "";
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 12px;
	height: 12px;
	background: url("../images/icon-chevrons.svg") no-repeat center center;
	background-size: auto 100%;
}
.serviceCard:hover {
	background: var(--orange);
}
.serviceCard:hover a {
	color: #fff;
}
.serviceCard:hover a:after {
	background-image: url("../images/icon-chevrons-neg.svg");
}
.serviceCard:hover .serviceCard_icon {
	background-position: left bottom;
}



/***** fullImage *****/
.fullImage {
	margin: 16px 0;
}
.fullImage .wrapper {
	width: 100%;
	max-width: none;
}
.fullImage img {
	max-width: none;
}



/***** Number Points *****/
.numberPoints {
	margin-bottom: 16px;
	padding-bottom: 30px;
}
.numberPoints .wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1100px;
}
.numberPoint {
	flex: 0 1 auto;
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}
.numberPoint:last-child {
	margin-bottom: 0;
}
.numberPoint_num,
.numberPoint_text {
	flex: 0 1 auto;
}
.numberPoint_num {
	font-size: 50px;
	font-weight: 700;
	color: var(--orange);
	width: 38px;
	line-height: 0.9;
}
.numberPoint_text {
	width: calc(100% - 42px);
}
.numberPoint_text h3 {
	margin-bottom: 0.25em;
	font-size: 1.4em;
	line-height: 1;
}
.numberPoint_text p:last-child {
	margin-bottom: 0;
}




/***** Contact Strip *****/
.contactStrip {
	background: var(--black);
	margin: 16px 0;
	padding: 40px 0;
	color: var(--orange);
}
.contactStrip .wrapper {
	width: 80%;
	max-width: 1100px;
}
.contactStrip_text {
	font-size: 1.4em;
	line-height: 1.2;
	margin-bottom: 20px;
}
.contactStrip_text strong {
	display: block;
	color: #fff;
}
.contactStrip_button {
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: var(--orange);
	color: var(--black);
	text-align: center;
	width: 100px;
	padding: 25px 20px 0 20px;
	line-height: 1;
	position: relative;
	transition: all 0.15s ease-in;
}
.contactStrip_button:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 17px;
	width: 100%;
	height: 20px;
	background: url("../images/icon-chevrons.svg") no-repeat bottom center;
	background-size: auto 100%;
}
.contactStrip_button a {
	display: block;
	height: 100%;
	color: var(--black) !important;
	text-decoration: none;
}
.contactStrip_button:hover {
	background: #fff;
	color: var(--orange);
}
.contactStrip_button:hover:after {
	background-image: url("../images/icon-chevrons-orange.svg");
}
.contactStrip_button:hover a {
	color: var(--orange) !important;
}



/***** pageBanner *****/
.pageBanner {
	background-color: var(--black);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 30px 0;
}
.pageBanner h1 {
	margin: 0;
	padding: 0;
	color: #fff;
	text-shadow: 2px 2px 4px #000;
	font-weight: 700;
	text-align: center;
}




/***** Number Points *****/
.iconPoints {
	margin-bottom: 16px;
	padding-bottom: 30px;
}
.iconPoints .wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1100px;
}
.iconPoint {
	flex: 0 1 auto;
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}
.iconPoint:last-child {
	margin-bottom: 0;
}
.iconPoint_icon,
.iconPoint_text {
	flex: 0 1 auto;
}
.iconPoint_icon {
	font-size: 50px;
	font-weight: 700;
	color: var(--orange);
	width: 80px;
	line-height: 0.9;
}
.iconPoint_text {
	width: calc(100% - 90px);
}
.iconPoint_text h3 {
	margin-bottom: 0.25em;
	font-size: 1.4em;
	line-height: 1;
}
.iconPoint_text p:last-child {
	margin-bottom: 0;
}



/***** twoColumnText *****/
.twoColumnText {
	margin: 16px 0;
	padding: 14px 0;
}
.twoColumnText.greyBg {
	background: var(--greyLight);
	padding: 30px 0;
}
.twoColumnText h2 {
	text-align: center;
	position: relative;
}
/*.twoColumnText h2 strong {
	display: block;
}*/
.twoColumnText h2:after {
	content: "";
	display: block;
	width: 40%;
	max-width: 240px;
	height: 5px;
	margin: 0.7em auto 0 auto;
	background: var(--orange);
}
.twoColumnText_col2 *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
.twoColumnText_col2 li {
	margin-bottom: 0.5em;
}




/***** quoteStrip *****/
.quoteStrip {
	background-color: var(--black);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	margin: 16px 0;
	padding: 30px;
	color: #fff;
}
.quoteStrip h2 {
	text-align: center;
	position: relative;
	text-shadow: 2px 2px 4px #000;
}
.quoteStrip h2:after {
	content: "";
	display: block;
	width: 40%;
	max-width: 240px;
	height: 5px;
	margin: 0.7em auto 0 auto;
	background: var(--orange);
}
.quoteStrip_text {
	margin-bottom: 20px;
	text-shadow: 2px 2px 4px #000;
}
.quoteStrip_button {
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: var(--orange);
	color: var(--black);
	text-align: center;
	width: 100px;
	padding: 25px 20px 0 20px;
	line-height: 1;
	position: relative;
	transition: all 0.15s ease-in;
}
.quoteStrip_button:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 17px;
	width: 100%;
	height: 20px;
	background: url("../images/icon-chevrons.svg") no-repeat bottom center;
	background-size: auto 100%;
}
.quoteStrip_button a {
	display: block;
	height: 100%;
	color: var(--black) !important;
	text-decoration: none;
}
.quoteStrip_button:hover {
	background: #fff;
	color: var(--orange);
}
.quoteStrip_button:hover:after {
	background-image: url("../images/icon-chevrons-orange.svg");
}
.quoteStrip_button:hover a {
	color: var(--orange) !important;
}



/***** contactChannels *****/
.contactChannels {
	width: 200px;
	margin: 0 auto;
	margin-bottom: 16px;
	padding-bottom: 1px;
}
.contactChannels .contactIcon {
	font-size: 1.2em;
}
.contactChannels .contactIcon {
	padding-left: 44px;
	margin-bottom: 30px;
}
.contactChannels .contactIcon:after {
	width: 34px;
	height: 34px;
	top: -4px;
}
.map {
	margin: 16px 0;
}
.map .wrapper {
	width: 100%;
	max-width: none;
}
.map iframe {
	width: 100% !important;
}




/***** GalleryTabs *****/
.galleryTabs {
	margin: 16px 0;
	padding: 14px 0;
}
.galleryTabs .wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}
.galleryTab {
	flex: 0 1 auto;
	width: fit-content;
	font-size: 1.1em;
	cursor: pointer;
}
.galleryTab.active {
	border-bottom: 4px solid var(--orange);
}
.galleryImages .wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.galleryImages.chopped .wrapper {
	justify-content: space-between !important;
}
.galleryImages a {
	display: block;
	flex: 0 1 auto;
	width: 49%;
	margin-bottom: 2%;
}





/***** Footer *****/
footer {
	background: var(--greyLight);
	padding: 30px 0;
	margin: 16px 0 0 0;
}
footer #logo {
	margin-bottom: 26px;
}
.contactIcon {
	display: block;
	position: relative;
	padding-left: 30px;
	margin-bottom: 16px;
}
.contactIcon:after {
	content: "";
	width: 24px;
	height: 24px;
	position: absolute;
	left: 0;
	top: -2px;
}
.contactIcon_phone:after {
	background: url("../images/icon-contact-phone-pos.svg") no-repeat center center;
	background-size: 100% auto;
}
.contactIcon_email:after {
	background: url("../images/icon-contact-email-pos.svg") no-repeat center center;
	background-size: 100% auto;
}
#footerCol3 h2 {
	font-size: 1.4em;
}
.socials_instagram {
	width: 36px;
	height: 36px;
}
.socials_instagram a {
	display: block;
	height: 100%;
	padding: 0 !important;
	background: url("../images/icon-social-instagram-primary.svg") no-repeat 0 0;
}
.socials_instagram a:hover {
	background-image: url("../images/icon-social-instagram-hover.svg");
}
#footerLegals {
	background: var(--orange);
	color: #fff;
	padding: 16px 0;
	font-size: 12px;
	line-height: 1;
}
#footerLegals a {
	color: #fff !important;
	text-decoration: none;
}
#footerLegals_text {
	display: block;
	margin-bottom: 6px;
}



@media screen and (min-width: 768px) {
	.heroSlider_slide {
		aspect-ratio: 19/6;
	}
	.heroSlider .wrapper {
		padding: 0;
		height: 100%;
	}
	.heroSlider_text h1 {
		font-size: 36px;
	}
	.oneColumn {
		padding: 34px 0;
	}
	.oneColumn.greyBg {
		padding: 50px 0;
	}
	.services {
		padding: 60px 0;
	}
	.serviceCard {
		width: 24%;
		margin-bottom: 1.25%;
	}
	.serviceCard:nth-child(5),
	.serviceCard:nth-child(6) {
		margin-bottom: 0;
	}
	.numberPoint {
		width: 48%;
	}
	.iconPoint {
		width: 48%;
	}
	.contactStrip .wrapper {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.contactStrip_text,
	.contactStrip_button {
		flex: 0 1 auto;
		align-self: center;
	}
	.contactStrip_text {
		margin: 0;
	}
	footer .wrapper {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#footerCol1,
	#footerCol2,
	#footerCol3 {
		flex: 0 1 auto;
	}
	#footerCol1 {
		width: 38%;
	}
	#footerCol2,
	#footerCol3 {
		width: 28%;
	}
	#footerCol3 h2 {
		font-size: 1.2em;
	}
	footer #logo {
		margin-top: 0 !important;
	}
	footer p {
		margin: 0;
	}
	.contactIcon {
		padding-left: 35px;
	}
	.contactIcon:after {
		width: 30px;
		height: 30px;
		top: -4px;
	}
	#footerLegals .wrapper {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#footerLegals_text,
	#footerLegals_byline {
		flex: 0 1 auto;
		width: 48%;
		margin: 0;
	}
	#footerLegals_byline {
		text-align: right;
	}
	.pageBanner h1 {
		font-size: 2em;
	}
	.twoColumnText,
	.twoColumnText.greyBg {
		padding: 60px 0;
	}
	.twoColumnText .wrapper {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.twoColumnText_col1,
	.twoColumnText_col2 {
		flex: 0 1 auto;
		width: 50%;
	}
	.twoColumnText_col1 {
		text-align: center;
	}
	.quoteStrip {
		padding: 60px;
	}
	.quoteStrip_actions {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.quoteStrip_text,
	.quoteStrip_button {
		flex: 0 1 auto;
		align-self: center;
	}
	.quoteStrip_text {
		margin: 0;
		width: calc(100% - 130px);
		font-size: 1.2em;
	}
	.contactChannels {
		width: 400px;
	}
	.contactChannels .wrapper {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.contactChannels .contactIcon {
		flex: 0 1 auto;
		width: 48%;
	}
	.contactChannels .contactIcon_email {
		width: 40%;
	}
	.galleryTabs .wrapper {
		width: 50%;
		padding-top: 30px;
	}
	.galleryTab {
		font-size: 1.2em;
	}
	.galleryImages {
		padding-bottom: 30px;
	}
	.galleryImages .wrapper {
		justify-content: flex-start;
	}
	.galleryImages a {
		width: 32%;
		margin-right: 2%;
	}
	.galleryImages a:nth-child(3n) {
		margin-right: 0;
	}
}

@media screen and (min-width: 1024px) {
	h2 {
		font-size: 2.4em;
	}
	#container {
		padding-top: 130px;
	}
	#iconMenu {
		display:none;
	}
	header {
		height: 130px;
		padding: 0;
	}
	#logo {
		width: 220px;
		margin-top: 36px;
	}
	#headernav {
		display: block;
		top: 0px;
		background: none;
		padding: 0;
		width: calc(90% - 240px);
		left: inherit;
		right: 2.5%;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		border: none;
	}
	#nav_main,
	#nav_contact {
		margin: 0;
		padding: 0;
		flex: 0 1 auto;
	}
	#nav_main {
		width: 70%;
	}
	#nav_contact {
		width: auto;
		text-align: right;
		padding-top: 46px;
	}
	#headernav li {
		display: inline-block;
		padding: 0;
		margin: 0;
	}
	#nav_main li {
		margin-right: 0px;
		position: relative
	}
	#nav_main ul {
		display: none;
		position: absolute;
		left: 0;
		top: 130px;
		width: 325px;
		padding: 10px 0 10px 10px;
		background: var(--black);
	}
	/* turns the sub menu on */
	#nav_main li:hover ul {
		display: block;
	}
	/* turns the parent rollover on */
	#nav_main :hover > a {
		color: var(--orange);
	}
	#headernav #nav_main a {
		padding: 0 20px;
		height: 130px;
		line-height: 130px;
		position: relative;
	}
	#headernav .active a {
		font-weight: 400;
	}
	#headernav .active a:before,
	#headernav #nav_main a:hover:before,
	#nav_main :hover > a:before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 12px;
		background: var(--orange);
	}
	#headernav #nav_main li li {
		display: block;
	}
	#headernav #nav_main li li a {
		padding: 5px;
		height: auto;
		line-height: normal;
		color: #fff;
	}
	#headernav #nav_main li li a:hover {
		color: var(--orange);
	}
	#headernav #nav_main li li a:before,
	#headernav #nav_main li li a:hover:before {
		content: none;
	}
	#headernav .nav_socials {
		float: left;
		margin-right: 18px;
	}
	#headernav #nav_phone {
		padding-left: 40px;
	}
	.heroSlider_text {
		width: 70%;
	}
	.heroSlider_text h1 {
		font-size: 46px;
	}
	.heroSlider_text p {
		font-size: 24px;
	}
	.serviceCard {
		aspect-ratio: 1/1;
	}
	.serviceCard_icon {
		width: 80px;
	}
	.serviceCard a:after {
		right: 16px;
		bottom: 16px;
		width: 16px;
		height: 16px;
	}
	.oneColumn h2:after {
		margin-top: 0.5em;
	}
	.contactStrip_text {
		font-size: 1.6em;
	}
	.pageBanner {
		padding: 50px 0;
	}
	.pageBanner h1 {
		font-size: 2.6em;
	}
	.quoteStrip_actions {
		max-width: 650px;
		margin: 0 auto;
	}
	.quoteStrip_text {
		margin: 0;
		width: calc(100% - 180px);
		font-size: 1.2em;
	}
	.contactChannels {
		padding-bottom: 16px;
	}
	.galleryTab {
		font-size: 1.4em;
	}
	.galleryImages {
		padding-bottom: 40px;
	}
	.galleryImages a,
	.galleryImages a:nth-child(3n) {
		width: 24%;
		margin: 0 0.7% 1.33% 0.7%;
	}
	/*.galleryImages a:nth-child(4n) {
		margin-right: 0;
		
	}*/
}

@media screen and (min-width: 1248px) {
	header .wrapper {
		position: relative;
	}
	#headernav {
		top: -36px;
	}
	.heroSlider_text h1 {
		font-size: 56px;
	}
	.heroSlider_text p {
		font-size: 24px;
	}
	.serviceCard {
		padding: 32px;
	}
	.serviceCard_icon {
		width: 100px;
		margin-bottom: 1em;
	}
	.serviceCard_title {
		font-size: 1.3em;
	}
	.serviceCard_desc {
		font-size: 1em;
	}
	.serviceCard a:after {
		right: 16px;
		bottom: 16px;
		width: 20px;
		height: 20px;
	}
	.numberPoint {
		width: 46%;
	}
	.numberPoint_num {
		font-size: 60px;
		margin-top: -15px;
	}
	.numberPoint_text {
		width: calc(100% - 58px);
	}
	.numberPoint_text h3 {
		margin-bottom: 0.25em;
		font-size: 1.4em;
		line-height: 1;
	}
	.contactStrip_text {
		font-size: 1.8em;
	}
	footer {
		padding: 40px 0;
	}
	#footerCol2, 
	#footerCol3 {
		width: 20%;
		padding-top: 20px;
	}
	.oneColumn.greyBg,
	.twoColumnText.greyBg {
		padding: 90px 0;
	}
	.oneColumn,
	.twoColumnText {
		padding: 70px 0;
	}
	.pageBanner {
		padding: 80px 0;
	}
	.pageBanner h1 {
		font-size: 3em;
	}
	.iconPoints {
		padding: 0 0 60px 0;
	}
	.iconPoint {
		margin-bottom: 40px;
	}
	.iconPoint_icon {
		width: 100px;
	}
	.iconPoint_text {
		width: calc(100% - 120px);
	}
	.iconPoint h3 {
		font-size: 1.6em;
	}
	.quoteStrip {
		padding: 90px 0;
	}
	.contactChannels {
		margin-top: -40px;
		padding-bottom: 50px;
	}
	.galleryTabs .wrapper {
		width: 40%;
	}
	.galleryTab {
		font-size: 1.8em;
	}
	.galleryImages a,
	.galleryImages a:nth-child(3n),
	.galleryImages a:nth-child(4n) {
		width: 19%;
		/*margin-right: 1.25%;*/
		margin-bottom: 1.25%;
	}
	/*.galleryImages a:nth-child(5n) {
		margin-right: 0;
	}*/
	.numberPoint {
		margin-bottom: 50px;
	}
}







/* 15.VENDOR-SPECIFIC */

::-webkit-selection { 
background: rgb(23,119,175); 
color: rgb(250,250,250); 
text-shadow: none; }

::-moz-selection { 
background: rgb(23,119,175); 
color: rgb(250,250,250); 
text-shadow: none; }

::selection { 
background: rgb(23,119,175); 
color: rgb(250,250,250); 
text-shadow: none; }

input {
	-webkit-appearance: none;
}

/* How to stop Apple from making links blue: */
a[x-apple-data-detectors] {
color: inherit !important;
text-decoration: none !important;
font-size: inherit !important;
font-family: inherit !important;
font-weight: inherit !important;
line-height: inherit !important;
}


div,
input,
textarea  { 
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box; }