/*
Theme Name: Toast
Description: Lightweight, tasty and totally awesome.
Author: The Toast Development Team
Date: Octover 2022
Version: 13.7
Theme URI: http://www.toastwebsites.co.uk
Author URI: http://www.toastdesign.co.uk
Text Domain: toast
*/

#gform_wrapper_2 h2 {
    margin-bottom: 1rem;
    color: var(--brand-1);
}

#gform_wrapper_2 .gform-body.gform_body {
   
    margin-bottom: 4rem !important;
}

.companyname {
	color: #fff; }

	.banner-slider { font-size: 1.5rem; }
.text-shadow .cursive { text-shadow: 0 0.5rem 0.5rem rgba(0,0,0,.8); }

.slick-slide { -webkit-transform: translate3d(0,0,0); }

.post-social:after {content: "";
    width: 80%;
    height: 0.3rem;
    background: var(--brand-2);
    display: block;
    margin: 0 auto 3rem ;
}


.post-social .social-icons a {
    margin: 1rem 1rem .5rem 0rem;
}
body.archive h1 { font-size: 4.5rem; margin-bottom: 1rem;}
body.archive h2 { font-size: 2rem; margin-bottom: 1rem;}

.has-border { position: relative; }
.has-border:before { content: ""; display: block; position: absolute; top: 3rem; left: 30%; right: 30%; background: #fff; height: .5rem; }

/* Top of page slider */
.banner-slider{position: relative;background: var(--brand-1);z-index:9999;text-transform:uppercase;padding:10px 60px;text-align:center;}
.banner-slider .slick-arrow{width:20px;height:20px;background-image:url('/wp-content/themes/toast/assets/images/chevron.svg');border:none;font-size:0;position:absolute;top:50%;transform:translateY(-50%);background-size:cover;background-position:center;background-color:transparent;cursor: pointer;}
.banner-slider .slick-arrow.slick-prev{left:20px;transform:translatey(-50%) rotate(180deg);}
.banner-slider .slick-arrow.slick-next{right:20px;}

/* Base Styles */
html { font-size: 62.5%; }
body{font-size: 2rem;line-height: 1.6;font-family: 'Cabin', Arial, Helvetica;font-weight: 400;color: var(--text-color);margin: 0;padding: 0; }
#page:after { content:" "; display: block; clear: both; }
#gform_wrapper_2 {
    color: #fff;
    background: var(--brand-3);
    padding: 4rem;
    box-sizing: border-box;
    margin: 7rem 0;
    text-align: center;
}
#gform_wrapper_2 h2 + p { margin-top: 1rem; }
#gform_wrapper_2 h2 { margin-bottom: 1rem; }
#gform_wrapper_2 p { margin-bottom: 2rem; }
/* Home video */
.home-video { height:75vh;}

/* Header */
.site-header{position: relative;z-index:9999;background:#ffffff;}
.site-header .grid{grid-template-columns:24rem 1fr;align-items:center;}
.site-header.has-site-banner { margin-top: 5rem; /* Adds margin to the site header if the site banner is switched on in Theme Options */ }
.fixed-header .site-header{position:fixed;top:0;left:0;width:100%;}

/* Navbar & Menus */
.top-nav {font-size: 1.75rem;text-align: right;}
.top-nav ul { margin: 0 auto; padding: 0rem;}
.top-nav li { display: inline-block; margin: 0;padding:0; position: relative;}
.top-nav li a { display: inline-block; padding: 3.5rem 1rem;line-height: 1; color:var(--brand-3); /*text-transform: uppercase;*/ }
.top-nav li:hover > a, .top-nav li.current-menu-item a { color:var(--brand-2); }

/* Submenus Dropdowns*/
.top-nav .sub-menu{ position: absolute;padding: 0;bottom:0;left: 0; white-space: nowrap; background: var(--brand-2);text-align: left;z-index:5;opacity:0;pointer-events:none;transition:all .5s;transform:translatey(100%);}
.top-nav .sub-menu .sub-menu{position: absolute;top:0;right:0;transform:translatex(100%);white-space:nowrap;background: var(--brand-2); text-align: left; z-index:10; }
.top-nav .sub-menu li{ display: block; margin: 0;  }
.top-nav .sub-menu li a{ padding: 1rem; display: block; margin: 0;color:#ffffff;}
.top-nav li:hover > .sub-menu{opacity: 1;pointer-events:all;}

/* Mobile Menu */

.site-header .mobile-menu, .site-header .mobile-nav{display:none;}
/* Sort the hovers on the dropdowns 16/06/23 DF */
.top-nav li ul.sub-menu li  a { background: var(--brand-2); color:#fff;}
.top-nav li ul.sub-menu li  a:hover { background: var(--brand-1); color:#fff;}

/* Typography & Lists */
h1, h2, h3, h4, h5, h6 { margin-top: 0; font-weight: 500; line-height: 1.2; margin: 0 0 0 0;}
h1 { font-size: 7.25rem; font-family: Arima, serif; text-shadow: 0rem 1rem 1rem rgba(0,0,0,.5); }
h1 + p { margin-top: 4rem; }
h2 { font-size: 5rem; }
h2 + p { margin-top: 3.5rem; }
h3 { font-size: 3.5rem; margin-bottom: 3rem; }
h4 { font-size: 3rem; margin-bottom: 2.5rem; }
h5 { font-size: 2.75rem; margin-bottom: 2rem; }
h6 { font-size: 2.5rem; margin-bottom: 1.75rem; }
/* NEVER add top margins or padding to headings */

p { margin:0;margin-bottom:1.5rem; }

ul { margin:0; padding-left: 2rem; list-style: disc outside; }
li { margin:0;margin-bottom:1rem; }

blockquote { padding: 0 0 0 6rem; border-left: 3rem solid var(--brand-1); margin: 0; }
blockquote p { font-size: 4rem; line-height: 1.1; }
blockquote p:last-of-type { margin-bottom: 0; }
blockquote + h3, ul + h4 { margin-top: 6rem; }
p + blockquote, blockquote + p, blockquote + h2, blockquote + h3, blockquote + h3, blockquote + h4 { margin-top: 4rem; }

/* Elements following paragraphs and other shiznit. Dave obsesses about this as he is from a print background, but it is required - this is subtle typography that adjusts margins based on sizes */

p + h1 { margin-top: 6rem; }
p + h2 { margin-top: 4rem; margin-bottom: 2rem; }
p + h3 { margin-top: 3rem; margin-bottom: 1.5rem; }
p + h4 { margin-top: 2.75rem; margin-bottom: 1.25rem; }
p + h5 { margin-top: 2.75rem; margin-bottom: 1rem; }
p + h6 { margin-top: 2.75rem; margin-bottom: 0.75rem; }
p + ul { margin-top: 4rem;}
p + ul + p { margin-top: 4rem;}
p > a.button { margin-top: 2rem; }
table + p { margin-top: 3rem;}
ol + h3 { margin-top: 4rem; }
ul{margin:0; padding-left: 2rem; list-style: disc outside; }
li.select2-results__option { margin-bottom: 0; }
ul + h3 { margin-top: 6rem;}
p + picture { margin-top: 6rem;} 
p + img { margin-top: 4rem; }
img + p { margin-top: 4rem; }
picture + p, picture + h4, h4 + picture, picture + h3, ul + picture { margin-top: 6rem; }
picture { display: block; }
p + .embed-wrap { margin-top: 6rem; }
.embed-wrap + p, .embed-wrap + h3 { margin-top: 6rem; }
.content + a.button { margin-top: 2rem; }
.uppercase, .uc { text-transform: uppercase; }
/*Buttons */
a.button, input[type="submit"], input.gform_button {  font-size: inherit; text-transform: uppercase; background: var(--brand-2); padding:0.5rem 2rem;color:#ffffff;display:inline-block;  text-decoration: none; position: relative;  }
a.button:before, input[type="submit"]::before, input.gform_button:before { position: absolute; content: ""; top: -6px; bottom: -6px; left: -6px; right: -6px;  border: 3px solid var(--brand-2); }
.blue-button a.button:before { position: absolute; content: ""; top: -6px; bottom: -6px; left: -6px; right: -6px; bottom: -6px; border: 3px solid var(--brand-3); }
a.button:hover { background: var(--brand-3); color: #fff; }
a.button:hover:before { border: 3px solid var(--brand-3); }
.blue-button a.button:hover:before { border: 3px solid var(--brand-1); }
.blue-button a.button { background: var(--brand-3); }
.blue-button a.button:hover { background: var(--brand-1); }
a.button.tac { margin-left: auto; margin-right: auto; }

/* Archive pages */
.archive-tile-content { /*padding-bottom: 10rem;*/}
.archive-tile-content a.button { position: absolute; bottom: 3rem; left: 3rem; }
.archive-tile { position: relative; }

/*Links*/
a { text-decoration: none; color: var(--brand-2); }
a:hover { text-decoration: none; color: var(--brand-3); }
p a { text-decoration:none;color:var(--brand-2); }
p a:hover { text-decoration:none;color:var(--brand-3); }
ul li a { text-decoration: none; }
.has-background p a { color: inherit; text-decoration: underline; }
/*Footer*/
.custom-html-widget a:hover { text-decoration: underline; color: #fff; }
.site-footer { position: relative;color:#ffffff;background:#00253e;text-align:center;}
.site-footer .grid{grid-template-columns:1fr 1fr 1fr;/*row-gap:50px;*/; grid-gap: 2rem; }
.site-footer:before { content: ""; display: block;  position: absolute; top: 3rem; left: 3rem; right: 3rem; background: var(--brand-2); height: .5rem; }
.site-footer a{color:#ffffff;}
.site-footer .footer-menu h6{color:var(--brand-1);font-size:3.5rem;margin-bottom:0.5rem;font-family:Arima, serif;line-height:2;}
.site-footer .logo{margin-bottom:2rem;display:inline-block;max-width:7rem;}
.footer-main .address { margin-bottom: 2rem; }

.social-icons a{width:5rem;height:5rem; background: #fff; color:var(--brand-3);display:inline-block;position:relative;border-radius:100rem; margin: 1rem 1rem 2rem 0rem; }
.social-icons a img, .social-icons a svg{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);}

.post-social .social-icons a{background:var(--brand-1);}
.post-social .social-icons a svg path{fill:#ffffff;}

/**Footer Widgets**/
.footer-widget-title, footer h3.cursive { font-size: 3.5rem; margin-bottom: 0.5rem; font-family: Arima, serif;line-height: 2; color: var(--brand-1);}
.site-footer ul { padding: 0; margin: 0; list-style: none; }
.site-footer ul li { margin: 0; padding: 0; }
.site-footer ul li a { display: block;}

/* Sub footer */
.footer-sub-wrapper, .footer-sub-wrapper li { font-size: 1.5rem;}
.footer-sub-wrapper {padding:2rem 0; border-top: 1px solid var(--brand-1);color:transparent; background: var(--brand-3); margin-top: -2rem;}
.footer-sub-wrapper .bottom-menu ul { text-align: right; }
.footer-sub-wrapper .bottom-menu ul li { display: inline-block;}
.footer-sub-wrapper .bottom-menu ul li a { display: inline-block; padding: 0 1rem; }

/*Forms*/
input, textarea, select { width:100%;outline:none;font-family:inherit;border:2px solid #ffffff; padding: .5rem;background:transparent;color:#ffffff !important;text-align:center;font-size:2.25rem !important;line-height:1 !important;}
input::placeholder, textarea::placeholder, select::placeholder{color:#ffffff;}
input[type="submit"] {  position: relative; }

.gform_footer{padding:0 !important;position: relative;margin:10px 4px !important;}
.gform_footer input{margin:0 !important;border:none;padding:1.25rem;font-size:2rem;letter-spacing:2px;font-weight:bold;}
.gform_footer:before { position: absolute; content: ""; top: -6px; bottom: -6px; left: -6px; right: -6px; bottom: -6px; border: 3px solid var(--brand-2); }

textarea {  border-radius: 2rem; }
input[type=text], input[type=tel], input[type=email] {  border-radius: 5rem; }

input[type='checkbox'], input[type='radio'] { width: auto; height: auto; }

/* Gravity Forms */
body .gform_wrapper.gravity-theme input[type=color], body .gform_wrapper.gravity-theme input[type=date], body .gform_wrapper.gravity-theme input[type=datetime-local], body .gform_wrapper.gravity-theme input[type=datetime], body .gform_wrapper.gravity-theme input[type=email], body .gform_wrapper.gravity-theme input[type=month], body .gform_wrapper.gravity-theme input[type=number], body .gform_wrapper.gravity-theme input[type=password], body .gform_wrapper.gravity-theme input[type=search], body .gform_wrapper.gravity-theme input[type=tel], body .gform_wrapper.gravity-theme input[type=text], body .gform_wrapper.gravity-theme input[type=time], body .gform_wrapper.gravity-theme input[type=url], body .gform_wrapper.gravity-theme input[type=week], body .gform_wrapper.gravity-theme select, body .gform_wrapper.gravity-theme textarea { font-size: inherit; margin-bottom: 0; margin-top: 0; padding: 1rem; color: var(--brand-2); }

body .gform_wrapper.gravity-theme .gfield_label { font-size: 1.75rem; }
body .gform_wrapper.gravity-theme .gfield_checkbox label, body .gform_wrapper.gravity-theme .gfield_radio label { display: inline-block; font-size: inherit;}
body .gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 2rem; }
h3.gsection_title { margin-bottom: 0; margin-top: 3rem; font-size: 2.25rem; font-weight: 600; color: var(--brand-1); }

/* Search */

.search-form input.search-field { padding: 1rem; height: auto; font-family: inherit; font-size: 2rem; }
input.search-submit { padding: 1rem; display: block; width: 99.5%; margin-top: 1rem; color: #fff; }
input.search-submit:hover { background-color: var(--brand-2); }
footer input.search-submit:hover { background-color: var(--brand-3); color: var(--brand-2); }




/**Back to top**/
.toast-back-to-top{position:fixed;bottom:2rem;right:2rem;background:var(--brand-1);width:50px;height:50px;border-radius:100px;background-image:url('/wp-content/themes/toast/assets/images/chevron-up-white.svg');background-size:20px;background-position:center;background-repeat:no-repeat;pointer-events:none;cursor: pointer;opacity:0;transform:translatey(-30px);transition:all 1s;}

.toast-back-to-top.show{opacity:1;transform:translatey(0px);pointer-events:all;}

/* Author Box */
.author-box{margin-top:4rem;margin-bottom:4rem;background-color: #fff;box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);border-radius: 10px;min-height:200px;}
.author-box.grid{grid-template-columns: 2fr 3fr; grid-gap:3rem;}
.author-box .author-image{background-size: cover;background-position: center;background-repeat: no-repeat;border-top-left-radius:10px;border-bottom-left-radius:10px;max-width: 100%;}
.author-box .author-text h3{font-weight:bold;margin-bottom:1.5rem;color:var(--brand-1)}
.author-box .author-text p{font-size:14px}
.author-box .author-text{padding:2rem;padding-right:15%;padding-left: 0rem;}

.author-socials-area .author-socials a{width:28px;height:28px;background:var(--brand-1);display:inline-block;padding:1rem;position: relative;border-radius:100px;}
.author-socials-area .author-socials a img{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:17px;height:auto;}


@media (min-width: 769px) { 
	p, .single article { max-width: 98rem; margin-left: auto; margin-right: auto; }
	article .container { width: 100%; max-width: 100%; padding: 0;  }
}

@media(max-width:1120px){

    /* Mobile Menu */
    body.mobile-menu-open{overflow:hidden;}
	.site-header .mobile-menu { display: block; padding: 2rem 0 2rem;z-index: 99;position: relative;background:#ffffff;}
	.site-header .mobile-menu .container{max-width: 100%;position:static;}
	.site-header .mobile-menu .menu-grid{display: grid; grid-template-columns: 60px 1fr 60px !important;grid-gap: 1rem;align-items: center;line-height:1;}
	.site-header .mobile-menu .menu{position: relative;}
	
	.site-header .mobile-menu .menu-toggle{width:4rem;height:3rem;position: relative;display:inline-block;}
	.site-header .mobile-menu .menu-toggle .bar{ width: 100%;height: .4rem;background-color: #00253E;border-radius: 3px;position:absolute;top:0;left:0;transition:all .25s;}
	.site-header .mobile-menu .menu-toggle .bar:nth-of-type(2){top:50%;transform:translateY(-50%);}
	.site-header .mobile-menu .menu-toggle .bar:nth-of-type(3){bottom:0;top:auto;}

    .site-header .mobile-menu .phone-area{text-align:right;}
	.site-header .mobile-menu .phone{padding: 0.5rem;border-radius: 50%;border: 5px solid;display:inline-block;width:50px;height:50px;position: relative;}
    .site-header .mobile-menu .phone img{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:80%;}
    .site-header .mobile-menu .logo-area{text-align:center;}
    .site-header .mobile-menu .logo-area .logo{max-width:350px;display:inline-block;}

    .site-header .mobile-nav{position:fixed;z-index:9999999999999;background: #fff;transition: all .25s;top:0;left: 0;pointer-events: none;width:100%;display:block;transform:translatey(-100%);height:100%;overflow:scroll;padding-top:5rem;}
	.site-header .mobile-nav .mobile-nav-close{position:absolute;top:2rem;right:2rem;height:30px;width:30px;}
	.site-header .mobile-nav .mobile-nav-close:before, .site-header .mobile-nav .mobile-nav-close:after{content:'';width:100%;height:4px;background:#00253e;position:absolute;left:0;top:50%;border-radius:10px;}
	.site-header .mobile-nav .mobile-nav-close:before{transform:rotate(45deg);}
	.site-header .mobile-nav .mobile-nav-close:after{transform:rotate(-45deg);}

	.site-header .mobile-nav ul{list-style: none;margin: 0 0 2rem;padding: 0;background-color: #fff;padding:2rem;}
	.site-header .mobile-nav li{border-top: 2px solid #A0C6DF;margin-bottom: 0rem;padding: 1rem 0;}
	.site-header .mobile-nav li:last-child{border-bottom: 2px solid #A0C6DF;}
	.site-header .mobile-nav li a{color: #0E3048;position: relative;display:block;padding:.5rem 7rem .5rem 2rem;text-transform:uppercase;font-weight:500;letter-spacing:.5px;line-height:1.2; font-size: 1.6rem;}
	.site-header .mobile-nav li a::after{content: '';background-image: url(/wp-content/themes/toast/assets/images/right-chevron.svg);position: absolute;width:30px;height:30px;background-position:center;background-size:cover;right:2rem;top:50%;transform:translateY(-50%);}
    .site-header .mobile-nav img{margin:-3rem auto 1rem;max-width:80px;display:block;}
    .site-header .mobile-nav .contact-us{text-align: center;}
    .site-header .mobile-nav .social-icons{margin-top:2rem;}
	.site-header .mobile-nav .social-icons a{background:var(--brand-1);}
	.site-header .mobile-nav .social-icons a svg path{fill:#ffffff;}
	.site-header .mobile-nav h3{font-family:'Arima', serif;font-weight:bold;}
    .site-header .mobile-nav h5{font-size:2rem;margin:0;}
    .mobile-menu-open .site-header .mobile-nav{pointer-events: all;transform:translatey(0%);}

    .site-header .desktop-menu {display: none;}
}
	

@media (max-width: 768px) {
	
	.home-video { height: 50vh;}

    .site-footer, .site-footer .align-right{text-align:center;}
	.site-footer .grid{grid-template-columns:1fr !important;}

	.author-box.grid{grid-gap:1rem;}
	.author-box .author-text{text-align:center;padding:0rem 2rem 2rem 2rem;}
	.author-box .author-image{width:120px;height: 120px;border-radius: 50%;margin:0 auto;box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);margin-top:2rem;}


	.site-footer .footer-menu{text-align:left;border-top:2px solid #ffffff; display: block;margin-bottom:-2rem;}
	.site-footer .footer-menu:last-child{margin-bottom:5rem;border-bottom:2px solid #ffffff;}
	.site-footer .footer-menu h6{cursor: pointer; color:#ffffff;font-family:inherit;line-height:2;text-transform:uppercase;font-size:2.05rem;position: relative;margin:0;padding:1rem 0;}
	.site-footer .footer-menu h6:after{content:'';width:23px;height:23px;background-image:url('/wp-content/themes/toast/assets/images/chevron-up-white.svg');position:absolute;top:50%;right:2rem;transform:translateY(-50%) rotate(-180deg);transition:all .5s;background-size:cover;background-position:center;}
	.site-footer .footer-menu.active h6:after{transform:translateY(-50%);}
	.site-footer .footer-menu .footer-menu-list{height:0;overflow:hidden;transition:all .5s;font-size:1.5rem;}
	.site-footer .footer-menu .footer-menu-list .footer-menu-padding{padding-bottom:2rem;}
	ul#menu-footer-about li a, ul#menu-footer-services li a, ul#menu-footer-information li a { font-size: 1.85rem; padding: .75rem 0; line-height: 1; text-transform: uppercase; }

	.companyname { color:#fff; }
	.site-footer a:hover { color: #fff; text-decoration: underline; }

.site-footer h6 { display: block; margin-bottom: 2rem; }
	footer h3.cursive:first-of-type { margin-top: 2rem; }
	
	#gform_wrapper_2 h2{font-size:4rem}
	
	.site-header .mobile-nav li a {padding-right:4rem}
}



@media (max-width: 576px) {
	
	.banner-slider { font-size: 1.2rem; }
	.social-icons a img, .social-icons a svg {
    max-width: 21px;
}

	p#breadcrumbs { text-align: center; }
    .footer-sub-wrapper .bottom-menu ul { text-align: center; }
	h1 { font-size: 6rem; margin-bottom: 4rem; }
	h2 { font-size: 4.5rem; margin-bottom: 3.5rem; }
	h3 { font-size: 3rem; margin-bottom: 1rem; }
	h4 { font-size: 2.9rem; margin-bottom: 2.5rem; }
	h5 { font-size: 2.75rem; margin-bottom: 2rem; }
	h6 { font-size: 2.5rem; margin-bottom: 1.75rem; }
	p {   	 /* Break long URLS and words on mobile */
	/*overflow-wrap: break-word;
	word-wrap: break-word;
  	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
		hyphens: auto;*/ }
	#gform_wrapper_2 h2{font-size:3rem}
}