/*
 Theme Name:   Cambridge Books
 Theme URI:    https://hollandadhaus.com
 Description:  Child theme of GeneratePress created by Holland Adhaus.
 Author:       Holland Adhaus
 Author URI:   https://hollandadhaus.com
 Template:     generatepress
 Version:      0.7
*/

/**
 * HA
 */

/* Hide featured images used for preload */
.page .featured-image.page-header-image {
    display: none !important;
    visibility: hidden !important;
}
/* Navigation transitions */
.main-navigation a, 
.main-navigation .menu-toggle, 
.main-navigation .menu-bar-items, 
.main-navigation a:hover, 
.main-navigation .menu-toggle:hover, 
.main-navigation .menu-bar-items:hover, 
.main-navigation a:active, 
.main-navigation .menu-toggle:active, 
.main-navigation .menu-bar-items:active, 
.main-navigation a:focus, 
.main-navigation .menu-toggle:focus, 
.main-navigation .menu-bar-items:focus {
    transition: color .2s ease !important;
}
/* Elementor icon list and nav menu transitions */
.elementor-nav-menu a, 
.elementor-nav-menu a:hover, 
.elementor-nav-menu a:active, 
.elementor-nav-menu a:focus, 
.elementor-icon-list-item a span, 
.elementor-icon-list-item a:hover span, 
.elementor-icon-list-item a:focus span, 
.elementor-icon-list-item a:active span, 
.elementor-social-icon *,
.elementor-social-icon:hover *,
.elementor-social-icon:focus *,
.elementor-social-icon:active * {
    transition: all .2s ease !important;
} 
/* Elementor lazy load carousel/swiper compat */
.swiper-slide-image.swiper-lazy.lazy-hidden, 
.entry img.swiper-slide-image.swiper-lazy.lazy-hidden, 
img.thumbnail.swiper-slide-image.swiper-lazy.lazy-hidden {
    opacity: 1 !important;
}
/* Vertical table for hours */
.hours-table table {
    margin-bottom: 0;
}
.hours-table table thead, 
.hours-table table tbody {
    display: inline-block;
}
.hours-table table, 
.hours-table td, 
.hours-table th {
    border: none;
    text-align: left !important;
}
.hours-table td, 
.hours-table th {
    padding: 0.25rem 1rem 0 0;
}
.hours-table {
    white-space: nowrap;
}
@media (max-width: 1366px) {
    .hours-table .elementor-widget-container {
        margin-left: 0 !important;
    }
}

/**
* Custom
*/

/** 
* Nav icons 
*/
.inside-header a .gp-icon svg {
    width: 1.1rem;
    height: 1.1rem;
    top: 0.25rem;
    overflow: visible;
}
.inside-header nav li a .gp-icon {
    margin-right: 0.25rem;
}

/**
* Gravity Forms
*/

/* Form reCAPTCHA consent message */
.form-consent-message {
    font-size: 0.8rem;
    color: #9e9e9e;
}
.form-consent-message a {
    color: inherit;
}
/* Hide required initial instructions */
.gform_required_legend {
    display: none !important;
}
/* Rounded input corners */
.gform_wrapper.gravity-theme input[type="color"], 
.gform_wrapper.gravity-theme input[type="date"], 
.gform_wrapper.gravity-theme input[type="datetime-local"], 
.gform_wrapper.gravity-theme input[type="datetime"], 
.gform_wrapper.gravity-theme input[type="email"], 
.gform_wrapper.gravity-theme input[type="month"], 
.gform_wrapper.gravity-theme input[type="number"], 
.gform_wrapper.gravity-theme input[type="password"], 
.gform_wrapper.gravity-theme input[type="search"], 
.gform_wrapper.gravity-theme input[type="tel"], 
.gform_wrapper.gravity-theme input[type="text"], 
.gform_wrapper.gravity-theme input[type="time"], 
.gform_wrapper.gravity-theme input[type="url"], 
.gform_wrapper.gravity-theme input[type="week"], 
.gform_wrapper.gravity-theme select, 
.gform_wrapper.gravity-theme textarea, 
.gform_wrapper.gravity-theme .ginput_complex input, 
.gform_wrapper.gravity-theme .ginput_complex select, 
.gform_wrapper.gravity-theme .gform_footer button, 
.gform_wrapper.gravity-theme .gform_footer input, 
.gform_wrapper.gravity-theme .gform_page_footer button, 
.gform_wrapper.gravity-theme .gform_page_footer input {
    border-radius: 5px;
}
/* Hide instructions on fields with class .hide-instruction */
.gform_wrapper .gfield.hide-instruction .instruction {
    display: none;
    visibility: none;
}
/* Submit buttons */
.gform_button, .gform_wrapper input[type="submit"] {
    font-weight: 800;
    font-family: 'barlow', sans-serif;
    font-size: 1.2rem;
}
/* Fix state subfield in address field */
.ginput_address_state {
    margin-bottom: 8px;
}

.gform_fields {
    --gf-form-gap-y: 1.5rem;
}
.gform-button {
    color: var(--cb-red);
    border-radius: 5px !important;
    font-family: "Teko", Sans-serif;
    font-weight: 500 !important;
    letter-spacing: 0.25px;
    font-size: 1.5rem;
}
.gform-button:hover, 
.gform-button:active, 
.gform-button:focus {
    color: var(--cb-red-light) !important;
    --gf-ctrl-btn-bg-color-hover-primary: var(--cb-red-light) !important;
    color: #fff !important;
}
.gform_wrapper .gform-button--width-full {
    width: 100% !important;
}
.gform_wrapper .gform_button, 
.gform_wrapper input[type="submit"] {
    font-family: "Teko", Sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    border-radius: 5px !important;
    background: var(--cb-red);
    color: #fff;
    letter-spacing: 0.25px;
    font-size: 1.75rem !important;
}
.gform_wrapper .gform_button:hover, 
.gform_wrapper .gform_button:active, 
.gform_wrapper .gform_button:focus, 
.gform_wrapper input[type="submit"]:hover, 
.gform_wrapper input[type="submit"]:active, 
.gform_wrapper input[type="submit"]:focus {
    background: var(--cb-red-light) !important;
    color: #fff !important;
}
.gff-round input {
    border-radius: 10000px !important;
  }

/**
* Fix vertical alignment of Elementor buttons with Teko font
*/
.elementor-button .elementor-button-text {
  margin-bottom: -3.5px;
}

.elementor-button .elementor-button-icon, 
.elementor-button .elementor-button-icon svg, 
.elementor-button:hover .elementor-button-icon, 
.elementor-button:hover .elementor-button-icon svg, 
.elementor-button:active .elementor-button-icon, 
.elementor-button:active .elementor-button-icon svg, 
.elementor-button:focus .elementor-button-icon, 
.elementor-button:focus .elementor-button-icon svg {
    transition: all 0.3s ease;
}

/**
* Better layout for GF newsletter signup form with CF Turnstile
*/
.newsletter-section .elementor-widget-shortcode {
    width: 100% !important;
}
.newsletter-section form {
    display: flex;
    flex-direction: row;
}
.newsletter-section .gform-body {
    width: 100% !important;
}
.newsletter-section .gform_fields {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    align-items: center;
}
.newsletter-section .gfield--type-email {
    flex-grow: 1;
}
.newsletter-section input[type="email"] {
    height: 70px !important;
}
.newsletter-section #field_submit {
    align-items: center !important;
    flex-grow: 0;
    display: flex !important;
    flex-wrap: nowrap !important;
}
.newsletter-section .gf-turnstile-container {
    padding-top: 18px;
}
.newsletter-section #field_submit .gform-button {
    min-width: 200px;
    height: 70px;
    flex-grow: 1;
}
@media (max-width: 768px) {
    .newsletter-section form {
        flex-direction: column;
    }
    .newsletter-section .gform_fields {
        flex-direction: column !important;
    }
    .newsletter-section .gfield--type-email {
        width: 100%;
    }
    .newsletter-section #field_submit {
        align-items: center;
        flex-grow: 1;
        display: flex !important;
    }
}
@media (max-width: 540px) {
    .newsletter-section form {
        display: block !important;
    }
    .newsletter-section .gform_fields {
        display: block !important;
    }
    .newsletter-section .gfield--type-email {
        display: block !important;
    }
    .newsletter-section #field_submit {
        display: block !important;
    }
    .newsletter-section #field_submit .gform-button {
        display: block !important;
    }
}

.cont-split-right, 
.cont-split-left {
    max-width: 684px;
}
@media (max-width: 1366px) {
    .cont-split-right, 
    .cont-split-left {
        max-width: 684px;
    }
}
@media (max-width: 1024px) {
    .cont-split-right, 
    .cont-split-left {
        max-width: unset;
    }
}

@media (max-width: 767px) {
    .e-n-tab-title[aria-selected="false"] {
        border-radius: 5px !important;
    }
}

/* WooCommerce */
body.single-product .woocommerce-notices-wrapper {
    position: fixed;
    display: block;
    z-index: 10000;
    width: 100%;
    bottom: 0;
}
body.single-product .woocommerce-notices-wrapper .woocommerce-message {
    margin: 0;
}
#wc-sticky-cart-panel {
  background: #fafafa;
  padding: 10px;
}
#wc-sticky-cart-panel .button {
  font-size: 1.5rem;
  line-height: 2rem;
  padding: 0.5rem 1rem;
  border-radius: 5px;
}
.single-product .variations .value {
  padding-right: 0 !important;  
}
.single-product .variations select {
  width: 100%;
  padding-right: 0 !important;
}
.single-product .variations .label {
  padding: 0;
  text-align: left;
}
.single-product .variations {
  display: flex;
  flex-direction: row;
  padding-bottom: 0;
}
.single-product .variations tbody, 
.single-product .variations tr {
  width: 100%;
}
.single-product .variations tr {
  display: flex;
  flex-direction: column;
  align-items: baseline;
}
.single-product .variations tr th, 
.single-product .variations tr td {
    width: 100%;
}
.single-product #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
}
#review_form #submit {
  border-radius: 5px !important;
  font-size: 1.5rem !important;
  padding: 1rem 2.5rem !important;
  line-height: 2rem !important;
}
.cart-contents > span.number-of-items {
  font-size: 1rem;
}
.pht {
    color: red;
    background: yellow;
    font-weight: 900;
    text-decoration: underline double;
    border: 2px dashed #637bff;
    text-transform: uppercase;
}
.elementor-widget-woocommerce-cart .woocommerce .remove {
  font-size: 1rem !important;
  line-height: 1rem !important;
  width: 1.25rem !important;
}
.quantity.buttons-added {
  display: flex;
  flex-direction: row;
}