/*
 Theme Name:   LPSL
 Theme URI:    https://www.sypo.uk
 Description:  LPSL Standard Theme
 Author:       Mark Syred, Graham Robinson
 Author URI:   https://www.sypo.uk
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  lpsl
*/

/*--------------------------------------------------------------
## FONTS
--------------------------------------------------------------*/

@font-face {
	font-family: 'Sora-Regular';
	src: url(Sora-Regular.eot);
	src: url(fonts/sora/Sora-Regular.eot?#iefix) format('embedded-opentype'),
		 url(fonts/sora/Sora-Regular.ttf) format('truetype'),
		 url(fonts/sora/Sora-Regular.woff2) format('woff2'),
		 url(fonts/sora/Sora-Regular.woff) format('woff'),
		 url(fonts/sora/Sora-Regular.svg#Sora-Regular) format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Sora-Medium';
	src: url(fonts/sora/Sora-Medium.eot);
	src: url(fonts/sora/Sora-Medium.eot?#iefix) format('embedded-opentype'),
		 url(fonts/sora/Sora-Medium.ttf) format('truetype'),
		 url(fonts/sora/Sora-Medium.woff2) format('woff2'),
		 url(fonts/sora/Sora-Medium.woff) format('woff'),
		 url(fonts/sora/Sora-Medium.svg#Sora-Medium) format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Sora-SemiBold';
	src: url(fonts/sora/Sora-SemiBold.eot);
	src: url(fonts/sora/Sora-SemiBold.eot?#iefix) format('embedded-opentype'),
		 url(fonts/sora/Sora-SemiBold.ttf) format('truetype'),
		 url(fonts/sora/Sora-SemiBold.woff2) format('woff2'),
		 url(fonts/sora/Sora-SemiBold.woff) format('woff'),
		 url(fonts/sora/Sora-SemiBold.svg#Sora-SemiBold) format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Sora-Bold';
	src: url(fonts/sora/Sora-Bold.eot);
	src: url(fonts/sora/Sora-Bold.eot?#iefix) format('embedded-opentype'),
		 url(fonts/sora/Sora-Bold.ttf) format('truetype'),
		 url(fonts/sora/Sora-Bold.woff2) format('woff2'),
		 url(fonts/sora/Sora-Bold.woff) format('woff'),
		 url(fonts/sora/Sora-Bold.svg#Sora-Bold) format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/*--------------------------------------------------------------
## HEADER
--------------------------------------------------------------*/
.site-header {
	width: 100%;
	background: #ffe200;
	border-bottom: 1px solid #666;
}
.site-header .container.main-content {
	height: 150px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.site-header .container {
	position: relative;
	height: 100%;
}
.site-header .contact-info-banner {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #000;
}
.site-header .contact-info-banner .contents {
	width: 100%;
	max-width: 1200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5em;
	padding: 0;
	color: #fff;
}
.site-header .contact-info-banner .contents div {
	display: flex;
	align-items: center;
	gap: 1.5em;
}
.site-header .contact-info-banner .contents p {
	margin: 0;
}
.site-header .contact-info-banner .contents p i {
	margin-right: 10px;
}
.site-header .contact-info-banner .contents p a {
	color: #fff;
}
.site-header .contact-info-banner .contents p a:hover {
	color: #ffe200;
}
.site-header .contact-info-banner .contents .header-button {
	height: 48px;
	width: auto;
}
.site-header .contact-info-banner .contents .header-button a {
	display: block;
	width: auto;
	line-height: 48px;
	padding: 0 12px;
	color: #000;
	background: #fff;
	transition: 0.3s;
}
.site-header .contact-info-banner .contents .header-button a:focus,
.site-header .contact-info-banner .contents .header-button a:hover,
.site-header .contact-info-banner .contents .header-button a:active {
	opacity: 0.9;
}
.site-header .site-branding {
	max-height: 140px;
	width: auto;
}
.site-header .site-branding a {
	display: block;
	width: 100%;
	height: 100%;
}
.site-header .site-branding a img {
	max-height: 140px;
	width: auto;
}
.site-header .menu-main-menu-container {
	flex-grow: 1;
	display: flex;
	justify-content: end;
	height: 64px;
}
.site-header .menu-main-menu-container .menu {
	display: flex;
	gap: 1.5em;
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: center;
}
.site-header .menu-main-menu-container .menu li {
	display: flex;
	justify-content: center;
	height: 100%;
 }
.site-header .menu-main-menu-container .menu li a {
	color: #000;
	display: flex;
	height: 100%;
	align-items: center;
	transition: 0.3s;
}
.site-header .menu-main-menu-container .menu li a:hover {
	transition: 0.3s;
}
.site-header .menu-main-menu-container .menu .current_page_item a {
	color: #000;
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
}
.site-header .menu-main-menu-container .menu a img {
	margin-left: 4px;
}
.site-header .menu-main-menu-container .menu .menu-item-has-children {
	position: relative;
}
.site-header .menu .menu-item-has-children .sub-menu {
	position: absolute;
	top: 100%;
	list-style: none;
	transition: 0.3s opacity ease-in-out;
	border: 1px solid #ffe200;
	width: 243px;
	left: -9999em;
	margin: 0;
	opacity: 0;
	z-index: 2;
}
.site-header .menu .menu-item-has-children:hover .sub-menu {
	left: 0;
	opacity: 1;
}
.site-header .menu .menu-item-has-children .sub-menu li {
	display: block;
}
.site-header .menu .menu-item-has-children .sub-menu li a {
	padding: 10px;
	transition: opacity 0.3s;
	background: #fff;
	font-weight: normal;
	font-family: 'Sora-Regular', Arial, Helvetica, sans-serif;
}
.site-header .menu .menu-item-has-children .sub-menu .current_page_item a {
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
}
.site-header .menu .menu-item-has-children .sub-menu li a:focus,
.site-header .menu .menu-item-has-children .sub-menu li a:hover,
.site-header .menu .menu-item-has-children .sub-menu li a:active {
	transition: 0.3s;
	background: #000;
	color: #fff;
}
@media screen and (max-width: 1200px) {
	.site-header .contact-info-banner .contents {
		padding: 0 5%;
	}
}
@media screen and (max-width: 1200px) and (min-width: 782px) {
	.site-header .container.main-content {
		padding: 0 5%;
	}
	.site-header .menu-main-menu-container .menu {
		gap: 14px;
		font-size: 14px;
	}
}
@media screen and (max-width: 830px) and (min-width: 782px) {
	.site-header .site-branding,
	.site-header .site-branding a img {
		max-height: 16.867vw;
	}
}
@media screen and (min-width: 782px) {
	.site-header .site-branding #toggle-bar,
	.site-header .site-branding #toggle-bar a {
		display: none;
	}
	.site-header .menu-main-menu-container .menu li a {
		position: relative;
	}
	.site-header .menu-main-menu-container .menu li a:before {
		position: absolute;
		bottom: 0;
		content: '';
		width: 0;
		height: 2px;
		background: #000;		
	}
	.site-header .menu-main-menu-container .menu li a:hover:before {
		transition: 0.3s;
		width: 100%;
	}
	.site-header .menu-main-menu-container .menu li a:after {
		position: absolute;
		bottom: 0;
		content: '';
		width: 0;
		height: 2px;
		background: #000;
		right: 0;
		transition: 0.3s;	
	}
	.site-header .menu-main-menu-container .menu li a:hover:after {
		transition: 0.3s;
		width: 100%;
		transition-delay: 0.3s;
	}
	.site-header .menu-main-menu-container .menu .sub-menu li a:before,
	.site-header .menu-main-menu-container .menu .sub-menu li a:after {
		display: none;
	}
}
@media screen and (max-width: 781px) {
	.site-header {
		height: auto;
	}
	.site-header .contact-info-banner .contents .contactus {
		flex-direction: column;
		padding: 0.75rem 0;
		gap: 0.5rem;
		align-items: revert;
	}
	.site-header .contact-info-banner .contents .contactus p {
		text-align: left;
	}
	.site-header .contact-info-banner .contents .contactus p.email {
		display: none;
	}
	.site-header .contact-info-banner .contents .contactus p i.fa {
		font-size: 1.1em;
		margin: 0 8px 0 0;
	}
	.site-header .site-branding {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100% !important;
		padding: 0 5%;
	}
	.site-header .site-branding a {
		max-width: 75% !important;
	}
	#toggle-bar {
		display: block;
		height: 40px;
		width: 100%;
		position: relative;
	}
	#toggle-bar a.right {
		position: absolute;
		top: 8px;
		display: block;
		height: 24px;
		line-height: 24px;
		border-radius: 4px;
		text-align: center;
		color: #000;
		padding: 0;
		right: 0;
		width: 26px;
		font-size: 24px;
		transition: 0.3s;
	}
	#toggle-bar a:hover {
		background: none;
		color: #555;
	}
	.site-header .main-content {
		flex-direction: column;
		display: flex;
		height: unset !important;
	}
	.site-header .menu-main-menu-container {
		height: unset;
		width: 100%;
	}
	.site-header .menu-main-menu-container #primary-menu {
		border-top: 1px solid black;
	}
	.site-header .menu-main-menu-container .menu {
		flex-direction: column;
		width: 100%;
		gap: 0;
	}
	.site-header .menu-main-menu-container .menu > .menu-item {
		width: 100%;
		border-bottom: 1px solid #00000029;
	}
	.site-header .menu-main-menu-container .menu .menu-item a {
		width: 100%;
		justify-content: center;
		padding: 0.7rem 0;
	}
	.site-header .menu-main-menu-container .menu .menu-item-has-children {
		display: flex;
		flex-direction: column;
	}
	.site-header .menu .menu-item-has-children .sub-menu {
		position: relative;
		top: unset;
		left: unset;
		width: unset;
		display: none;
		margin-top: .25em;
		border: none;
		opacity: 1;
	}
	.site-header .menu-main-menu-container .menu .sub-menu li {
		height: unset !important;
	}
	.site-header .menu .menu-item-has-children a span.dwn {
		display: block;
		width: 20px;
		background: #ffe200;
		position: relative;
		height: 180%;
	}
	.site-header .menu .menu-item-has-children a span.dwn:before {
		content: '';
		position: absolute;
		top: 25%;
		right: 1px;
		background: #ffe200;
		rotate: 45deg;
		width: 12px;
		height: 12px;
		border: 1px solid #000;
		border-width: 0 1px 1px 0;
		transition: 0s;
	}
	.site-header .menu .menu-item-has-children a span.dwn.up:before {
		border-width: 1px 0 0 1px;
		top: 45%;
	}
	.site-header .menu-main-menu-container .menu .menu-item-has-children a {
		gap: 0.25em;
	}
	.site-header .menu .menu-item-has-children .sub-menu li a {
		border-bottom: 1px solid #00000029;
	}
	.site-header .menu .menu-item-has-children .sub-menu li:last-of-type a {
		border-bottom: none;
	}
	.site-header .menu-main-menu-container .menu li a {
		height: unset !important;
	}
}
@media screen and (max-width: 479px) {
	.site-header .contact-info-banner .contents {
		padding: 0 0 0 5%;
	}
	.site-header .contact-info-banner .contents .header-button a {
		padding: 0 5vw;
	}
}
@media screen and (max-width: 374px) {
	.site-header .contact-info-banner .contents .contactus p.phone {
		font-size: 1px;
		visibility: hidden;
	}
}

/*--------------------------------------------------------------
## FOOTER
--------------------------------------------------------------*/
.site-footer {
	width: 100%;
	background: #353233;
	display: flex;
	align-items: center;
	flex-direction: column;
}
.site-footer .footercontsone {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 3.5fr 2fr 1fr;
	gap: 2em;
	padding: 36px 0 48px;
}
.site-footer .footercontsone .footer-widget h2 {
	color: #ffe100;
}
.site-footer .footercontsone .footer-widget p {
	color: #f3f3f2;
}
.site-footer .footercontsone .footer-widget .gw-pm__content {
	display: block;
}
.site-footer .footercontsone .footer-widget .gw-pm__content li {
	margin: 0 0 1em;
}
.site-footer .footercontsone .footer-widget .gw-pm__content li a {
	padding: 0;
	transition: 0.3s;
}
.site-footer .footercontsone .footer-widget .gw-pm__content li a:link,
.site-footer .footercontsone .footer-widget a:link,
.site-footer .footercontsone .footer-widget .gw-pm__content li a:visited,
.site-footer .footercontsone .footer-widget a:visited {
	color: #fff;
}

.site-footer .footercontsone .footer-widget .gw-pm__content li a:focus,
.site-footer .footercontsone .footer-widget a:focus,
.site-footer .footercontsone .footer-widget .gw-pm__content li a:hover,
.site-footer .footercontsone .footer-widget a:hover,
.site-footer .footercontsone .footer-widget .gw-pm__content li a:active,
.site-footer .footercontsone .footer-widget a:active {
	color: #ffe100;
}

.site-footer .footercontsone .footer-widget h2 a:link, .site-footer .footercontsone .footer-widget h2 a:visited {
	color: #ffe100;
}
.site-footer .footercontsone .footer-widget h2 a:focus, .site-footer .footercontsone .footer-widget h2 a:hover, .site-footer .footercontsone .footer-widget h2 a:active {
	color: #fff;
}
.site-footer .footercontsone .footer-widget p.footersocials a {
	margin: 0 10px 0 0;
}
.site-footer .footercontstwo {
	width: 100%;
	display: flex;
	justify-content: center;
	background: #000;
}
.site-footer .footercontstwo .copyright {
	display: flex;
	justify-content: space-between;
	padding: 24px 0;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.site-footer .footercontstwo .copyright p {
	margin: 0;
	color: #fff;
	font-size: .9rem;
}
.site-footer .footercontstwo .copyright a:link,
.site-footer .footercontstwo .copyright a:visited {
	color: #fff;
}

.site-footer .footercontstwo .copyright a:focus,
.site-footer .footercontstwo .copyright a:hover,
.site-footer .footercontstwo .copyright a:active {
	color: #ffe100;
}
@media screen and (max-width: 1200px) {
	.site-footer .footercontsone {
		padding: 36px 5% 48px;
		grid-auto-columns: 3fr 1.5fr 1fr;
	}
	.site-footer .footercontstwo .copyright {
		padding: 24px 5%;
	}
}
@media screen and (max-width: 1024px) {
	.site-footer .footercontsone {
		grid-auto-columns: 3fr 2fr 1.5fr;
	}
}
@media screen and (max-width: 781px) {
	.site-footer .footercontsone {
		gap: 1em 0;
		grid-auto-flow: row;
	}
	.site-footer .footercontsone .footer-widget {
		text-align: center;
	}
	.site-footer .footercontsone .footer-widget .gw-pm-item__link {
		display: block;
	}
	.site-footer .footercontstwo .copyright {
		flex-direction: column;
		gap: 1em;
	}
	.site-footer .footercontstwo .copyright p {
		text-align: center;
	}
	.site-footer .footercontsone .footer-widget p.footersocials a:last-of-type {
		margin: 0;
	}
}

/*--------------------------------------------------------------
## TESTIMONIALS
--------------------------------------------------------------*/

/*----------------------
## Homepage
----------------------*/
body #content {
	overflow-x: hidden;
}
#content .testimonial-slider {
	padding: 96px 48px 48px;
	background: #353233;
	position: relative;
}
#content .testimonial-slider:before {
	position: absolute;
	content: 'Testimonials';
	color: #ffe100;
	width: 100%;
	top: 34px;
	left: 0;
	text-align: center;
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
	font-weight: normal;
	font-size: 1.6em;
}
#content .testimonial-slider:after {
	position: absolute;
	left: -30vw;
	top: 0;
	content: '';
	width: 400rem;
	height: 100%;
	background: #353233;
	z-index: -1;
}
#content .testimonial-slider p {
	text-align: center;
	color: #f3f3f2;
}
#content .testimonial-slider .testimonial-content {
	padding: 0 0 36px;
}
#content .testimonial-slider .readmore {
	display: flex;
	justify-content: center;
}
#content .testimonial-slider .readmore a {
	border-radius: 4px;
	padding: 12px 26px;
	transition: 0.3s;
	border: 1px solid #ffe100;
}
#content .testimonial-slider .readmore a:link,
#content .testimonial-slider .readmore a:visited {
	background: #ffe100;
	color: #353233;
}
#content .testimonial-slider .readmore a:focus,
#content .testimonial-slider .readmore a:hover,
#content .testimonial-slider .readmore a:active {
	background: #353233;
	color: #ffe100;
}
#content .strong-view.pager-style-buttons .wpmslider-pager-link:before {
	mask: none;
	width: 16px;
	height: 16px;
	border-radius: 8px;
	border: 1px solid #f3f3f2;
	background: #353233;
	transition: 0.3s;
}
#content .strong-view.pager-style-buttons .wpmslider-pager-link.active:before {
	background: #f3f3f2;
	transition: 0.3s;
}
#content .strong-view.pager-style-buttons .wpmslider-pager-link:hover:before {
	background: #ffe100;
	transition: 0.3s;
}
#content .strong-view.pager-style-buttons .wpmslider-pager-link.active:hover:before {
	background: #9f9d9d;
	transition: 0.3s;
}
/*----------------------
## Testimonials page
----------------------*/
#content .testimonials-page .wpmtst-testimonial {
	border: 1px solid #aba9a9;
	background: #e6e6e6;
	margin: 0 0 24px;
	padding: 72px 36px 36px;
	position: relative;
}
#content .testimonials-page .wpmtst-testimonial:before {
	position: absolute;
	content: "\f10d";
	font: normal normal normal 48px/1 FontAwesome;
	color: #aba9a9;
	top: 24px;
	left: 0;
	width: 100%;
	text-align: center;
}
#content .testimonials-page .wpmtst-testimonial .testimonial-content p {
	margin: 1.5em 0 0;
	text-align: center;
	color: #231f20;
}

/*--------------------------------------------------------------
## POSTS
--------------------------------------------------------------*/

.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}
.posts-navigation .nav-previous a,
.post-navigation .nav-previous a {
	position: relative;
	padding: 0 0 0 30px;
}
.posts-navigation .nav-previous a:before,
.post-navigation .nav-previous a:before {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	content:'<<';
	left: 0;
}
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}
.posts-navigation .nav-next a,
.post-navigation .nav-next a {
	position: relative;
	padding: 0 30px 0 0;
}
.posts-navigation .nav-next a:before,
.post-navigation .nav-next a:before {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	content:'>>';
	right: 0;
}

/*--------------------------------------------------------------
## MISC
--------------------------------------------------------------*/

@media screen and (max-width: 781px) {
	body #page .wp-block-columns.fourimg {
		justify-content: center;
		display: inline-flex;
	}
	body #page .wp-block-columns.fourimg>.wp-block-column {
		flex-basis: unset !important;
		display: flex;
		flex-grow: 0;
	}
}

* {margin: 0;
}
body, h1, h2, h3, h4, h5, h6, p, blockquote, label, fieldset, ul, ol, dl, li, object, table, th, tr, td  {
	padding: 0;
}
body {
	font: 100%/1.3 'Sora-Regular', Arial, Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	color: #000;
	background-color: #fff;
}

#page *,
#page *:before,
#page *:after {
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}
img {
	border:none;
	vertical-align: bottom;
	height: auto;
	max-width: 100%;
}
h1 {
	font-size: 2em;
	color: #374e86;
	margin-bottom: .5em;
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
	font-weight: normal;
}
h2 {
	font-size: 1.6em;
	color: #374e86;
	margin-bottom: .5em;
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
	font-weight: normal;
}
h3 {
	font-size: 1.2em;
	color: #374e86;
	margin-bottom: .5em;
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
	font-weight: normal;
}
h4 {
	font-size: 1em;
	color: #000;
	margin-bottom: .5em;
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
	font-weight: normal;
}
p, ul, ol, .wp-block-table {
	font-size: 1em;
	margin-bottom: 1em;
}
ul, ol {
	margin-left: 2em;
}
ul ul {
	margin-bottom: 0;
}
a {
	text-decoration: none;
	word-wrap: break-word;
	transition: 0.3s;
}
a:link {
	color: #374e86;
}
a:visited {
	color: #374e86;
}
a:focus {
	color: #ffe100;
}
a:hover {
	color: #ffe100;
}
a:active {
	color: #ffe100;
}
svg:not(:root) {
	overflow: hidden;
}
table {
	display: table;
	table-layout: fixed;
	max-width: 100%;
}
[hidden],
template {
	display: none;
}
b, strong, th {
	font-family: 'Sora-SemiBold', Arial, Helvetica, sans-serif;
	font-weight: normal;
}
/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
#main p.othercontact {
	margin: 2em 0 0;
}
input::-webkit-input-placeholder {
	font: 100%/1.3 'Sora-Regular', Arial, Helvetica, sans-serif;
}
input:-ms-input-placeholder {
	font: 100%/1.3 'Sora-Regular', Arial, Helvetica, sans-serif;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
select,
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
	font: 100%/1.3 'Sora-Regular', Arial, Helvetica, sans-serif;
}
#main input[type="text"],
#main input[type="email"],
#main input[type="url"],
#main input[type="password"],
#main input[type="search"],
#main input[type="tel"],
select,
#main textarea {
	display: block;
	width: 100%;
}
#main label {
	display: block;
	width: 100%;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
select,
textarea:focus {
	color: #111;
}
textarea {
	padding-left: 3px;
	width: 100%;
}
input[type='submit'] {
	box-shadow: none;
	background: #353233;
	color: #fff;
	border: none;
	height: 3em;
	font: 100%/1.3 'Sora-Regular', Arial, Helvetica, sans-serif;
}
input[type='submit']:hover {
	background: #898989;
	transition: .25s ease-in-out;
	cursor: pointer;
}
input[type='submit']#place_order {
	height: 35px;
}
.woocommerce input[type='submit'].button {
	height: 35px;
}
#main form.search-form label {
	max-width: -webkit-calc(100% - 70px);
	max-width: -o-calc(100% - 70px);
	max-width: -ms-calc(100% - 70px);
	max-width: -moz-calc(100% - 70px);
	max-width: calc(100% - 70px);
	display: inline-block;
}
#main form.search-form label input {
	max-width: 100%;
}
#main form.search-form input[type='submit'] {
	float: right;
}
form.wpcf7-form .form-entries {
	display: flex;
}
form.wpcf7-form .form-entries p {
	display: flex;
	flex-direction: column;
	gap: 1em;
	width: 65%;
}
form.wpcf7-form .form-entries p input, form.wpcf7-form .form-entries p textarea, form.wpcf7-form .form-entries p select {
	padding: 1em;
	background-color: #fff;
}
form.wpcf7-form .form-entries p .wpcf7-not-valid-tip {
	padding: .3em 0 0;
}
form.wpcf7-form .form-bottom {
	width: 100%;
}
form.wpcf7-form .form-bottom p {
	display: flex;
	flex-direction: column;
}
form.wpcf7-form .form-bottom p input {
	width: 200px;
}
.wpcf7 form .wpcf7-response-output {
	margin: 1em 0 0;
}
/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}
/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}
.aligncenter {
	clear: both;
	margin-left: auto;
	margin-right: auto;
}
img.aligncenter {
	display: block;
}
/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear {
	clear: both;
}
/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 24px;
}

.widget select {
	max-width: 100%;
}
.widget:last-child {
	margin-bottom: 0;
}
.widget li:last-child {
	margin-bottom: 0;
}
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.slidercont {
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: 27.062532%
}
.slidercont ol.flex-control-nav {
	bottom: 40px;
}
.strong-view .wpmslider-pager-link {
	margin: 0 5px !important;
}
.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.container:after {
	display: table;
	content: '';
	clear: both;
}
.site-content {
	width: 100%;
}
.content-area {
	padding: 2.4rem 0 3.75rem;
	overflow: hidden;
}
.content-area p {
	line-height: 1.4;
}
.site-main {
	width: 100%;
}
.widget-area {
	float: right;
	width: 30%;
}
.page-id-9 .site-main {
	float: left;
	width: 48%;
}
.page-id-9 .widget-area {
	float: right;
	width: 48%;
}
.page-id-9 aside.widget-area {
	position: relative;
	height: 630px;
}
.page-id-9 aside.widget-area .googlemap {
	position: absolute;
	top: 0;
	left: 0;
	height: 630px;
	width: 100%;
}
.page-id-9 aside.widget-area .googlemap .overlay {
	background: transparent;
	position: relative;
	top: 630px;
	height: 630px;
	margin-top: -630px;
	z-index: 20;
}
.page-id-9 aside.widget-area .textwidget {
	width: 100%;
	height: 100%;
}
.page-id-9 aside.widget-area .googlemap iframe {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
}
.cart-links {
	position: absolute;
	top: 12px;
	right: 130px;
}
.cart-contents {
	width: auto;
	display: block;
	height: 100%;
}
.cart-contents:before {
	font-family: 'FontAwesome';
	content: '\f07a';
	font-size: 28px;
	margin-top: 10px;
	font-style: normal;
	font-weight: 400;
	padding-right: 5px;
	position: relative;
	top: -2px;
}
.cart-contents:hover {
	text-decoration: none;
}
.cart-contents-count {
	color: #fff;
	background-color: #00f;
	font-weight: bold;
	border-radius: 10px;
	padding: 1px 6px;
	line-height: 1;
	font-family: Arial, Helvetica, sans-serif;
	position: relative;
	top: -6px;
}
.cart-contents-cost {
	position: relative;
	top: -4px;
}
.cart-links:hover .cart-contents-count {
	background: #f00;
}
#toTop {
	position: fixed;
	bottom: 78px;
	right: 0;
	display: none;
	height: 50px;
	width: 60px;
	z-index: 50;
}
.wp-block-columns-is-layout-flex {
	margin-bottom: 2rem;
}
.page-banner {
	margin: -2.4rem 0 2.4rem;
}
.wp-block-columns-is-layout-flex.lastelement {
	margin-bottom: 0;
}
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.attachment-featured-small,
.attachment-featured-large {
	margin:0 0 1em;
}
.single .attachment-featured-small,
.single .attachment-featured-large {
	margin:0 0 2em;
}
.sticky {
	display: block;
}
.blog .hentry {
	padding: 0 0 1em;
	border-bottom:1px solid #aaa;
}
.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}
.blog .hentry img.attachment-featured-small,
.archive .hentry img.attachment-featured-small {
	padding: 0 2em 0 0;
	float: left;
	transition: 0.2s;
}
.blog .hentry img.attachment-featured-small:hover,
.archive .hentry img.attachment-featured-small:hover {
	opacity: 0.8;
	filter: grayscale(80%);
	transition: 0.2s;
}
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
.entry-meta {
	margin: 1em 0;
}
.entry-footer {
	margin: 1em 0 0;
}
.page-id-22 form.wpcf7-form .form-entries p {
	width: 100%;
}
.page-id-41 .wp-block-column {
	background-color: #f4f4f4;
}
.page-id-41 .wp-block-column.noimage {
	background-color: #fff;
}
.page-id-41 .wp-block-column .wp-block-image {
	margin-bottom: 1rem;
}
.page-id-41 .wp-block-column p.has-text-align-center {
	color: #666;
	font-size: .9rem;
}
.page-id-24 .entry-content .wp-block-group {
	padding: 2rem 0;
	border-bottom: 1px solid #ffe200;
}
.page-id-24 .entry-content .wp-block-group:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.page-id-24 .entry-content .wp-block-group figure {
	margin-bottom: 1rem;
}
form.wpcf7-form .form-entries span[data-name="quoterequiredfor"] select {
	min-height: 240px;
}
form.wpcf7-form .wpcf7-checkbox span.wpcf7-list-item {
	display: block;
	margin: 0 0 0.25em;
}
form.wpcf7-form .wpcf7-checkbox span.wpcf7-list-item .wpcf7-list-item-label {
	margin: 0 0 0 0.25em;
}
.sitemap li {
	line-height: 1.5;
}
.wp-element-caption {
	text-align: center;
	font-size: .9rem;
}
.page-id-342 .wp-block-table table {
	background-color: #f4f4f4;
}
.page-id-342 .wp-block-table thead {
	border-bottom: none;
}
.page-id-342 .wp-block-table thead th {
	background-color: #000;
	color: #ffe200;
}
.page-id-342 .wp-block-table td, .page-id-342 .wp-block-table th {
	border: 1px solid #ccc;
	font-size: .95rem;
}
.home .content-area {
	padding-top: 0;
}
.home .content-area h1.wp-block-heading {
	margin: 2.4rem 0 0;
}
.home .intro-paragraph {
	padding: 2rem;
}
.home .our-services-heading {
	margin-bottom: 1.5rem;
}
.home .appbuttons {
	margin: 50px 0 0;
}
.home .appbuttons figure img {
	max-height: 350px;
	width: auto;
}
.home .appbuttons .wp-block-image .alignleft {
	margin: 0;
}
.home .wp-container-core-buttons-is-layout-2 > .wp-block-button.wp-block-button__width-100 {
	max-width: 250px;
}
.home .wp-block-buttons > .wp-block-button.wp-block-button__width-100 a:hover {
	background-color: #353233 !important;
}
.home .wp-container-core-columns-is-layout-3 .wp-container-core-buttons-is-layout-2 {
	gap: 2rem;
	margin-top: 60px;
}
.home .entry-footer {
	margin-top: 0;
}
.home .wp-container-core-columns-is-layout-3.wp-block-columns-is-layout-flex {
	margin-bottom: 0;
}
.page-id-378 .wp-block-button {
	margin-top: 1rem;
}
@media screen and (min-width: 782px) and (max-width: 1024px) {
	body.home h3.wp-block-heading.has-text-align-center {
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}
.no-results input.search-field {
	width: 50%;
}
.error-404 .fourohfour {
	width: 200px;
	height: auto;
	display: block;
	margin: 10px auto;
}
.error-404 .pfour{
	text-align: center;
}
@media screen and (max-width: 1200px) {
	.site-main {
		padding: 0 5%;
	}
	.home .wp-block-buttons.is-content-justification-left.wp-container-core-buttons-is-layout-1 {
		margin-left: 0;
	}
}
@media screen and (max-width: 781px) {
	.slidercont ol.flex-control-nav {
		display: none;
	}
	body #page .wp-block-image.banner-image {
		margin: 0 -5vw;
		/* padding: 1em calc(5vw + 1em); */
	}
	.content-area {
		padding: 1.25rempx 0;
	}
	.page-banner {
		margin: -1.25remrem 0 1.25rem;
	}
	label,
	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	textarea {
		display: block;
		width: 100%;
	}
	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="submit"],
	textarea {
		-webkit-appearance: none;
		appearance: none;
	}
	.widget-area form.search-form label {
		max-width: -webkit-calc(100% - 70px);
		max-width: -o-calc(100% - 70px);
		max-width: -ms-calc(100% - 70px);
		max-width: -moz-calc(100% - 70px);
		max-width: calc(100% - 70px);
		display: inline-block;
	}
	.widget-area form.search-form input[type='submit'] {
		float: right;
	}
	.widget-area {
		float: none;
		width: 100%;
		border-top: 1px solid #aaa;
		padding: 20px 0;
		margin: 20px 0 0;
	}
	.page-id-9 .site-main {
		float: none;
		width: 100%;
	}
	.page-id-9 .widget-area {
		float: none;
		width: 100%;
	}
	form.wpcf7-form .form-entries p {
		width: 100%;
	}
	.home .wp-container-core-columns-is-layout-3 .wp-container-core-buttons-is-layout-2 {
		gap: 1rem;
		flex-direction: column;
		flex-wrap: wrap;
		margin-top: 45px;
	}
	.home .intro-paragraph {
		padding: 2rem 0;
	}
	.home .appbuttons > div:first-child {
		order: 2;
		display: flex;
		justify-content: center;
	}
}

.contact-bottom {
	margin:1em 10vw;
}
