
:root {
    --primary: #298ce4;
    --primary-light: #3f9df0;
    --primary-alt: #2277c2;
    --secondary: #62656c;
    --primary-rgb: 41,140,228;
	
    --grey: #585859;
    --dark-grey: #494949;
    --body-grey: #414141;
    --light-grey: #b8b8b8;

    --off-white: #f5f4f0;
    --off-white-rgb: 245,244,240;
    --off-white-darker: #ececec;
    --off-white-darker-rgb: 236,236,236;

    --body-font: 'Montserrat', sans-serif;
	

}

/* ***************************************************** */
/* GENERAL */
/* ***************************************************** */

body { font-family: var(--body-font); font-size: 13px; line-height: 1.5; min-width: 330px; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 { font-family: var(--body-font); font-weight: 700; color: var(--primary); line-height: 1.2; margin-bottom: 0.7em; }

h1, .h1 { font-size: 3em; }
h2, .h2 { font-size: 2.5em; }
h3, .h3 { font-size: 2.2em; }
h4, .h4 { font-size: 1.9em; }
h5, .h5 { font-size: 1.5em; }
h6, .h6 { font-size: 1.2em; }

a { color: var(--primary); }
a:hover { color: var(--dark-grey); }
a:focus { outline: none; }

hr { margin-top: 2em; margin-bottom: 2em; }

.lead { font-size: 1.3em; }

.text-body { color: var(--body-grey); }
.text-grey { color: var(--grey); }

.bg-primary { background-color: var(--primary) !important; }
.bg-grey { background-color: var(--grey) !important; }
.bg-dark-grey { background-color: var(--dark-grey) !important; }
.bg-light-grey { background-color: var(--light-grey) !important; }
.bg-off-white { background-color: var(--off-white) !important; }


.widget { margin-bottom: 2rem; }
.widget .widget-title { margin-bottom: 0.1em; }

.page-link { color: var(--primary); }
.page-link:hover { color: var(--primary-alt); }
.page-item.active .page-link { background-color: var(--primary); border-color: var(--primary); }

.bg-center-cover { background-size: cover; background-position: 50%; background-repeat: no-repeat; }

.clonebreak {
	-webkit-box-decoration-break: clone;
	-ms-box-decoration-break: clone;
	-o-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* Buttons */
.btn-primary { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { color: #fff; background-color: var(--primary-alt); border-color: var(--primary-alt); }
.btn-primary:not(:disabled):not(.disabled).active, 
.btn-primary:not(:disabled):not(.disabled):active, 
.show > .btn-primary.dropdown-toggle { color: #fff; background-color: var(--primary-alt); border-color: var(--primary-alt); }
.btn-primary:not(:disabled):not(.disabled).active:focus, 
.btn-primary:not(:disabled):not(.disabled):active:focus, 
.show > .btn-primary.dropdown-toggle:focus,
.btn-primary.focus, .btn-primary:focus { -webkit-box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb),.5); box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb),.5); }


@media (min-width: 992px) {
	body { font-size: 15px; }
}
@media (min-width: 1400px) {
	.container { max-width: 1340px; }
}

/* MAX */
@media (max-width: 991.98px) {
	.container { max-width: 100%; }
}



/* ***************************************************** */
/* HEADER */
/* ***************************************************** */

.navbar-brand img { width: 150px; }

.header-phone a { color: #fff; text-align: center; display: inline-block; font-weight: 600; text-transform: uppercase; line-height: 1.3; }
.header-phone a:hover { text-decoration: none; color: var(--primary-light); }
.header-phone a span { color: var(--light-grey); font-size: 0.9em; }

.header-social ul { text-align: right; font-size: 1.2em; }
.header-social ul a { color: #fff; }
.header-social ul a:hover { text-decoration: none; color: var(--primary-light); }

.navbar { position: initial; }
.navbar.scrolled { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; }

.navbar-nav a { color: var(--light-grey); font-weight: 600; }
.navbar-nav a:hover,
.navbar-nav a:focus,
.navbar-nav li.show > a,
ul.navbar-nav > li.menu-item.active > a,
.dropdown-menu .active .dropdown-item { color: var(--primary-light); }
ul.navbar-nav > li.menu-item a.nav-link,
ul.navbar-nav > li.menu-item a.dropdown-item { padding-right: 1.2em; padding-left: 1.2em; }

.dropdown-menu { font-size: inherit; background-color: var(--grey); margin: 0; border: none; border-radius: 0; }
.dropdown-menu .dropdown-item { background-color: transparent; }

@media (min-width: 576px) {
    .navbar-brand img { width: 190px; }
}
@media (min-width: 768px) {
    .navbar-brand img { width: 240px; }
}
@media (min-width: 992px) {
    .navbar-nav .dropdown-toggle:after { display: none; }
    ul.navbar-nav > li.menu-item a.nav-link { padding-top: 12px; padding-bottom: 12px; }
}

/* MAX */
@media (max-width: 991.98px) {
	
	body.nav-is-visible { overflow: hidden; }
	
	.navbar,
	.headerSocial { padding-right: 15px; padding-left: 15px; }

    .navbar { background-image: url('../images/peter-allen-text-sml-lightgrey-min.png'); background-size: auto 50%; background-repeat: no-repeat; background-position: 15px -100px;
        -webkit-transition: background-position 0.5s;
		-moz-transition: background-position 0.5s;
		transition: background-position 0.5s;
    }
    .navbar.scrolled { background-position: 15px 50%; 
        -webkit-transition: background-position 1s;
		-moz-transition: background-position 1s;
		transition: background-position 1s;
    }
    .navbar a.mobileHomeLink { position: absolute; left: 15px; top: 0; width: 128px; height: 0; }
    .navbar.scrolled a.mobileHomeLink { height: 100%; }

	.navbar-expand .mainNavbar .navbar-nav .dropdown-menu { position: relative; }
	.navbar-dark .mainNavbar .navbar-nav .menu-item:not(.show) .nav-link.dropdown-toggle:focus { color: #fff; }
	
	.navbar-expand .mainNavbar .navbar-collapse { overflow-y: scroll; height: 100vh; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; }
	
	.logoBox,
	.headerSocial > div,
	.navApply { position: relative; z-index: 50; }
	
	.navbar-nav a { color: #fff; font-size: 1.15em; }
	
	/* -------------------------------- 
	Slide out menu
	-------------------------------- */
	.navCover { z-index: 30; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0,0,0,0);
		-webkit-transform: translateZ(0);
		-moz-transform: translateZ(0);
		-ms-transform: translateZ(0);
		-o-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
		-webkit-transition: background-color 0.4s;
		-moz-transition: background-color 0.4s;
		transition: background-color 0.4s;
	}
	.navCover.nav-is-visible {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
		background-color: rgba(0,0,0,0.5);
	}

	.mainNavbar {
		padding: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 400px;
		height: 100%;
		min-height: 100vh;
		background: var(--dark-grey);
		box-shadow: 4px 4px 20px transparent;
		z-index: 40;
		/* Force Hardware Acceleration in WebKit */
		-webkit-transform: translateZ(0);
		-moz-transform: translateZ(0);
		-ms-transform: translateZ(0);
		-o-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
		-webkit-transition: -webkit-transform 0.3s, box-shadow 0.3s;
		-moz-transition: -moz-transform 0.3s, box-shadow 0.3s;
		transition: transform 0.3s, box-shadow 0.3s;
	}
	.mainNavbar.nav-is-visible {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
		box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.2);
	}
	.mainNavbar.nav-is-visible .cd-close { opacity: 1; }
	
	.navbar-expand .navbar-nav .nav-link,
	.dropdown-item { padding-right: 25px; padding-left: 25px; }
	.navbar-nav .dropdown-menu { padding-bottom: 5px; }

	.navicon-button {
		display: inline-block;
		position: relative;
		z-index: 50;
		padding: 15px 10px;
		-webkit-transition: 0.25s;
		-moz-transition: 0.25s;
		transition: 0.25s;
		cursor: pointer;
		user-select: none;
	}
	.navicon-button .navicon:before, .navicon-button .navicon:after {
		-webkit-transition: 0.25s;
		-moz-transition: 0.25s;
		transition: 0.25s;
	}
	.navicon-button:hover {
		-webkit-transition: 0.5s;
		-moz-transition: 0.5s;
		transition: 0.5s;
	}
	.navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after {
		-webkit-transition: 0.25s;
		-moz-transition: 0.25s;
		transition: 0.25s;
	}
	.navicon-button:hover .navicon:before { top: 12px; }
	.navicon-button:hover .navicon:after { top: -12px; }
	.navicon {
		position: relative;
		width: 35px;
		height: 3px;
		background: #fff;
		font-size: 16px;
		-webkit-transition: 0.5s;
		-moz-transition: 0.5s;
		transition: 0.5s;
	}
	.navicon:before, .navicon:after {
		display: block;
		content: "";
		height: 3px;
		width: 35px;
		background: #fff;
		position: absolute;
		z-index: -1;
		-webkit-transition: 0.5s 0.25s;
		-moz-transition: 0.5s 0.25s;
		transition: 0.5s 0.25s;
	}
	.navicon:before { top: 10px; }
	.navicon:after { top: -10px; }
	
	.fhb-dark .navicon,
	.fhb-dark .navicon:before,
	.fhb-dark .navicon:after { background: #fff; }

	.nav-is-visible:not(.steps) .navicon:before,
	.nav-is-visible:not(.steps) .navicon:after {
		top: 0 !important;
	}

	.nav-is-visible .navicon:before,
	.nav-is-visible .navicon:after {
		background: #fff;
		-webkit-transition: 0.5s;
		-moz-transition: 0.5s;
		transition: 0.5s;
	}
	.nav-is-visible .navicon { background: transparent; }
	.nav-is-visible .navicon:before {	  
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.nav-is-visible .navicon:after {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	/* navbar updates */
	.navbar-expand .navbar-nav {  
		padding: 15px 0;
		width: 100%;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

}
@media (max-width: 575.98px) {
	.mainNavbar { width: -moz-calc(100% - 75px); width: -webkit-calc(100% - 75px); width: -o-calc(100% - 75px); width: calc(100% - 75px); }
}

/* Sticky Nav */
@media (min-width: 992px) {
	.fixed-menu #wrapper-navbar { position: fixed; top: 0; width: 100%; background-color: #fff; z-index: 50; transform: translate(0,-100%); }
	.fixed-menu { margin-top:150px; }
	.fixed-menu #wrapper-navbar nav { padding:0 !important; } 
	.fixed-menu #wrapper-navbar nav .logoBox { transform: scale(0.7); } 
	.fixed-menu #wrapper-navbar nav .navbar-nav,
	.fixed-menu #wrapper-navbar nav .navApply .btn { font-size:1em; } 
	.fixed-menu #wrapper-navbar #navbarNavDropdown,
	.fixed-menu #wrapper-navbar #navbarNavDropdown .navApply { padding-top: 0; }
	.fixed-menu #wrapper-navbar.slideDown { transform: translate(0,0);transition: transform linear 0.2s; }	
	.fixed-menu #wrapper-navbar .logoBox > span,
	.fixed-menu #wrapper-navbar .navbar-nav > li > a { color: #333; }	
}


/* ***************************************************** */
/* FOOTER */
/* ***************************************************** */

.site-footer { padding-top: 60px; padding-bottom: 60px; }

.footerShop { color: var(--light-grey); font-weight: 600; }
.footerShopName { text-transform: uppercase; font-size: 1.1em; margin-bottom: 2em; }
.footerShop .textwidget { font-size: 0.9em; }

.footer-brand img { width: 230px; }

@media (min-width: 1200px) {
    .site-footer { padding-left: 45px; padding-right: 60px; }
}
@media (min-width: 1400px) {
    .site-footer { padding-left: 105px; padding-right: 120px; }
}

/* MAX */
@media (max-width: 767.98px) {
    .site-footer .footerShop:first-of-type { text-align: right; }
}


/* ***************************************************** */
/* GENERAL */
/* ***************************************************** */

.wrapper { padding: 0; }
.content-area { padding-top: 30px; padding-bottom: 30px; }
.right-sidebar { padding-top: 30px; padding-bottom: 30px; background-color: var(--off-white-darker); }

.pa-seperator { width: 80%; height: 1px; margin: 32px auto; background-color: var(--light-grey); position: relative; }
.pa-seperator:after { content: ""; position: absolute; top: 50%; left: 50%; width: 144px; height: 34px; margin: -18px 0 0 -72px; border: 5px solid #fff; background: url('../images/peter-allen-text-sml-blue-min.png') 50% 50% no-repeat #fff; background-size: contain; }

@media (min-width: 1200px) {
    .content-area { padding-left: 60px; padding-right: 60px; }
}
@media (min-width: 1400px) {
    .content-area { padding-left: 120px; padding-right: 120px; }
}


/* ***************************************************** */
/* SLICK SLIDER */
/* ***************************************************** */

/* Slick Slider Dots */
.slick-dots { position: absolute; bottom: 10px; display: block; width: 100%; padding: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-active button { background-color: var(--primary); }
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; border-radius: 50%; border: 0; outline: none; }
.slick-dots li button:before { font-size: 18px; color: #fff; opacity: 1; }


/* ***************************************************** */
/* HOMEPAGE */
/* ***************************************************** */

/* Home Hero Slider */
.hero-slider { overflow: hidden; position: relative; }
.hero { position: relative; height: 600px; max-height: 70vh; opacity: 0; overflow-y: hidden; }
.hero.slick-initialized { opacity: 1; }
.hero .hero-slide img { width: 100%; height: 600px; max-height: 70vh;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
.hero .hero-slide .header-content { text-align: center; width: 100%; padding: 15px; margin: 0 auto; top: 0; bottom: 8px;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.slide-content { padding: 10px 20px 10px 0; }
.slide-content h2 { background-color: rgba(255,255,255,0.7); padding: 8px 15px; font-size: 25px; line-height: 1.3; }
.slide-content p { background-color: rgba(255,255,255,0.7); padding: 8px 15px; color: var(--body-grey); font-weight: 600; font-size: 16px; line-height: 1.4; margin-bottom: 0; }

/* Hero Slider Progress */
.slider-progress { width: 100%; height: 8px; background-color: rgba(255,255,255,0.3); position: absolute; bottom: 0; left: 0; right: 0; overflow: hidden; }
.slider-progress .progress { width: 0%; height: 8px; background-color: var(--primary); position: absolute; border-radius: 0; }

/* Hero Slider Text Animation */
@-webkit-keyframes fadeInUpSD {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}
@keyframes fadeInUpSD {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}
.hero-slider .slick-active .slide-content { opacity: 1;
    -webkit-animation-name: fadeInUpSD;
    animation-name: fadeInUpSD;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
}

@media (min-width: 576px) {
    .hero .hero-slide .header-content { text-align: left; padding: 2rem; }
    .slide-content h2 { background-color: transparent; padding: 0; font-size: 34px; line-height: 52px; }
    .slide-content h2 span { background-color: rgba(255,255,255,0.7); padding: 5px 20px; }
    .slide-content p { background-color: transparent; padding: 0; font-size: 16px; line-height: 25px; }
    .slide-content p span { background-color: rgba(255,255,255,0.7); padding: 3px 20px; }
}
@media (min-width: 768px) {
    .hero .hero-slide .header-content { margin-left: 4rem; }
    
    .slide-content p { font-size: 18px; line-height: 28px; }
}
@media (min-width: 992px) {
    .hero .hero-slide .header-content { margin-left: 6rem; }
    .slide-content h2 { font-size: 40px; line-height: 59px; }
}
@media (min-width: 1200px) {
    .hero .hero-slide .header-content { margin-left: 8rem; }
}

/* Logo Carousel */
.logoCarousel { max-height: 60px; opacity: 0; overflow-y: hidden; }
.logoCarousel.slick-initialized { opacity: 1; }
.logoCarousel img { max-height: 40px; width: auto; margin: 10px 15px; }
@media (min-width: 576px) {
    .logoCarousel { max-height: 75px; }
    .logoCarousel img { max-height: 50px; margin: 10px 20px; }
}
@media (min-width: 768px) {
    .logoCarousel { max-height: 80px; }
    .logoCarousel img { max-height: 60px; margin: 10px 30px; }
}

/* Home Text Over Image */
@media (min-width: 768px) {
    .home .text-over-image { padding: 25px 0; }
    .home .text-over-image a .toi-heading { margin-bottom: 2.4em; }
}

/* Home Image Boxes */
.home-image-box { min-height: 26vh; margin-bottom: 12px; position: relative; }
.home-image-box a { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.hib-1 img { width: 220px; }
.hib-2 { margin-right: 6px; }
.hib-3 { margin-left: 6px; }
@media (min-width: 576px) {
    .home-image-box { min-height: 35vh; }
    .hib-1 { margin-right: 6px; }
    .hib-1 img { width: 270px; }
    .hib-2 { margin-right: 0; margin-left: 6px; }
    .hib-3 { margin-left: 0; }
}
@media (min-width: 768px) {
    .hib-1 { margin-right: 8px; }
    .hib-2 { margin-right: 4px; margin-left: 4px; }
    .hib-3 { margin-left: 8px; }
}

/* Home Categories */
.home-cats { background-color: var(--off-white-darker); height: 30vh; margin-bottom: 4px; margin-top: 4px; position: relative; overflow: hidden; }
.home-cats a { color: var(--body-grey); position: relative; }
.home-cats a:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: inherit; 
    transition:All 0.5s ease;
    -webkit-transition:All 0.5s ease;
    -moz-transition:All 0.5s ease;
    -o-transition:All 0.5s ease;
}
.home-cats a:hover { text-decoration: none; color: var(--primary-alt); }
.home-cats a:hover:before { 
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
}
.home-cats a span { position: relative; background-color: #fff; margin: auto 20px 20px 0; display: block; padding: 10px 25px; font-weight: 600; }
@media (min-width: 576px) {
    .home-cats.home-cat-1 { height: 40vh; }
    .home-cat-2 { margin-right: 4px; }
    .home-cat-3 { margin-left: 4px; }
    .home-cat-4 { margin-right: 4px; }
    .home-cat-5 { margin-left: 4px; }
}
@media (min-width: 768px) {
    .home-cats { height: 35vh; font-size: 1.1em; }
    .home-cats.home-cat-1,
    .home-cats.home-cat-2 { height: 45vh; }
    .home-cat-1 { margin-right: 4px; }
    .home-cat-2 { margin-left: 4px; margin-right: 0; }
    .home-cat-3 { margin-left: 0; margin-right: 6px; }
    .home-cat-4 { margin-left: 2px; margin-right: 2px; }
    .home-cat-5 { margin-left: 6px; }
}
@media (min-width: 1200px) {
    .home-cats { height: 40vh; }
    .home-cats.home-cat-1,
    .home-cats.home-cat-2 { height: 55vh; }
}



/* ***************************************************** */
/* REPEATING */
/* ***************************************************** */

/* Text Over Image */
.widget-text_over_image,
.right-text_over_image { background-color: var(--off-white); }
.left-text_over_image { background-color: var(--off-white-darker); }
.text-over-image { position: relative; background-size: cover; background-position: 50%; background-color: inherit; }
.text-over-image:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 70%; background: inherit; }
.text-over-image:after { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 80%; 
    background: -moz-linear-gradient(left,  rgba(var(--off-white-rgb),1) 0%, rgba(var(--off-white-rgb),1) 50%, rgba(var(--off-white-rgb),0) 100%);
    background: -webkit-linear-gradient(left,  rgba(var(--off-white-rgb),1) 0%,rgba(var(--off-white-rgb),1) 50%,rgba(var(--off-white-rgb),0) 100%);
    background: linear-gradient(to right,  rgba(var(--off-white-rgb),1) 0%,rgba(var(--off-white-rgb),1) 50%,rgba(var(--off-white-rgb),0) 100%);
}
.left-text_over_image .text-over-image:after { 
    background: -moz-linear-gradient(left,  rgba(var(--off-white-darker-rgb),1) 0%, rgba(var(--off-white-darker-rgb),1) 50%, rgba(var(--off-white-darker-rgb),0) 100%);
    background: -webkit-linear-gradient(left,  rgba(var(--off-white-darker-rgb),1) 0%,rgba(var(--off-white-darker-rgb),1) 50%,rgba(var(--off-white-darker-rgb),0) 100%);
    background: linear-gradient(to right,  rgba(var(--off-white-darker-rgb),1) 0%,rgba(var(--off-white-darker-rgb),1) 50%,rgba(var(--off-white-darker-rgb),0) 100%);
}
.text-over-image a { position: relative; z-index: 1; padding: 50px 5%; color: var(--body-grey); }
.text-over-image a:hover { text-decoration: none; }
.text-over-image a > span { display: block; max-width: 55%; }
.text-over-image a .toi-heading { font-weight: 600; font-size: 1.5em; line-height: 1.3; margin-bottom: 1.7em; }
.text-over-image a .toi-link { margin-top: auto; font-size: 1.1em; }
.text-over-image a .toi-link > span { position: relative; display: inline-block; }
.text-over-image a .toi-link > span >span { position: absolute; right: -60px; top: 50%; margin-top: -20px; }
.text-over-image a .toi-link .arrow-icon { width: 40px; height: 40px; }
.text-over-image a .toi-link .arrow-icon g { stroke: var(--body-grey); }
.text-over-image a:hover .toi-link .arrow-icon g { stroke: var(--primary); fill: var(--off-white); fill-opacity: 0.4; }

/* Page Boxes - varient of 'Text Over Image' */
.pageboxes .text-over-image a { min-height: 30vh; }
.pageboxes .text-over-image a .toi-heading { margin-bottom: 15px; }
.pageboxes .text-over-image a .toi-link { margin-top: 0; }
.pageboxes .text-over-image a .toi-link > span > span { position: initial; margin: 0; }
.pageboxes .text-over-image:before { width: 100%; }
.pageboxes .text-over-image:after {
    background: -moz-linear-gradient(left,  rgba(var(--off-white-rgb),0.9) 0%, rgba(var(--off-white-rgb),0.85) 50%, rgba(var(--off-white-rgb),0) 100%);
    background: -webkit-linear-gradient(left,  rgba(var(--off-white-rgb),0.9) 0%,rgba(var(--off-white-rgb),0.85) 50%,rgba(var(--off-white-rgb),0) 100%);
    background: linear-gradient(to right,  rgba(var(--off-white-rgb),0.9) 0%,rgba(var(--off-white-rgb),0.85) 50%,rgba(var(--off-white-rgb),0) 100%);
}
@media (min-width: 992px) {
    .pageboxes .text-over-image a { padding: 65px 5%; }
}


/* Sidebar Button */
.sidebar-button a { background-color: var(--primary); color: #fff; padding: 15px 20px; }
.sidebar-button a:hover { text-decoration: none; background-color: var(--primary-alt); }
.sidebar-button a span { display: block; }
.sidebar-button .sb-svg { width: 50px; background-color: #fff; position: relative; -webkit-border-radius: 50px; -moz-border-radius: 50px; border-radius: 50px; }
.sidebar-button a:hover .sb-svg { background-color: var(--primary-light); }
.sidebar-button .sb-svg:after { content: ""; display: block; padding-bottom: 100%; }
.sidebar-button .sb-svg .svg { position: absolute; width: 100%; height: 100%; }
.sidebar-button .sb-svg .svg g { stroke: var(--primary); }
.sidebar-button a:hover .sb-svg .svg g { stroke: #fff; }
.sidebar-button .sb-text { font-size: 1.2em; font-weight: 600; }


/* ACF Guttenberg Block - Brand Logos */
.brandLogos > div { max-width: 33%; }
@media (min-width: 576px) {
    .brandLogos > div { max-width: 25%; }
}
@media (min-width: 768px) {
    .brandLogos > div { max-width: 20%; }
}


/* ***************************************************** */
/* CONTACT FORM 7 */
/* ***************************************************** */

.wpcf7 { max-width: 800px; }
.wpcf7 input[type="submit"] { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.wpcf7 input:hover[type="submit"] { color: #fff; background-color: var(--primary-alt); border-color: var(--primary-alt); }
.btn-outline-primary:not(:disabled):not(.disabled).active:focus, .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-primary.dropdown-toggle:focus, .wpcf7 .show > input.dropdown-toggle:focus[type="submit"], .wpcf7 input:not(:disabled):not(.disabled).active:focus[type="submit"], .wpcf7 input:not(:disabled):not(.disabled):active:focus[type="submit"]
    { -webkit-box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb),.5); box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb),.5); }
.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show > .btn-outline-primary.dropdown-toggle, .wpcf7 .show > input.dropdown-toggle[type="submit"], .wpcf7 input:not(:disabled):not(.disabled).active[type="submit"], .wpcf7 input:not(:disabled):not(.disabled):active[type="submit"]
    { color: #fff; background-color: var(--primary-light); border-color: var(--primary-light); }
.form-control:focus, .wpcf7 .wpcf7-validation-errors:focus, .wpcf7 input:focus[type="color"], .wpcf7 input:focus[type="date"], .wpcf7 input:focus[type="datetime-local"], .wpcf7 input:focus[type="datetime"], .wpcf7 input:focus[type="email"], .wpcf7 input:focus[type="file"], .wpcf7 input:focus[type="month"], .wpcf7 input:focus[type="number"], .wpcf7 input:focus[type="range"], .wpcf7 input:focus[type="search"], .wpcf7 input:focus[type="submit"], .wpcf7 input:focus[type="tel"], .wpcf7 input:focus[type="text"], .wpcf7 input:focus[type="time"], .wpcf7 input:focus[type="url"], .wpcf7 input:focus[type="week"], .wpcf7 select:focus, .wpcf7 textarea:focus
    { border-color: var(--primary-light); -webkit-box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb),.25); box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb),.25); }