/*
Theme Name: Toast
Description: Lightweight, tasty and totally awesome. This theme is proprietary and licensed exclusively to the client who commissioned this website project. Usage, modification, distribution or deployment of this theme on any other website or project is strictly prohibited without express written permission from Toast Design.
Author: Dave Foreman, Aaron Jones and the Toast team
Date: October 2025
Version: 17.1
Theme URI: http://www.toastwebsites.co.uk
Author URI: http://www.toastdesign.co.uk
Text Domain: toast
*/


/*

████████╗  ██████╗   █████╗  ███████╗ ████████╗
╚══██╔══╝ ██╔═══██╗ ██╔══██╗ ██╔════╝ ╚══██╔══╝
   ██║    ██║   ██║ ███████║ ███████╗    ██║   
   ██║    ██║   ██║ ██╔══██║ ╚════██║    ██║   
   ██║    ╚██████╔╝ ██║  ██║ ███████║    ██║   
   ╚═╝     ╚═════╝  ╚═╝  ╚═╝ ╚══════╝    ╚═╝   

This is the Toast WordPress theme. Copyright Toast Design Consultancy. All rights reserved. 
Toast clients who have paid us to build a theme have a perpetual lience to use this Theme for their site.
Everyone else can go build their own. Unlike WordPress, this theme is NOT licenced under the GPL, it is not publically distributed: do not copy, distribute or fork this theme.
However, if you've just inherited this site, and you know what you are doing, you will find this theme very easy to use - have at it, but do not change the Theme information.

*/


@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-plus-jakarta-sans-v11-latin-400-normal-1759500381.woff2') format("woff2");
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: auto;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-plus-jakarta-sans-v11-latin-800-normal-1759500382.woff2') format("woff2");
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: auto;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-plus-jakarta-sans-v11-latin-400-italic-1759500382.woff2') format("woff2");
}

:root {
  --ywf--family-plus-jakarta-sans: 'Plus Jakarta Sans';
}



/**Saved Styles**/
/* *:last-child{margin-bottom:0; } Should not use CSS wildcards as they are S L O W */
.site-logo img{width:100%;}

/* Base Styles */
html { font-size: 62.5%; }
body{ font-family: var(--font-body); color: var(--text-color); background: var(--brand-4); margin: 0; padding: 0 !important; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--brand-3); color: var(--brand-2); }
.screen-reader-text, .skip-link:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: absolute; top: 1rem; left: 1rem; z-index: 1000; background: var(--brand-2); color: var(--brand-4); padding: 1rem 1.6rem; font-family: var(--font-mono); }
#page{/*overflow:hidden;*/clear:both;}

/* Site Banner - from Theme options */
.site-banner { background-color: var(--brand-2); color: #fff; text-align: center; padding: 1rem 0; min-height: 3rem; z-index: 999; }
.site-banner p { margin-bottom: 0; }
.site-banner p a { color: #fff; text-decoration: underline; }
.site-banner p a:hover { color: #fff; text-decoration: none; }

/* ===================================================================
 * Header: an editorial masthead (sticky, slims on scroll)
 * =================================================================== */
.site-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; background: var(--brand-4); border-bottom: 0.1rem solid var(--brand-2); }
.site-header .masthead-strap { display: flex; justify-content: space-between; gap: 1rem 2.4rem; padding: 1rem 0 0.9rem; border-bottom: 0.1rem solid var(--brand-2); }
.site-header .masthead-main { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.6rem 0 1.4rem; transition: padding .2s ease; }
.site-wordmark { font-family: var(--font-display); font-weight: 900; font-stretch: 62%; text-transform: uppercase; font-size: clamp(4.4rem, 7.4vw, 10.8rem); line-height: 0.82; letter-spacing: -0.01em; color: var(--brand-2); text-decoration: none; white-space: nowrap; transition: font-size .2s ease; }
.site-wordmark .lf-stop { color: var(--brand-1); }
.site-wordmark:hover { color: var(--brand-2); }
.site-wordmark:focus-visible, .top-nav a:focus-visible, .menu-toggle:focus-visible, .mobile-nav a:focus-visible { outline: 0.3rem solid var(--brand-1); outline-offset: 0.4rem; }

/* Fixed once site-header.js has measured it (a spacer holds the height); sticky without JS */
.site-header.is-fixed { position: fixed; left: 0; right: 0; }
.site-header.is-fixed .mobile-nav { max-height: calc(100vh - 12rem); overflow-y: auto; }
@media screen and (max-width: 600px) { .admin-bar .site-header.is-fixed { top: 0; } }

/* Slim state, added by site-header.js once the visitor scrolls */
.site-header.is-scrolled .masthead-strap, .site-header.is-scrolled .site-banner { display: none; }
.site-header.is-scrolled .masthead-main { padding: 1rem 0; }
.site-header.is-scrolled .site-wordmark { font-size: clamp(3.4rem, 4vw, 5.2rem); }

/* Navbar & Menus */
.top-nav { text-align: right; }
.top-nav ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 3.2rem; margin: 0; padding: 0; list-style: none; }
.top-nav li { display: block; margin: 0; padding: 0; position: relative; font-size: inherit; }
.top-nav li a { display: inline-block; padding: 1.2rem 0; font-family: var(--font-mono); font-size: 1.4rem; line-height: 1; text-transform: uppercase; letter-spacing: 0.12em; color: var(--brand-2); text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 0.1rem; text-underline-offset: 0.5em; transition: text-decoration-color .15s ease; }
.top-nav li:hover > a, .top-nav li > a:focus-visible, .top-nav li.current-menu-item > a { color: var(--brand-2); text-decoration-color: var(--brand-1); }
.top-nav li.nav-cta > a { color: var(--brand-1); }

/* Mobile menu toggle and numbered editorial menu */
.menu-toggle { display: none; white-space: nowrap; flex-shrink: 0; background: none; border: 0; padding: 1.2rem 0; margin: 0; cursor: pointer; font-family: var(--font-mono); font-size: 1.5rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--brand-2); }
.menu-toggle .menu-toggle-icon { color: var(--brand-1); }
.mobile-nav { border-top: 0.1rem solid var(--brand-2); padding: 1.6rem 0 3.2rem; }
.mobile-nav[hidden] { display: none; }
.mobile-nav ol { list-style: none; margin: 0; padding: 0; }
.mobile-nav li { margin: 0; border-bottom: 0.1rem solid var(--brand-7); font-size: inherit; }
.mobile-nav a { display: flex; align-items: baseline; gap: 1.6rem; padding: 1.4rem 0 1.2rem; color: var(--brand-2); text-decoration: none; }
.mobile-nav .mobile-nav-num { font-family: var(--font-mono); font-size: 1.4rem; color: var(--brand-1); min-width: 2.6rem; }
.mobile-nav .mobile-nav-title { font-family: var(--font-display); font-weight: 900; font-stretch: 62%; text-transform: uppercase; font-size: clamp(4.8rem, 13vw, 7.2rem); line-height: 0.9; }
.mobile-nav .mobile-nav-strap { margin-top: 2.4rem; display: flex; flex-direction: column; gap: 0.4rem; }

@media screen and (max-width: 900px) {
	.top-nav { display: none; }
	.menu-toggle { display: inline-block; }
	.site-header .masthead-strap .strap-right { display: none; }
}

/* 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;}

/* 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;}

/* Sorts any drop down on the last menu li so the dropdown is ranged to the left, keeping it inside the menu container */
.top-nav li:last-child .sub-menu {left: auto; right: 0;}

/* Videos - uploaded mp4 files */
.wp-video { position: relative; width: 100% !important; /* Override inline width */ padding-bottom: 56.25%; /* 16:9 aspect ratio */ height: 0; overflow: hidden;}
.wp-video video, .wp-video .mejs-container { position: absolute; top: 0; left: 0; width: 100% !important; /* Override inline width */ height: 100% !important; /* Maintain correct height */}
.mejs-container { max-width: 100% !important; /* Ensure the player doesn't exceed its container */ }

/**Blog**/
.blog-grid{grid-template-columns:1fr 350px;}
.single .container .container { max-width: 100%; width: 100%; } /* Fixes the content in content issue on blogs */


/* Post Sidebar */
.sidebar ul { padding: 0; margin: 0; list-style: none; }
.sidebar ul li { padding: 0; margin: 0;  }
.sidebar ul li a { display: block; padding: .5rem 0; border-bottom: 1px solid var(--brand-2); color: var(--brand-1); }
.sidebar ul li a:hover {  color: var(--brand-2); }

/*404*/
.search-404{padding: calc( var(--base-type-spacing) / 1.2 );background:var(--brand-2);color:#ffffff;max-width:768px;margin:0 auto;text-align:center;}

/* ===================================================================
 * Footer: The Final Word (conversational, Little Black)
 * =================================================================== */
.site-footer { background: var(--brand-2); color: var(--brand-4); }
.site-footer a { color: var(--brand-4); }
.site-footer .footer-final { padding: clamp(6rem, 8vw, 11rem) 0 clamp(5rem, 6vw, 8rem); }
.site-footer .footer-strap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.6rem 2.4rem; padding-bottom: 1.2rem; border-bottom: 0.3rem solid var(--brand-4); margin-bottom: clamp(3.6rem, 5vw, 6.4rem); }
.site-footer .footer-strap .strap-ps { color: var(--brand-5); }
.site-footer .footer-ps { max-width: 98rem; }
.site-footer .footer-lead { font-family: var(--font-serif-text); font-style: italic; font-size: clamp(2.6rem, 3vw, 3.8rem); line-height: 1.1; color: var(--brand-3); margin-bottom: 1.6rem; }
.site-footer .footer-headline { font-family: var(--font-display); font-weight: 900; font-stretch: 62%; text-transform: uppercase; font-size: clamp(7.2rem, 15vw, 20rem); line-height: 0.8; letter-spacing: -0.01em; color: var(--brand-4); margin: 0 0 clamp(2.8rem, 4vw, 4.4rem); }
.site-footer .footer-headline .lf-stop { color: var(--brand-1); }
.site-footer .footer-body { max-width: 64rem; }
.site-footer .footer-body p { font-size: clamp(1.9rem, 1.7vw, 2.3rem); line-height: 1.5; color: var(--brand-4); }
.site-footer .footer-body p + p { margin-top: 1.4rem; }
.site-footer .footer-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 2rem 3.2rem; margin-top: 3.6rem; }
.site-footer .footer-cta .button { color: var(--brand-4); }
.site-footer .footer-cta .button:hover { background: var(--brand-4); border-color: var(--brand-4); color: var(--brand-2); }
.site-footer .footer-email { font-family: var(--font-serif-text); font-style: italic; font-size: clamp(3rem, 3.4vw, 4.8rem); line-height: 1.1; color: var(--brand-3); text-decoration: underline; text-decoration-color: var(--brand-1); text-decoration-thickness: 0.2rem; text-underline-offset: 0.18em; }
.site-footer .footer-email:hover { color: var(--brand-3); }

.site-footer .footer-base { border-top: 0.1rem solid rgba(246, 239, 230, 0.35); padding: 3.6rem 0 2.8rem; }
.site-footer .footer-base-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 3.2rem 4rem; align-items: start; }
.site-footer .footer-wordmark { display: inline-block; font-family: var(--font-display); font-weight: 900; font-stretch: 62%; text-transform: uppercase; font-size: 4.4rem; line-height: 0.85; text-decoration: none; margin-bottom: 1.4rem; }
.site-footer .footer-wordmark .lf-stop { color: var(--brand-1); }
.site-footer .footer-about p { font-size: 1.7rem; line-height: 1.5; color: var(--brand-4); }
.site-footer .footer-about .footer-phone { margin-top: 1rem; font-family: var(--font-mono); font-size: 1.5rem; }
.site-footer .footer-nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.4rem; }
.site-footer .footer-nav li { margin: 0; font-size: inherit; }
.site-footer .footer-nav a { display: inline-block; padding: 0.7rem 0; font-family: var(--font-mono); font-size: 1.4rem; text-transform: uppercase; letter-spacing: 0.1em; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.45em; }
.site-footer .footer-nav a:hover, .site-footer .footer-nav a:focus-visible { text-decoration-color: var(--brand-1); }
.site-footer .footer-legal { display: flex; flex-direction: column; gap: 0.6rem; align-items: flex-end; text-align: right; }
.site-footer .footer-legal .footer-signoff { font-family: var(--font-serif-text); font-style: italic; font-size: 2rem; color: var(--brand-3); text-transform: none; letter-spacing: 0; }
.site-footer .footer-legal ul { list-style: none; margin: 0.8rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 1.8rem; }
.site-footer .footer-legal li { margin: 0; font-size: inherit; }
.site-footer .footer-legal li a { font-family: var(--font-mono); font-size: 1.2rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(246, 239, 230, 0.75); display: inline-block; padding: 0.6rem 0; }
.site-footer .footer-legal li a:hover { color: var(--brand-4); }

@media screen and (max-width: 900px) {
	.site-footer .footer-base-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.site-footer .footer-legal { grid-column: 1 / -1; align-items: flex-start; text-align: left; }
	.site-footer .footer-legal ul { justify-content: flex-start; }
}
@media screen and (max-width: 576px) {
	.site-footer .footer-base-grid { grid-template-columns: minmax(0, 1fr); }
}

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

/*Forms*/
input, textarea, select { width:100%;outline:none;font-family:inherit;border:1px solid var(--brand-2); padding: 1rem; }
input[type="submit"] {border:none;outline:none;cursor:pointer;background:var(--brand-1);width:auto;height:auto; font-size: inherit; color: #fff; border-radius: var(--border-radius); padding: 1rem 2rem; }
input[type="submit"]:hover { background: var(--brand-2); }
input[type='checkbox'], input[type='radio'] { width: auto; height: auto; }

/* 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: calc( var(--base-type-spacing) / 6 ); color: #fff; }
input.search-submit:hover { background-color: var(--brand-2); color: #fff !important; }
footer input.search-submit:hover { background-color: var(--brand-3); color: var(--brand-2); }
span.screen-reader-text { display: none; }

/* Author Box */
.author-box{background-color: #fff;box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);border-radius: var(--border-radius);margin-top: calc( var(--base-type-spacing) / 3 );}
.author-box.grid{grid-template-columns: 20rem 1fr; grid-gap:0;}
.author-box .author-image img{object-fit:cover;height:100%;}
.author-box .author-text p{font-size:14px}
.author-box .author-text{padding: calc( var(--base-type-spacing) / 2 ) ;}
.author-box .author-socials-area .author-socials a{width:28px;height:28px;background:var(--brand-1);display:inline-block;padding: calc( var(--base-type-spacing) / 6 );position: relative;border-radius:100px;}
.author-box .author-socials-area .author-socials a img{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:17px;height:auto;}

/**Fix appearance of buttons iphone**/
input[type=text], input[type=button] { -webkit-appearance: none; -webkit-border-radius: 0; }

/* Popups */ 
.popup{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;justify-content:center;align-items:center;display:none; transition: all 1s ease;}
.popup.active{display:flex;}
.popup .popup-bg{position:fixed;top:0;left:0;width:100%;height:100%; background: rgba(0,0,0,.75); backdrop-filter: blur(10px);z-index:-1;  transition: all 1s ease;}
.popup .popup-content{background:#ffffff;max-width:1024px;padding: calc( var(--base-type-spacing) / 1.7 );position:relative;width:100%; border-radius: 1rem; }
.popup .popup-content .popup-close{height: calc( var(--base-type-spacing) / 1.7 );width: calc( var(--base-type-spacing) / 1.7 );position: absolute;top:0;right:0;background:var(--brand-1);cursor: pointer; border-radius: 0 1rem 0 0;}
.popup.active { transition: all 1s ease; }
.popup-close:before, .popup-close:after{content:'';width: calc( var(--base-type-spacing) / 3 );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);}





@media screen and (max-width:576px ) {
	.companyname { padding: 1rem 0 0 0; text-align: center; }
	.site-footer .footer-sub-wrapper ul,  { text-align: center; padding: 0 0 0 0; margin: 0 0 0 0;  }
	.footer-sub-wrapper .container .grid { grid-gap: 0rem; }
	.footer-main { text-align: center; }
	.site-banner { font-size: 80%; }
	
	.site-footer .footer-sub-wrapper .grid{grid-template-columns:1fr 1fr;align-items:center;}
.site-footer .footer-sub-wrapper ul { text-align: center; padding: 0 0 0 0; margin: 0 0 0 0; }
.site-footer .footer-sub-wrapper ul li { display: inline-block;margin:0;padding:0;}
.site-footer .footer-sub-wrapper ul li a { display: inline-block; padding: 1rem; }
	.social-icons a { margin-left: .25rem; margin-right: .25rem; margin-top: 1rem; }
	.col.footer-contacts { text-align: center; }
	.address > div { display: inline; margin-left: .25rem; margin-right: .25rem; }
	.email, .phone-number { font-size: 140%;}
	.email { margin-top: 1rem; }
	.phone-number{ margin-bottom: 1rem; }
	ul#menu-footer-left-navigation-managed-in-widgets, ul#menu-footer-right-navigation-managed-in-widgets { columns: 2; gap: 2rem; }

}