/*
Theme Name: Toast
Description: Lightweight, tasty and totally awesome.
Author: Dave Foreman, Aaron Jones and the Toast team
Date: November 2024
Version: 16.0.0
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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-playfair-display-v39-latin-400-normal-1764757384.woff2') format("woff2");
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-playfair-display-v39-latin-400-italic-1764757384.woff2') format("woff2");
}

:root {
  --ywf--family-playfair-display: 'Playfair Display';
}


@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-lora-v36-latin-400-normal-1764757519.woff2') format("woff2");
}

@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-lora-v36-latin-400-italic-1764757519.woff2') format("woff2");
}

@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/wp-content/uploads/yabe-webfont/fonts/google-fonts-lora-v36-latin-700-italic-1764759416.woff2') format("woff2");
}

:root {
  --ywf--family-lora: 'Lora';
}

/**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: 50.5%;}
body {font-size: 2.2rem; line-height: 1.6; font-family: var(--ywf--family-lora); font-weight: 400; color: var(--text-color); margin: 0; padding: 0 !important; letter-spacing: 0.3px;}
#page{ overflow-x: clip; 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 */
.site-header{position: fixed; width: 100%; top: 0; left: 0; z-index: 19; background-color: transparent;}
.site-header:hover{background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(10px); transition: background-color 0.2s ease-in-out;}
.admin-bar .site-header{top: 32px;}
.site-header .container{    max-width: 100%;  width: 100%; padding: 0 10rem; }
.site-header .grid{grid-template-columns:12rem 1fr;align-items:center;}
.site-header .site-logo{display: block;}
.site-header .alt-logo{display: none;}

/* Site Header Scroll */
.site-header.sticky{background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(10px); transition: background-color 0.2s ease-in-out;}
/* .site-header.sticky .top-nav li a{color: var(--brand-1);} */
/* .site-header.sticky .site-logo{display: none;}
.site-header.sticky .alt-logo{display: block;}
.site-header.sticky .header-buttons .header-button{background-color: transparent; border: 1px solid var(--brand-1);} */

/* Navbar & Menus */
.top-nav {text-align: right; display: flex; align-items: center; justify-content: end;}
.top-nav ul { margin: 0 auto; padding: 0;}
.top-nav li { display: inline-block; margin: 0;padding:0; position: relative;}
.top-nav li a { display: inline-block; line-height: 1; color: #fff; font-family: var(--ywf--family-playfair-display); padding: 5rem 2rem; text-transform: uppercase; letter-spacing: 1px; text-decoration: none;}

.top-nav .header-buttons{white-space: nowrap;}
.top-nav .header-buttons .header-button:first-of-type{margin-left: 0;}
.top-nav .header-buttons .header-button{font-family: var(--ywf--family-lora);font-size: 2.4rem;border: 1px solid #fff;padding: .75rem 2rem; margin-right: 2rem;  background-color: #fff;color: var(--brand-1);border-radius: 1rem;line-height: 1;text-transform: uppercase;}
.top-nav .header-buttons .header-button.tel {background: var(--brand-1); color: #fff; padding: .75rem 2rem; border: 1px solid var(--brand-1);text-transform: uppercase;}

.top-nav .header-buttons .header-button:hover{background: var(--brand-1); color: #fff;}
.top-nav .header-buttons .header-button.tel:hover{background: var(--brand-1); color: #fff;}

/* Submenus Dropdowns*/
.top-nav .sub-menu{ position: absolute;bottom:0;left: 0; white-space: nowrap;text-align: left;z-index:5;opacity:0;pointer-events:none;transition:all .5s;transform:translatey(100%); background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(10px); transition: all 0.5s ease-in-out; padding: 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; 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 { padding: 2rem 3rem 2rem 3rem; transition: all 0.5s  ease-in-out;  }
.top-nav li ul.sub-menu li  a:hover { padding: 2rem 2rem 2rem 4rem; transition: all 0.2s  ease-in-out;  }

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

/* Typography*/
:root {
	--base-type-spacing: 6rem;  /* You only need to change this value to change ALL of the type margings */
	--base-heading-size: 9rem;
}

/* Headings */
h1, h2, h3, h4, h5, h6 { margin-top: 0; line-height: 1.2; margin:0; color: var(--brand-1); font-family: var(--ywf--family-playfair-display); font-weight: 400; letter-spacing: -0.59px;}
.has-bg h1, .has-bg .h1 { color: #fff; }
h1, .h1{font-size: calc( var(--base-heading-size) * 1.2 );font-weight: 400; text-transform: uppercase;}
h2, .h2{ font-size: calc( var(--base-heading-size) / 1.7 ); font-weight: 400; }
h3, .h3{ font-size: calc(var(--base-heading-size) / 1.8); font-weight: 400; }
h4, .h4{ font-size: calc(var(--base-heading-size) / 2.9);text-transform: uppercase; line-height: 1.4; }
h5, .h5{ font-size: calc( var(--base-heading-size) / 3 ); margin-bottom: calc( var(--base-type-spacing) / 3.5 ); text-transform: uppercase;}
h6, .h6{ font-size: calc( var(--base-heading-size) / 4 ); }
.has-bg h1, .has-bg .h1 { color: #fff; }
.has-bg h2, .has-bg .h2 { color: #fff; }
.has-bg h3, .has-bg .h3 { color: #fff; }
.has-bg h4, .has-bg .h4 { color: #fff; }
.has-bg h5, .has-bg .h5 { color: #fff; }
.has-bg h6, .has-bg .h6 { color: #fff; }

/* Paragraphs*/
p { margin:0;margin-bottom: calc( var(--base-type-spacing) / 3 ); letter-spacing: 0.3px; }

/* Fine-tune typography */
h1 + p, h1 + div { margin-top: calc( var(--base-type-spacing) / 2 ); }
h2 + p, h2 + div { margin-top: calc( var(--base-type-spacing) / 2 ); }
h3 + p, h3 + div { margin-top: calc( var(--base-type-spacing) / 5 ); }
h4 + p, h4 + div { margin-top: calc( var(--base-type-spacing) / 5 ); }
h5 + p, h5 + div { margin-top: calc( var(--base-type-spacing) / 3.5 ); }
h6 + p, h6 + div { margin-top: calc( var(--base-type-spacing) / 4 ); }
p + ul, p + ol { margin-top: calc( var(--base-type-spacing) / 2 ); }
ul + p, ol + p { margin-top: calc( var(--base-type-spacing) / 1.75 ); }
h3 + h4 {margin-top: calc( var(--base-type-spacing) / 5 );}
h1 + table, h2 + table, h3 + table, h4 + table, h5 + table, h6 + table { margin-top: calc( var(--base-type-spacing) / 2 ); }
table + p { margin-top: calc( var(--base-type-spacing) / 1.75 ); }
h1 + ul, h2 + ul, h3 + ul, h4 + ul, h5 + ul, h6 + ul { margin-top: calc( var(--base-type-spacing) / 2 ); }
h1 + ol, h2 + ol, h3 + ol, h4 + ol, h5 + ol, h6 + ol { margin-top: calc( var(--base-type-spacing) / 2 ); }
ul + h1, ul + h2, ul + h3, ul + h4, ul + h5, ul + h6 { margin-top: calc( var(--base-type-spacing) / 1.75 ); }
ol + h1, ol + h2, ol + h3, ol + h4, ol + h5, ol + h6 { margin-top: calc( var(--base-type-spacing) / 1.75 ); }
img + p, p + image, picture + p, p + picture { margin-top: calc( var(--base-type-spacing) / 2 ); }
picture { display: block; }


/* Tables */
table { width: 100%; border-collapse: collapse; margin-bottom: calc(var(--base-type-spacing) / 2); text-align: left;  }
thead th { background-color: var(--brand-1); font-weight: bold; text-align: left; padding: 1rem; color: #fff; font-size: 120%; }
tbody tr:nth-child(even) { background-color: #fff; }
tbody tr:nth-child(odd) { background-color: var(--brand-8); }
tbody tr:hover { background: var(--brand-2); color: #fff; }
tbody td, tbody th { padding: 1rem; }
table { border: none; }
td { border: .15rem solid var(--brand-1);  }
th { border-width: .15rem .15rem .3rem .15rem; border-style: solid; border-color: var(--brand-1); }

@media screen and (max-width: 768px) {
  table {
   /* display: block;*/
    overflow-x: auto;
    width: 100%;
  }
}

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

/**Lists**/
ul:not(.block-menu ul){ margin:0; padding-left: 2rem; list-style: disc outside; }
li { margin:0;margin-bottom: calc( var(--base-type-spacing) / 10 ); }

/*Links*/
a:not(.block-menu a) { text-decoration: none;}
a { color:inherit;}
p a { color: var(--brand-1);}
.has-bg p a:not(.toast-primary-button) {color: #fff;}
a:hover { text-decoration: underline; }

/**Generic Hero**/
.generic-hero{padding: calc( var(--base-type-spacing) / 2 ) 0;background:var(--brand-1);color:#ffffff;}

/**Blog**/
.blog-grid{grid-template-columns:1fr 350px;}

/*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*/
.site-footer {background-color:var(--brand-1); position: relative; text-align: center; color:var(--brand-3);}
.site-footer h3 { color:var(--brand-3); font-family: var(--ywf--family-playfair-display);  font-style: italic; font-size: 4rem; }
.site-footer .footer-logo{margin-bottom: calc( var(--base-type-spacing) / 3 );display:inline-block;max-width:14rem;}
.site-footer .footer-main{padding: 4rem 0; position: relative;}
.site-footer .footer-main .grid{grid-template-columns:1fr;}

.site-footer .footer-main::before{content: ''; height: 1px; width: 100%; background-color: var(--brand-1); position: absolute; bottom: 0; left: 0; right: 0;}

.site-footer .social-icons{margin-top:calc( var(--base-type-spacing) / 3 );}

.site-footer .footer-main .col.widget{display: grid; grid-template-columns: 1fr 1fr; grid-gap: 4rem;}

/* Sub footer */
.site-footer .footer-sub-wrapper {padding: 2rem 0; font-size:1.65rem; position: relative;}
.site-footer .footer-sub-wrapper .footer-menu{display: inline-flex; justify-content: center;}
.site-footer .footer-sub-wrapper .bottom-menu{font-size: 1.3rem;}
.site-footer .footer-sub-wrapper ul {padding-left: 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: 0 1.5rem; }

.site-footer .footer-sub-wrapper ul ul.sub-menu{display: none;}
.site-footer .footer-sub-wrapper .bottom-menu ul li {position: relative; line-height: 1;}
.site-footer .footer-sub-wrapper .bottom-menu ul li a{padding: 0 .6rem 0 .3rem;}
.site-footer .footer-sub-wrapper .bottom-menu li::after{content: ''; height: 100%; width: 1px; background-color: var(--brand-1); position: absolute; right: 0; top: 0; bottom: 0; display: block;}

.site-footer .footer-sub-wrapper .bottom-menu ul li:last-of-type::after{display: none;}
.site-footer .footer-sub-wrapper .bottom-menu ul li:last-of-type a{padding-right: 0;}

/**Social Icons**/
.social-icons a{width: 2.5rem; height: 2.5rem;display: inline-block; scale: 1; border-radius: 5px; transition: all .2s;}
.social-icons a:hover {scale: 1.2; transition: all .2s;}

/*Forms*/
input, textarea, select { width:100%;outline:none;font-family:inherit; border:1px solid #222; padding: 1rem; }
input[type="submit"] {border: 1px solid #222;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; }

/* 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(max-width: 1500px){
  h1{font-size: calc( var(--base-heading-size) / 1.85 );}
}

@media(max-width: 1024px){
  h1{font-size: calc( var(--base-heading-size) / 2 );}
}

@media(max-width:1400px){
  .site-header .grid{grid-gap:10px;}
  .site-header .container{max-width:none;padding:0 20px;width:100%;}
}

@media(max-width:1300px){
  .top-nav li a{font-size:1.6rem;padding:5rem 1.25rem;}
}

@media(max-width:1024px){
  .site-header { display: none;}
  #menu-mobile-menu{padding:0;}
  .toast-mm-menu li:nth-last-of-type(2), .toast-mm-menu li:nth-last-of-type(1){background:#ffffff !important;}
  .toast-mm-menu li:nth-last-of-type(2) a, .toast-mm-menu li:nth-last-of-type(1) a{color:#222 !important;}
}

@media(max-width: 768px){
  
  .site-footer .footer-sub-wrapper .footer-menu{display: block;}
}