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


/* Base Styles */
html { font-size: 62.5%; }
body{font-size: 1.75rem;line-height: 1.6;font-family: "classico-urw", Arial, sans-serif;font-weight: 400;color: var(--text-color);margin: 0;padding: 0 !important; }
#page:after { content:" "; display: block; clear: both; }
.admin-buttons a.button { display: block; }
#page.scrolled{padding-top: 107px;}
.admin-bar .site-header.fixed { margin-top: 32px; }

#page {overflow: hidden;}

/* Header */
.site-header{box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);background-color: #fff;z-index: 999;position: relative;}
.site-header.fixed{position:fixed !important;top:0;left:0;width:100%;}

.site-header .grid{grid-template-columns:20rem 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 */ }

.site-header .spacer{height: 100%; width: 1px; background-color: var(--brand-1);}

/* Navbar & Menus */
.top-nav {font-size: 1.75rem;font-weight: 300;text-align: right; display: inline-flex;align-items: center;justify-content: end;}
.top-nav .nav-details{ display: flex; align-items: center; text-align: left; border-left: 1px solid var(--brand-1); padding-left: .75rem;}

.top-nav a strong{font-weight: 300;}
.top-nav .contact{margin-right: 1rem;}
.top-nav .social-icons{display: flex;}
.top-nav .social-icons a{height: 2rem; width: 2rem; border-radius: .2rem;}
.top-nav .social-icons a img{max-width: 75%; width: 75%;}
.top-nav ul { margin: 0 auto; padding: 0rem;z-index: 999;}
.top-nav li { display: inline-block; margin: 0;padding:0; position: relative;}
.top-nav li a { display: inline-block; padding: 4.5rem .75rem;line-height: 1; color: #000000;}
.top-nav li:hover > a, .top-nav li.current-menu-item a { color:var(--brand-1); }

.top-nav li.current-menu-item a::after, .top-nav li.current-page-ancestor a::after, .top-nav li.current-page-ancestor li.current-menu-item a::after{content: '';display: block;position: absolute;bottom: -1px;left: 50%;transform: translateX(-50%);background-image: url('/wp-content/themes/toast/assets/images/icons/small-rounded-triangle.svg');width: 12.5px;height: 12.5px;background-repeat: no-repeat;background-size: contain;background-position: center bottom;}
.top-nav li.current-page-ancestor li a::after, .top-nav li.current-menu-item li a::after{display: none;}

/* Submenus Dropdowns*/
.top-nav .sub-menu{ position: absolute;padding: 0;bottom:0;left: 0; white-space: nowrap; background: #fff;text-align: left;opacity:0;pointer-events:none;transition:all .5s;transform:translatey(100%); box-shadow: 0 12px 12px rgba(0, 0, 0, 0.1); border-bottom-left-radius: 1rem; border-bottom-right-radius: 1rem; }
.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 10rem 1.5rem 2.2rem; display: block; margin: 0;color:var(--brand-1);}
.top-nav li:hover > .sub-menu{opacity: 1;pointer-events:all;}

.top-nav .sub-menu li:last-of-type a{ border-bottom-left-radius: .75rem; border-bottom-right-radius: .75rem; }

/* Sort the hovers on the dropdowns 16/06/23 DF */
.top-nav li ul.sub-menu li  a { background: #fff; color:var(--brand-1);}
.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; line-height: 1.2; margin: 0 0 0 0; color: var(--brand-1); color: inherit;}
h1 { font-size: 6rem; }
h1 + p { margin-top: 4rem; }
h1 + h2 { margin-top: 3rem;}
h2 { font-size: 4rem; }
h2 + h3 { margin-top: 2.75rem; }
h2 + p { margin-top: 3rem; }
h3 { font-size: 3.5rem; margin-bottom: 3rem; }
h4 { font-size: 3rem; margin-bottom: 2.5rem; }
h5 { font-size: 2.5rem; margin-bottom: 2rem; }
h6 { font-size: 2rem; 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; }
sup{font-size: .75rem; vertical-align: top;}

h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup{font-size: 1rem; vertical-align: top;}

/* 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;}
ul + p, ol + p { margin-top: 4rem; }
p + ul + p { margin-top: 4rem;}
p > a.button { margin-top: 2rem; }
table + p { margin-top: 3rem;}
blockquote + h3, ul + h4 { margin-top: 6rem; }
p + blockquote, blockquote + p, blockquote + h2, blockquote + h3, blockquote + h3, blockquote + h4 { margin-top: 4rem; }
ol + h3 { margin-top: 6rem; }
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;} 
picture + p, img + p, p + img, picture + h4, img + h4, h4 + picture, h4 + img, picture + h3, img + h3, ul + picture, ul + img { margin-top: 4rem; }
img + p.wp-caption-text { margin-top: 0; }
picture { display: block; }
p + .embed-wrap { margin-top: 6rem; }
.embed-wrap + p, .embed-wrap + h3 { margin-top: 6rem; }

.block-hero + .block-columns.narrow{margin-top: 5rem;}
.narrow .container{max-width: 35%; width: 35%;}
.narrow .container{z-index:5}

/*Buttons */
a.button { background: var(--brand-4);padding:.5rem 1.75rem;color:#ffffff;display:inline-block; border-radius: 3rem; text-decoration: none; font-weight: bold; font-size: 1.5rem;}
a.button:hover { background: var(--brand-3); color: #fff; }
a.button:hover::before{background-image: url(/wp-content/themes/toast/assets/images/icons/chevron-white.svg)}

.button.button1{position: relative;padding-left: 3.75rem; font-weight: 400; font-size: 1.75rem;}
.button.button1::before{content: ''; background-image: url(/wp-content/themes/toast/assets/images/icons/chevron-translucent.svg);width: 1.75rem;height: 1.75rem; background-size: contain;background-repeat: no-repeat;background-position: center;top: 50%;left: 1rem;transform: translateY(-50%);display: block;position: absolute;}
a.button.button1:hover::before{background-image: url(/wp-content/themes/toast/assets/images/icons/chevron-white.svg)}

.button.button2{position: relative;padding-left: 3.75rem; font-weight: 400; font-size: 1.75rem;}
.button.button2::before{content: ''; background-image: url(/wp-content/themes/toast/assets/images/icons/chevron-white.svg);width: 1.75rem;height: 1.75rem; background-size: contain;background-repeat: no-repeat;background-position: center;top: 50%;left: 1rem;transform: translateY(-50%);display: block;position: absolute;}

.button.button3{position: relative;padding-left: 3.75rem; background: transparent; border: 2px solid var(--brand-1); font-weight: 400; font-size: 1.75rem; color: var(--brand-1);}
.button.button3::before{content: ''; background-image: url(/wp-content/themes/toast/assets/images/icons/chevron-grey.svg);width: 1.75rem;height: 1.75rem; background-size: contain;background-repeat: no-repeat;background-position: center;top: 50%;left: 1rem;transform: translateY(-50%);display: block;position: absolute;}
.button.button3:hover{border: 2px solid var(--brand-4); background-color: var(--brand-4);}
.button.button3:hover::before{background-image: url(/wp-content/themes/toast/assets/images/icons/chevron-white.svg)}

/* Archive pages */
.archive-tile-content { padding-bottom: 10rem;}
.archive-tile-content a.button { position: absolute; left: 50%; bottom: -1.5rem; transform: translateX(-50%);}
.archive-tile { position: relative; }
.post-listing-thumbnail img, .archive-thumbnail img{width: 100%; max-height: 260px;}

/*Links*/
a { text-decoration: none; color: var(--brand-1); }
a:hover { text-decoration: none; color: var(--brand-2); }
p a { text-decoration:none;color:var(--brand-3); }
p a:hover { text-decoration:none;color:var(--brand-2); }
ul li a { text-decoration: none; }

/* Asides */
aside .main-sidebar-widget { position: sticky; top: 10rem; }

/*Footer*/
.site-footer, .site-footer a{color:#ffffff; font-size: 1.5rem;}
.footer-main{background: var(--brand-1); clear: both; clip-path: polygon(0 45%, 100% 0, 100% 100%, 0 100%); padding-top: 20rem;padding-bottom: 0;}
.site-footer .logo img {margin-bottom:2rem; display:inline-block; max-width:30rem;}
.footer-main .address { margin:2rem 0; }

.site-footer .grid.main-grid{grid-template-columns: 1fr 1fr 1fr; grid-gap: 2rem; padding-left: 35%;}

.social-icons a{width:4rem; height:4rem; background:var(--brand-1); display:inline-block; position:relative; border-radius:.3rem;}
.social-icons a:hover { background: var(--brand-3); }
.social-icons a img{position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width: 70%; max-width: 70%;}

.site-footer .social-icons{text-align: right;}
.site-footer .social-icons a{background: var(--brand-2);}

/**Footer Widgets**/
.footer-widget-title { font-size: 2.25rem; margin-bottom: 2rem; font-weight: bold; }
.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;}

.site-footer .legal-text{font-size: 1.25rem; text-align: right; display: flex;} 
.site-footer .legal-text p{ margin-bottom: .5rem; }

.site-footer .legal-text .sra-logo{width: 100%; height: 100%; margin-right: 2rem;}


/* Sub footer */
.footer-sub-wrapper, .footer-sub-wrapper li { font-size: 1.5rem;}
.footer-sub-wrapper-area{background-color: var(--brand-1);}
.footer-sub-wrapper {padding:8rem 0 3rem; background: #2D95BC;color: #fff; clip-path: polygon(0% 0%, 0% 100%, 80% 100%); margin-top:-5rem;}
.footer-sub-wrapper .bottom-menu ul { text-align: left; }
.footer-sub-wrapper .bottom-menu ul li { display: inline-block;}
.footer-sub-wrapper .bottom-menu ul li a { font-weight: bold; }
.footer-sub-wrapper .bottom-menu ul li:not(:last-of-type) a { display: inline-block; padding: 0 .5rem 0 0; }
.footer-sub-wrapper .bottom-menu ul li:not(:last-of-type) {border-right: 1px solid #fff;}

/*Forms*/
input, textarea, select { width:100%;outline:none;font-family:inherit;border:1px solid var(--brand-2); padding: 1rem; border: 1px solid var(--brand-2) !important; }

input[type="submit"] {border:none !important;outline:none;cursor:pointer;background:var(--brand-1);width:auto;height:auto; font-size: inherit; color: #fff; }
input[type="submit"]:hover { background: var(--brand-2); }
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; grid-column-gap: 2rem; }
h3.gsection_title { margin-bottom: 0; margin-top: 3rem; font-size: 2.25rem; font-weight: 600; color: var(--brand-1); }

.gfield input, .block-contact-form .col.form .gfield textarea{border-radius: 1rem;background: #fff;border: 0;}
.gfield input::placeholder, .block-contact-form .col.form .gfield textarea::placeholder{color: var(--brand-2);}

.gform_button_wrap{position: relative !important; margin-bottom: 1rem;}
.gform_button_wrap .gform_button{padding-left: 3.75rem !important; font-weight: 400 !important; font-size: 1.5rem !important; background: var(--brand-4) !important; border-radius: 3rem;margin-bottom: 0 !important; padding: .5rem 1.5rem;}
.gform_button_wrap::before{content: ''; background-image: url(/wp-content/themes/toast/assets/images/icons/chevron-white.svg);width: 1.5rem;height: 1.5rem; background-size: contain;background-repeat: no-repeat;background-position: center;top: 50%;left: 1rem;transform: translateY(-50%);display: block;position: absolute;}
.gform_button_wrap .gform_button:hover{ background-color: var(--brand-3) !important;}

.gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full){padding-right: 0 !important;}

.block-contact-form .col.form .gfield textarea{resize: none;}

.ginput_container_name{display: grid; grid-template-columns: 1fr 1fr; grid-gap: 2rem;}
.ginput_container_name .name_last{padding-left: 0 !important;}
.ginput_container_name.ginput_complex span{margin-bottom: 0 !important;}

/* Search */
.search-form input.search-field { padding: 1rem; height: auto; font-family: inherit; font-size: 2rem; color: var(--brand-1); font-weight: 600; }
input.search-submit { padding: 1rem; display: block; width: 100%; 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); }
.page-numbers.current {   color: #fff; background: var(--brand-2); padding: 1rem; width: 1rem; border-radius: 1rem; min-width: 2rem; line-height: 0; }
a.page-numbers { color: #fff; background: var(--brand-1); padding: 2rem; min-width: 2rem; line-height: 0; display: inline-block; border-radius: 1rem; }
a.page-numbers:hover { background: 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: 20rem 3fr; grid-gap:3rem;}
.author-box .author-image{padding: 2rem 0 2rem 2rem ;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;}

/* Popups */ 
.popup{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;justify-content:center;align-items:center;display:none;}
.popup.active{display:flex;}
.popup .popup-bg{position:fixed;top:0;left:0;width:100%;height:100%;background: var(--brand-2); opacity: .8;z-index:-1;backdrop-filter:blur(50px);}
.popup .popup-content{background:#ffffff;max-width:1024px;padding:3.5rem;position:relative;width:100%; border-radius: 1rem; }
.popup .popup-content .popup-close{height: 3.5rem;width: 3.5rem;position: absolute;top:0;right:0;background:var(--brand-1);cursor: pointer; border-radius: 0 1rem 0 0;}
.popup-close:before, .popup-close:after{content:'';width: 2rem;height:.3rem;background-color:#ffffff;position: absolute;left:50%;}
.popup-close:before{top: 50%; transform: translate(-50%, -50%) rotate(45deg);}
.popup-close:after{bottom: 50%; transform: translate(-50%, 50%) rotate(-45deg);}

.git + .site-footer{margin-top: -10rem;}

@media (max-width: 1500px) {
	.site-footer .footer-main{padding-top: 25rem;}
	.site-footer .footer-main .grid.main-grid{padding-left: 25%;}
}

@media (max-width: 1200px) {
	.site-header .grid {grid-template-columns: 165px 1fr !important; grid-gap: .5rem;}
	.site-header .container{max-width: 80%;}
	.top-nav{font-size: 1.5rem;}
	.top-nav li a{padding: 3.5rem .5rem;} 
	.top-nav .phone-number{padding: .5rem; font-size: 1.5rem;}
	#page.scrolled{padding-top: 65px; transition: all .2s;}
	.admin-buttons{display:none;}
	.footer-main{clip-path: polygon(0 33%, 100% 0, 100% 100%, 0 100%); padding-top: 17.5rem !important;}
	.footer-sub-wrapper{clip-path: polygon(0% 0%, 0% 100%, 100% 100%); margin-top:-5rem;}

}

@media (max-width: 1025px) {
	.narrow .container{max-width: 90%; width: 100%;}
	.footer-main{clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 100%); padding-top: 15rem !important;}
	.footer-main .grid{padding-left: 0 !important;}

}

@media (max-width: 992px) {
	.site-footer .sra-logo{margin: 0 auto; display: inline-block; margin-right: 0;}
	.site-footer .legal-text{display: block; text-align: center;}
	.site-header .grid {grid-template-columns: 140px 1fr !important; grid-gap: .5rem;}
	.site-header .container{max-width: 100%;}
	.site-footer .logo img{max-width: 20rem;}
	.site-footer, .site-footer .align-right{text-align:center;}
	.site-footer .grid{grid-template-columns:1fr !important;}
	.site-footer .footer-main .legal-text{text-align: center; margin-left: 0;}

	.footer-sub-wrapper{margin-top: 0; clip-path: unset; padding: 3rem 0; }
	.footer-sub-wrapper .bottom-menu ul{ text-align: center;}
	.site-footer .social-icons{text-align: center;}
}

@media (max-width: 768px) {
    .site-header {display: none;}
	#page.scrolled{padding-top: 0;}

	.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;}
	
	#wpadminbar{display:none} 
	.admin-bar .toast-mm-banner{top: 0 !important;}
	.contact-shape{display:none;}

	.main-header svg{width: 100%;}
	.main-header .col{padding-right: 15%;}
	.footer-main{clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%); padding-top: 10rem !important;}

}

@media (max-width: 576px) {
	.social-icons a{width:3rem;height:3rem;}
	h1 { font-size: 5rem; margin-bottom: 4rem; }
	h2 { font-size: 4.5rem; margin-bottom: 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; }
	/* 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;} */
	.block-shape.mobile {width: 200vw !important;}
} 

@media (max-width: 425px) {
	.main-header svg, .block-hero svg{display: none;}
	.main-header::before, .block-hero::before{content: ''; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background-color: #104A5F; opacity: .5; z-index: 1; mix-blend-mode: multiply;}
	.main-header .col, .block-hero .col{padding-right: 0 !important;}
}