/*
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%; overflow-x: hidden;}
body{font-size: 1.6rem;line-height: 1.6;font-family: "Open Sans", 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 {overflow: hidden;}

/* Header */
.site-header .grid{grid-template-columns:185px 1fr;align-items:center;}
.site-header.has-site-banner { margin-top: 5rem; }
.site-header .container { width: 90%; max-width: 90%; }
/* Navbar & Menus */
.top-nav {font-size: 1.95rem;text-align: right; display: flex; justify-content: end; align-items: center;}
.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: 4.5rem 1rem; line-height: 1; color: var(--brand-1); font-weight: bold;}
.top-nav li:hover > a, .top-nav li.current-menu-item a { color:var(--brand-2); }

.top-nav .spacer{color: var(--brand-1);}
.site-header .tel{padding: 0 0 0 1rem; font-weight: bold;}

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

/* Mobile Menu */
.site-header .mobile-menu{display: none;}

@media(max-width: 1024px) {
	.admin-bar .site-header{top: 32px;}
	.site-header{padding: 1rem; position: fixed; top: 0; left: 0; width: 100%; z-index: 999; background-color: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); border-bottom: 2px solid var(--brand-1);}
	.site-header .grid{grid-template-columns: 150px 1fr;}
	#page{padding-top: 86px;}

	.admin-bar .site-header .top-nav{top: calc(32px + 86.56px);}
	.site-header .top-nav{position: fixed; top: 86.56px; right: 0; width: 300px; height: max-content; background: #fff; z-index: 999; transform: translateX(100%); border-bottom-left-radius: 4rem; border-bottom-right-radius: 4rem; border: 2px solid var(--brand-1); border-top: 0; transition: all .3s ease-in-out; display: block; text-align: left; overflow-y: scroll;}
	.site-header .top-nav li{display: block; }
	.site-header .top-nav li::before{width: 55%; height: 2px; background-color: var(--brand-1); position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); display: block; opacity: .8; content: ""; transition: all .3s ease-in-out;}
	.site-header .top-nav li a{display: block; padding: 2rem 3rem; text-align: center;}
	.site-header .top-nav li a:hover{background-color: rgba(0, 0, 0, 0.2);}

	.site-header .top-nav li:first-of-type::before{width: 66%;}
	.site-header .top-nav li:last-of-type::before{display: none;}

	.site-header .top-nav li:hover::before{width: 80%; opacity: .95; transition: all .3s ease-in-out;}

	.site-header .top-nav .tel, .site-header .top-nav .spacer{display: none;}
	.mobile-toggle-on .site-header .top-nav{transform: translateX(-10px); transition: all .3s ease-in-out;}
	.site-header .mobile-menu{display: flex; text-align: right; justify-content: end; align-items: center; gap: 2rem;}

	.site-header .mobile-menu-trigger{width:26px; height:20px; cursor: pointer; margin-left: 1rem; vertical-align: middle; display: inline-flex; position: relative; align-items: center; justify-content: space-evenly; flex-direction: column;}
	.site-header .mobile-menu-trigger span{width: 90%; height: 4px; background-color: var(--brand-1); border-radius: 2px; display: block; position: absolute; left: 50%; transform: translateX(-50%); transition: all .5s;}
	.site-header .mobile-menu-trigger span:nth-child(1){top: 0;}
	.site-header .mobile-menu-trigger span:nth-child(2){width: 100%; top: 50%; transform: translate(-50%, -50%);}
	.site-header .mobile-menu-trigger span:nth-child(3){bottom: 0;}

	.mobile-toggle-on .site-header .mobile-menu-trigger{display: inline-block;}
	.mobile-toggle-on .site-header .mobile-menu-trigger span{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); transition: all .5s;}
	.mobile-toggle-on .site-header .mobile-menu-trigger span:first-of-type{transform: translate(-50%, -50%) rotate(45deg); transition: all .5s;}
	.mobile-toggle-on .site-header .mobile-menu-trigger span:nth-of-type(2){opacity: 0; transform: translateX(100%); transition: all .5s;}
	.mobile-toggle-on .site-header .mobile-menu-trigger span:last-of-type{transform: translate(-50%, -50%) rotate(-45deg); transition: all .5s;}

	.site-header .mobile-menu-trigger:hover span{width: 100%;}
	.site-header .mobile-menu-trigger:hover span:nth-child(2){width: 90%;}
}

@media(max-width: 768px) {
	html:has(.admin-bar){margin-top: 0 !important;}
	.admin-bar .site-header{top: 0;}
	.admin-bar .site-header .top-nav{top: 86.56px;}
	.site-header .grid{grid-template-columns: 150px 1fr !important;}

}

@media(max-width: 550px) {
	.site-header .container{padding: 0;}
	.site-header .grid{grid-template-columns: 130px 1fr !important; grid-gap: 1rem;}
	.site-header .mobile-menu{gap: 0;}
	.site-header .tel{font-size: 1.5rem;}

	#page{padding-top: 79.69px;}
	.admin-bar .site-header .top-nav{top: 77.69px;}
	.site-header .top-nav{top: 77.69px; right: -12px; border-bottom-right-radius: 0;}

	.site-header .mobile-menu-trigger{width: 18px; height: 14px;}
	.site-header .mobile-menu-trigger span{width: 85%; height: 3px;}

	.site-header .mobile-menu-trigger:hover span:nth-child(2){width: 85%;}
}

/* Typography & Lists */
h1, h2, h3, h4, h5, h6 { margin-top: 0; line-height: 1.2; margin: 0 0 0 0; font-family: "Jost", sans-serif;}
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; color: var(--brand-2); color: inherit;}
h4 { font-size: 3.25rem; margin-bottom: 2.5rem; color: var(--brand-2); color: inherit;}
h5 { font-size: 3rem; 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; }

.section-title-area h3{font-size: 5rem;}

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

/* 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-1); }
a:hover { text-decoration: none; color: var(--brand-2); }
p a { text-decoration:none;color:var(--brand-1); }
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; }
.sidebar img { width: 100%; height: auto; margin-bottom: 4rem;}
.sidebar ul { list-style: none;  margin: 0; padding: 0;  }
.sidebar ul li { margin: 0; padding: 0; }
.sidebar ul li a { display: block; padding: .5rem 0; border-bottom: 1px solid var(--brand-1); }
.sidebar .main-sidebar-widget { margin-bottom: 4rem; }
/*Footer*/
.site-footer, .site-footer a{color:var(--text-color);}
.footer-main{clear: both;}
.site-footer .logo img {margin-bottom:2rem;display:inline-block;max-width:200px;}
.footer-main .address { margin-bottom: 2rem; }

.footer-main .grid.menus{grid-template-columns: 1fr 1fr 1fr; font-size: 2rem;}

.site-footer .col.contact{}

.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%;}

.social-icons a:nth-of-type(odd) {background-color: var(--brand-1);}
.social-icons a:nth-of-type(even) {background-color: var(--brand-2);}

.social-icons a:nth-of-type(odd):hover {background-color: var(--brand-2);}
.social-icons a:nth-of-type(even):hover {background-color: var(--brand-1);}

/**Footer Widgets**/
.footer-widget-title { font-size: 2.75rem; margin-bottom: 2rem; color: var(--brand-2); font-weight: 600;}
.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; color: var(--text-color);}

.site-footer .phone-number a{font-size: 3rem; color: var(--brand-1);}
.site-footer .phone-number a:hover{color: var(--brand-2);}

/* Sub footer */
.footer-sub-wrapper, .footer-sub-wrapper li { font-size: 1.5rem;}
.footer-sub-wrapper {padding:2rem 0; color: #fff; position: relative; overflow: hidden; background-color: var(--brand-1);}
.footer-sub-wrapper .bottom-menu ul { text-align: center; }
.footer-sub-wrapper .bottom-menu ul li { display: inline-block;}
.footer-sub-wrapper .bottom-menu ul li a { display: inline-block; color: var(--brand-2); color: #fff; padding: 0 1rem; border-right: 1px solid #fff; line-height: 1;}
.footer-sub-wrapper .bottom-menu ul li:last-child a { border-right: none; }
.footer-sub-wrapper .bottom-menu ul li a:hover { background-color: rgba(255, 255, 255, .2);}

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

@media(max-width: 1400px) {
	.site-header .container{max-width: 95%;}
}

@media (max-width: 768px) {
    .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;}

	#wpadminbar{display:none}
	.admin-bar .toast-mm-banner{top: 0 !important;}
}

@media (max-width: 576px) {
	.site-footer .social-icons a{width: 4rem; height: 4rem;}
	.social-icons a{width:2rem;height:2rem;}
    .footer-sub-wrapper .bottom-menu ul { text-align: center; }
	h1 { font-size: 4rem; margin-bottom: 2.5rem; }
	h2 { font-size: 3.5rem; margin-bottom: 2.25rem; }
	h3 { font-size: 3.25rem; margin-bottom: 2rem; }
	h4 { font-size: 2.75rem; margin-bottom: 1.75rem; }
	h5 { font-size: 2.5rem; margin-bottom: 1.5rem; }
	h6 { font-size: 2.25rem; margin-bottom: 1.5rem; }
	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;}
}

/* Credits Page */

#otp-single-credit{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 20px;
  margin: 0 40px;
  text-align: justify;
}

@media (max-width: 992px) {
  #otp-single-credit{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: calc(100% - 40px);
    margin: 0 20px;
  }
}

#otp-single-credit-featured{
  padding-top: 75px;
  text-align: center;
}

#otp-single-credit-text .pbth{
  padding: 0;
}

#otp-single-credit-text h3{
  padding-top: 75px;
  padding-left: 10px;
  text-align: left;
}

#otp-single-credit-text .container{
  width: 100% !important;
  margin: 0 !important;
}

@media (min-width: 992px) {
  #otp-single-credit-text .container {
    max-width: 100%;
  }
}

@media (max-width: 992px) {
  #otp-single-credit-text .container {
    max-width: 100%;
  }
}

.otp-credit-label {
  font-weight: 700;
}

.otp-single-credit-link{
  padding-left: 15px;
  padding-top: 20px;
}

/* Demos Page */
.otp-demo-spacer{
  margin: 40px 0;
  color: #38b34b;
}

.otp-demo-grid{
  display: grid;
  grid-template-columns: 150px 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 40px;
  grid-row-gap: 0px;
}

/* News Page */
.news-grid{
  display: grid;
  grid-template-columns: 400px 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 40px;
}

.news-grid iframe{
  max-width: 100%;
}

@media(max-width: 1190px) {
  .news-grid{
    grid-template-columns: 300px 1fr;
  }

  .pbth {
    padding: 0;
  }
}

@media(max-width: 760px) {
  .news-grid{
    grid-template-columns: 1fr;
  }

  .thumbnail{
    margin-bottom: 30px;
  }

  .pbth {
    padding: 0;
  }
}

/* Footer */

.grid.menus li a,
.grid.menus .address{
  font-size: 1.6rem;
}

.site-footer .phone-number a{
  font-size: 2rem;
}


/* Contact Page */

.page-id-1138 h2{
  margin-bottom: 20px;
}

/* WooCommerce - GDP */

.otp-woo-container{
  padding-top: 20px;
}

.woocommerce-Price-amount{
  color: var(--brand-1);
}

/* Make WooCommerce Buttons Green */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
  background-color: var(--brand-1) !important;
  color: #fff !important;
}

/* Cart Header Text */
table.wc-block-cart-items .wc-block-cart-items__header {
  font-size: 1.8rem !important;
  text-transform: capitalize !important;
}

/* Cart Product Name */
.wc-block-components-product-name{
  font-size: 1.8rem !important;
  font-weight: 600 !important;
}

/* Cart Totals Text */
.is-large.wc-block-cart .wc-block-cart__totals-title{
  font-size: 1.8rem !important;
  text-transform: capitalize !important;
}

/* Checkout Place Order Button */
.wc-block-components-checkout-place-order-button{
  background-color: var(--brand-1) !important;
  color: #fff !important;
  font-size: 1.6rem !important;
}

/* Basket Page Button */
.wc-block-components-button{
  background-color: var(--brand-1) !important;
}

.wc-block-components-button .wc-block-components-button__text{
  color: #fff !important;
}

/* Menu Style Changes */

.top-nav .sub-menu {
  z-index: 999 !important;
  transform: translatey(10px);
  border-top: 1px solid #ddd;
}

.top-nav li ul.sub-menu li a {
  color: var(--brand-2);
  background: #fff;
  border: 1px solid #eee;
  border-top: 0;  
}

@media screen and (max-width: 1024px) {
  .top-nav .sub-menu {
    display: none !important;
  }
}