/* <span id="orders-mail-at">@</span><span class="fr-mail-dot">.</span> */
/*
#wpadminbar {
    display: none;
}*/


/******************************************
|
| General styles
|
*******************************************/

:root {
    --fr-deep-red: #b20000;
    --fr-background-grey: #f4f4f4;
    --fr-deep-blue: #183364;
    --fr-light-color: #f4f4f4;
    --fr-dark-color: #3d3d3d;
    --fr-good-green: #006b05;
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/wp-content/fonts/lato/lato-light.woff2') format('woff2'),
             url('/wp-content/fonts/lato/lato-light.woff') format('woff');
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/wp-content/fonts/lato/lato-regular.woff2') format('woff2'),
             url('/wp-content/fonts/lato/lato-regular.woff') format('woff');
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/wp-content/fonts/lato/lato-bold.woff2') format('woff2'),
             url('/wp-content/fonts/lato/lato-bold.woff') format('woff');
}

body, h1, h2, h3, h4, h5, h6 {
    font-family: 'Lato', sans-serif;
}

span.woocommerce-Price-amount.amount {
    font-weight: unset;
}

.bold {
    font-weight: bold;
}

.normal {
    font-weight: normal;
}

body, body p, body span, body div,
body h1, body h2, body h3, body h4, body h5, body h6,
body a {
    color: black;
}

body h4 {
    margin-bottom: 0em;
}

body button, body .button, body a.button,
body a.button.checkout-button,
body .wc-block-components-checkout-place-order-button {
    font-weight: normal;
    border-radius: 7px;
    height: 30px;
    color: white;
    background-color: var(--fr-deep-red);
}

body button.secondary, body .button.secondary, body a.button.secondary {
    color: var(--fr-deep-red);
    background-color: var(--fr-background-grey);
    border: 2px solid var(--fr-deep-red);
}

body button.secondary:hover, body .button.secondary:hover, body a.button.secondary:hover {
    box-shadow: none;
    background-color: white;
}

button:not(.secondary) div, .button:not(.secondary) span {
    color: white;
}

button:disabled,
.button:disabled,
button[disabled],
.button[disabled] {
    cursor: default;
}

#main, nav {
    opacity: 0; /* Restored in JS */
}

@media ( max-width: 549px ) {
    body h3, body h4 {
        font-size: 1.1em;
    }
}

#footer span {
    color: white;
}

body div.cky-consent-container, body div.cky-modal {
    opacity: 0;
}

/******************************************
|
| Coming Soon page
|
*******************************************/

body.page-id-1226 {
    background-color: black;
    height: 2000px;
    max-height: 100%;
}

body.page-id-1226 .col-inner div.img.has-hover {
    min-width: 150px;
}

.ellipsis-single-line {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

h1, body.woocommerce-account h1 {
    font-size: 2em;
}

.fr-mail-dot::before {
    font-family: inherit;
    content: 'focus';
}

.fr-mail-dot::after {
    font-family: inherit;
    content: 'rentals';
}

.x-close-btn {
    display: none;
    font-size: 40px;
    font-weight: normal;
    color: #aaa;
    background-color: transparent;
    border: none;
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    z-index: 1001;
}

.x-close-btn:hover {
    color: var(--fr-deep-red);
}

/******************************************
|
| User agent styles
|
*******************************************/

address {
    font-style: normal;
}

/* Chrome, Edge, Safari */
input:-webkit-autofill {
    background-color: #ffffff !important; /* White background */
    color: #000000 !important;            /* Black text color */
    box-shadow: 0 0 0px 1000px #ffffff inset !important; /* Force background */
    -webkit-text-fill-color: #000000 !important; /* Text color fix */
    transition: background-color 5000s ease-in-out 0s; /* Prevent flash */
}

/* Firefox */
input:autofill {
    background-color: #ffffff !important;
    color: #000000 !important;
}

/*
input[type="radio"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;

width: 20px;
height: 20px;
border-radius: 50%;
border: 5px solid #999;
}

input[type="radio"]:checked {
background-color: #000;
}
*/

/******************************************
|
| Universal media queries
|
*******************************************/

@media screen and ( max-width: 550px ) {
    .fr-hide-for-mobile {
        display: none;
    }
}

@media screen and ( min-width: 550px ) {
    .fr-hide-for-tab-n-desk {
        display: none;
    }
}

@media screen and ( min-width: 850px ) {
    .fr-hide-for-desktop, .fr-hide-for-desktop.button {
        display: none;
    }
}

/******************************************
|
| Loading Animation
|
*******************************************/

.loading-animation {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: none;
  margin:15px auto;
  position: relative;
  color: #555;
  box-sizing: border-box;
  animation: animloader 1s linear infinite;
  
}

@keyframes animloader {
  0% {
    box-shadow: 14px 0 0 -2px,  38px 0 0 -2px,  -14px 0 0 -2px,  -38px 0 0 -2px;
  }
  25% {
    box-shadow: 14px 0 0 -2px,  38px 0 0 -2px,  -14px 0 0 -2px,  -38px 0 0 2px;
  }
  50% {
    box-shadow: 14px 0 0 -2px,  38px 0 0 -2px,  -14px 0 0 2px,  -38px 0 0 -2px;
  }
  75% {
    box-shadow: 14px 0 0 2px,  38px 0 0 -2px,  -14px 0 0 -2px,  -38px 0 0 -2px;
  }
  100% {
    box-shadow: 14px 0 0 -2px,  38px 0 0 2px,  -14px 0 0 -2px,  -38px 0 0 -2px;
  }
}

.spinner-loader {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: none;
    border-top: 3px solid #3d3d3d;
    border-right: 3px solid transparent;
    box-sizing: border-box;
    animation: rotation 0.7s linear infinite;
}

.spinner-loader.fr-show {
    display: inline-block;
}

div.product-small.box .spinner-loader {
    width: 12px;
    height: 12px;
}

div.product-info .spinner-loader {
    width: 20px;
    height: 20px;
}

body.woocommerce-cart .cart_totals .spinner-loader,
 body.woocommerce-cart .fr-mini-cart-item-wrapper .spinner-loader{
    width: 15px;
    height: 15px;
    border-top-width: 2px;
    border-right-width: 2px;
}

@keyframes rotation {
  0% {
    transform: rotate( 0deg );
  }
  100% {
    transform: rotate( 360deg );
  }
} 



/******************************************
|
| Toggle button
|
*******************************************/

.fr-vat-label {
    font-size: medium;
    height: 20px;
    width: 70px;
    /*background-color: antiquewhite;*/
    overflow: visible;
    float: left;
    position: relative;
    bottom: 3px;
    cursor: pointer;
}

.label-incl-vat, .fr-toggle {
    margin-left: 10px;
}

.fr-vat-switch-wrapper {
    min-width: fit-content;
    height: 20px;
    margin-bottom: 10px;
}

.fr-toggle {
    position: relative;
    float: left;
    height: 21px;
    display: flex;
    align-items: center;
    box-sizing:border-box;
}

.fr-toggle input[type="checkbox"] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
}

.fr-toggle label {
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
    box-sizing:border-box;
}

.fr-toggle label:before {
    content: '';
    background: #bbb;
    border-radius: 4px;
    height: 5px;
    width: 41px;
    position: relative;
    display: inline-block;
    box-sizing:border-box;
    transition: 0.2s ease-in;
}

.fr-toggle label:after {
    content: '';
    position: absolute;
    background: #fff;
    top: 3px;
    left: 0;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    z-index: 2;
    box-sizing:border-box;
    box-shadow: inset 0 0 0 2px #bbb, 0 0 0 0 #ffffff;
    transition: 0.2s ease-in;
}

.fr-toggle input[type="checkbox"]:checked + label:before {
    background: #bbb;
}

.fr-toggle input[type="checkbox"]:checked + label:after {
    box-shadow: inset 0 0 0 20px #949494, 0 0 0 0 #ffffff;
    border-color: #bbb;
    left: 26px;
}


/* below 850 screen */

@media screen and ( max-width: 850px ) {
    .product-page-vat-switch-wrapper {
        /*display: none;*/
        position: relative;
        clear: both;
        left:-5px;
        width: 100%;
    }
}

@media screen and ( min-width: 850px ) {
    .product-page-vat-switch-wrapper {
        position: relative;
        top: -10px;
        left:-5px;
    }
}

#minicart-vat-switch-wrapper {
    position: absolute;
    top: 0px;
    right: -15px;
}

#minicart-vat-switch-wrapper .fr-toggle-2 input[type="checkbox"]:checked + label:before,
#minicart-vat-switch-wrapper .fr-toggle-2 label:before,
.product-page-vat-switch-wrapper .fr-toggle-2 input[type="checkbox"]:checked + label:before,
.product-page-vat-switch-wrapper .fr-toggle-2 label:before {
    border-color: var(--fr-background-grey);
}

.fr-toggle-2 {
  position: relative;
  height: 35px;
  display: flex;
  align-items: center;
  box-sizing:border-box;
}
.fr-toggle-2 input[type="checkbox"] {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: 150px;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}
.fr-toggle-2 label {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
  box-sizing:border-box;
}
.fr-toggle-2 label:before, .fr-toggle-2 label:after {
  font-size: 14px;
  font-weight: normal;
  transition: 0.2s ease-in;
  box-sizing:border-box;
}
.fr-toggle-2 label:before {
  content: "Incl. VAT";
  background: #616161;
  color: #616161;
  height: 35px;
  width: 160px;
  display: inline-flex;
  align-items: center;
  padding-left: 8px;
  border-radius: 7px;
  border: 8px solid #DDD;
  box-shadow: inset 70px 0px 0 0px #DDD;
}
.fr-toggle-2 label:after {
  content: "Excl. VAT";
  position: absolute;
  left: 85px;
  width: 150px;
  line-height: 35px;
  top: 0;
  color: white;
}
.fr-toggle-2 input[type="checkbox"]:checked + label:before {
    color: #fff;
    box-shadow: inset -75px 0px 0 0px #DDD;
    border-color: #DDD;
    background: #616161;
}
.fr-toggle-2 input[type="checkbox"]:checked + label:after {
  color: #616161;
}

/******************************************
|
| Focus Rentals Mini-cart
|
*******************************************/

#fr-mini-cart-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba( 0, 0, 0, 0.6 );
    z-index: 9998;
}

#fr-mini-cart-big-wrapper {
    height: 100%;
    width: 100%;
    max-width: 400px;
    position: fixed;
    right: 0;
    top: 0;
    background-color: var( --fr-background-grey );
    border-left: 2px solid #bbb;
    z-index: 9999;
    transform: translateX( 100% );
    transition: transform 0.5s ease-in-out;
}

#fr-mini-cart-big-wrapper.fr-mini-cart-open {
    transform: translateX( 0 );
    transition: transform 0.2s ease-in-out;
}

#fr-mini-cart-big-wrapper .spinner-loader {
    width: 15px;
    height: 15px;
}

#fr-mini-cart-header-wrapper {
    width: 100%;
    height: 50px;
    background-color: var( --fr-background-grey );
    position: absolute;
    top: 0;
    border-bottom: 1px solid #bbb;
    z-index: 1;
}

#fr-mini-cart-back-button {
    width: 30px;
    height: 30px;
    position: relative;
    text-align: left;
    /*border: 1px solid transparent;*/
    /*border-radius: 10px;*/
    margin-left: 10px;
    margin-top: 10px;
    cursor: pointer;
}

#fr-mini-cart-back-button:hover {
    background-color: white;
    /*border-color: #bbb;*/
}

#fr-mini-cart-back-button svg.mini-cart-back-arrow {
    position: relative;
    left: -4px;
    width: 100%;
    height: 100%;
}

#fr-minicart-footer-wrapper {
    width: 100%;
    height: 152px;
    background-color: #f4f4f4;
    position: absolute;
    bottom: 0;
    z-index: 1;
    /*border-top: 1px solid #bbb;*/
}

#fr-minicart-subtotal-row {
    height: 50px;
    border-top: 1px solid #bbb;
     /*background-color: bisque;*/
}

#fr-minicart-subtotal-text {
    position: relative;
    top: 12px;
}

#fr-minicart-subtotal-row, .minicart-cart-link.button, .minicart-checkout-link.button {
    width: calc( 100% - 40px );
    position: relative;
    left: 20px;
}

.minicart-cart-link.button {
    margin-bottom: 8px;
}

.minicart-checkout-link.button {
    margin-bottom: 12px;
}

#fr-mini-cart-items-wrapper {
    width: 100%;
    height: calc( 100% - 200px );
    overflow-y: auto;
    position: absolute;
    top: 50px;
    bottom: 80px;
    padding: 20px 20px;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none; /* Firefox */
    z-index: 0;
}

#fr-mini-cart-items-wrapper::-webkit-scrollbar {
    display: none;
}

#no-items-in-mini-cart-message {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1;
}

#fr-mini-cart-item-template {
    display: none;
}

.fr-mini-cart-item-wrapper {
    width: 100%;
    min-width: 270px;
    height: 100px;
    margin-bottom: 10px;
    padding: 10px 10px;
    overflow: hidden;
    position: relative;
    background-color: var( --fr-background-grey );
    z-index: 2;
}

.fr-mini-cart-item-wrapper:hover,
.fr-mini-cart-item-wrapper.options-open {
    background-color: white;
}

.fr-mini-cart-item-wrapper .fr-price-display-wrapper .per-price-text {
    visibility: hidden ;
}

body.woocommerce-cart .fr-mini-cart-item-wrapper  {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #bbb;;
}

/* Included items list */
.fr-mini-cart-item-wrapper .product-short-description,
.fr-mini-cart-item-wrapper .focusb-items-included {
    position: absolute;
    top: 101px;
}

.fr-mini-cart-item-image-wrapper {
    width: 80px;
    height: 80px;
    position: absolute;
}

img.fr-mini-cart-item-image  {
    width: 80px;
}

.fr-mini-cart-item-details-wrapper {
    width: calc( 100% - 120px );
    height: 80px;
    position: absolute;
    left: 100px;
    padding-left: 20px;
    border-left: 1px solid #bbb;
    /*background-color: bisque;*/
}

.fr-mini-cart-item-title {
   position: relative;
   width: calc(100% - 10px);
   top: 10px;
   margin-bottom: 0.5em;
}

.fr-mini-cart-item-below-title-wrapper {
    width: 100%;
    height: 30px;
    position: relative;
    top: 5px;
}

.fr-times-price-wrapper {
    display: flex;
}

.fr-mini-cart-item-trash-wrapper {
    position: absolute;
    top: 0px;
    width: 30px;
    height: 30px;
    left: calc(100% - 20px);
}

.fr-mini-cart-item-options-icon-wrapper {
    position: absolute;
    top: 3px;
    width: 25px;
    height: 25px;
    left: calc(100% - 65px);
}

.fr-mci-icon-wrapper svg {
    width: 100%;
    height: 100%;
    fill: grey;
    color: grey;
}

.fr-mci-icon-wrapper:hover svg,
.fr-mci-icon-wrapper.active svg {
    fill: var(--fr-deep-red);
    color: var(--fr-deep-red);
    cursor: pointer;
}

/* Disable hover visual effects on touch-only devices so taps don't leave a
   persistent "hover" appearance. Keep `.active` styling for explicit state. */
@media ( hover: none ) {
    .fr-mci-icon-wrapper:not(.active):hover svg,
    .fr-mci-icon-wrapper:not(.active):hover {
        fill: grey;
        color: grey;
        background-color: transparent;
        cursor: pointer;
    }

    .fr-mini-cart-item-wrapper:not(.options-open):hover {
        background-color: var(--fr-background-grey);
    }
}



/*************************************************
|
| Quantity Pickers
|
**************************************************/

.fr-mini-cart-item-qty-boxes-slider-wrapper, .frqbs-wrapper {
    width: 35px;
    max-width: 200px;
    height: 32px;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none; /* Firefox */
    position: absolute;
    /*background-color: antiquewhite;*/
}

.fr-mini-cart-item-qty-boxes-slider-wrapper {
    min-width: 35px;
}

.fr-mini-cart-item-qty-boxes-slider-wrapper::-webkit-scrollbar,
.frqbs-wrapper::-webkit-scrollbar {
    display: none; /* Safari and Chrome */
}

.fr-mini-cart-item-qty-boxes-slider,
.frqb-slider {
    width: 800px;
    height: 100%;
    position: absolute;
    left: 0px;
    transform: translateX(0);
    transition: transform 0.5s ease-in-out;
}

.fr-mini-cart-item-qty-box,
.fr-qty-box {
    width: fit-content;
    min-width: 35px;
    max-width: 60px;
    height: 30px;
    text-align: center;
    position: relative;
    bottom: 0px;
    left: 0px;
    float: left;
    padding: 1px 4px;
    color: black;
    border: 1px solid black;
    background-color: transparent;
    cursor: pointer;
}

#single-product-qty-slider-and-buttons .fr-qty-box {
    border-radius: 7px;
}

.fr-qty-box span {
    color: black;
}

.fr-qty-box.selected span, .fr-qty-box:hover span {
    color: var(--fr-deep-red)
}

#fr-qty-box-template {
    display: none;
}

.fr-mini-cart-item-price-box, .fr-multiply-x {
    display: block;
    position: relative;
    left: 40px;
    float: left;
    top: 3px;
}

.fr-mini-cart-item-qty-box, .fr-mini-cart-item-price-box, .fr-multiply-symbol, .fr-qty-box {
    margin-right: 5px;
}

.fr-single-product-page-qty-value {
    color: var(--fr-deep-red)
}

.frqbs-wrapper .fr-mini-cart-item-qty-box:hover,
.frqbs-wrapper .fr-mini-cart-item-qty-box:active,
.frqbs-wrapper .fr-qty-box:hover, .frqbs-wrapper .fr-qty-box.selected:hover,
.frqbs-wrapper .fr-qty-box:active, .frqbs-wrapper .fr-mini-cart-item-qty-box.selected,
.frqbs-wrapper .fr-qty-box.selected {
    background-color: white;
    color: var(--fr-deep-red);
    border-color: var(--fr-deep-red);
}

.fr-mini-cart-item-qty-box.selected,
.fr-qty-box.selected {
    color: var(--fr-deep-red);
    border-color: var(--fr-deep-red);
}

.fr-times-price {
    visibility: visible;
    opacity: 1;
}


table.woocommerce-cart-form__contents span.mobile-product-price__qty {
    display: none;
}

div.continue-shopping {
    display: none;
}


/*************************************************
|
| Header
|
**************************************************/

#masthead{
    background-color: var(--fr-background-grey);
}

@media screen and ( max-width: 550px ) {
    body.single-product #masthead {
        height: 76px;
    }

    body.single-product #wide-nav {
        height: 50px;
    }
    
}

body .nav-line li a:before, body .nav-line-bottom li a:before, body .nav-line-grow li a:before {
    background-color: var(--fr-deep-red);
}

/* Removal of empty li taking up space */
ul.nav.header-bottom-nav.nav-left li.html.custom.html_topbar_left {
    display: none;
}

/* Adjustment for Sign in/Register link */
ul.nav.header-bottom-nav.nav-left li.menu-item {
    margin-left: 0px;
}

.fr-incl-vat {
    display: none;
}

#fr-dates-separator {
    display: none;
    margin-left:30px;
}

#fr-rental-start-date, #fr-rental-end-date {
    background-color: transparent;
    border-top: 0px;
    border-left: 0px;
    border-right: 0px;
    border-bottom: 1px, solid, grey;
}

.login-register-account-link {
    display: none;
}

.my-account-link-star {
    width: 20px;
    height: 20px;
}

ul.header-nav .my-account-link-star {
    position: relative;
    top: 3px;
    fill: var(--fr-deep-red);
}

.fr-mobile-nav-login .my-account-link-star {
    position: relative;
    top: 4px;
    left: -3px;
    fill: white;
}

#fr-mobile-my-account-icon-li {
    display: none;
}

#fr-mobile-my-account-icon-li a {
    display: flex;
    flex-wrap: nowrap;
}

#fr-mobile-my-account-icon-li svg {
    flex-shrink: 0;
}

#fr-mobile-my-account-icon-li svg path.outer-circle {
    stroke: #999;
}

#fr-mobile-my-account-icon-li svg path.inner-circle,
#fr-mobile-my-account-icon-li svg path.clipped-ellipse {
    fill: #999;
}

#fr-mobile-my-account-icon-li svg.logged-in path.outer-circle {
    stroke: var(--fr-deep-red);
}

#fr-mobile-my-account-icon-li svg.logged-in path.inner-circle,
#fr-mobile-my-account-icon-li svg.logged-in path.clipped-ellipse,
#fr-mobile-my-account-icon-li svg.logged-in circle.head,
#fr-mobile-my-account-icon-li svg.logged-in path.circle-shoulders,
#fr-mobile-my-account-icon-li svg.logged-in path.star {
    fill: var(--fr-deep-red);
}


/*************************************************
|
| Dateboxes (calendar and time selection)
|
**************************************************/

#fr-dateboxes-modal,
#fr-cart-notices-modal {
    height: 350px;
    margin: 0 auto;
    align-content: center;
    text-align: center;
    background-color: #f1f1f1;
    display: none;
}

#fr-dateboxes-wrapper {
    margin: 0 auto;
    position: relative;
    width: fit-content;
    max-width: 600px;
    height: 100%;
    background-color: rgba(0, 186, 192, 0);
    /*border: 2px solid black;*/
}

#fr-datebox-one, #fr-datebox-two {
    position: relative;
    width: 300px;
    height: 300px;
    float: left;
}

#fr-datebox-one {
    background-color: rgba(207, 243, 0, 0);
}

#fr-datebox-two {
    text-align: left;
}

#fr-datebox-two h3 {
    font-size: 1.1em;
    margin-bottom: -5px;
}

#datebox-two-spacer {
    width: 100%;
    height: 15px;
}

#fr-dbb-spacer {
    width: 100%;
    height: 20px;
}

@media screen and ( max-width: 800px ) {

    #fr-dateboxes-modal, #fr-cart-notices-modal {
        max-width: 400px;
        width: 100%;
        height: 100%;
        margin: 0;
    }

    #fr-datebox-one, #fr-datebox-two {
        float: none;
    }

    #fr-datebox-one {
        top: -10px;
        height: 330px;
    }

    #datebox-two-spacer {
        height: 30px;
    }

    #dbb-wrapper-inside.datebox-buttons-wrapper {
        display: none;
    }

    #dbb-wrapper-outside.datebox-buttons-wrapper {
        position: absolute;
        display: block;
        bottom: 0px;
    }

    .datebox-modal-clear .text {
        position: relative;
        display: block;
        color: var(--fr-deep-red);
    }
    
}


@media screen and ( max-height: 700px ) {
    #fr-dateboxes-modal, #fr-cart-notices-modal {
        /*background-color: yellow;*/
        overflow-y: scroll;
    }

    #fr-dateboxes-wrapper {
        height: fit-content;
    }
}


@media screen and ( max-width: 550px ) {
    /* center modal */
    #fr-dateboxes-modal, #fr-cart-notices-modal {
        left: 0;
        position: fixed;
        max-width: 550px;
        width: 100%;
        height: 100%;
        bottom: 0;
    }
}

@media screen and ( min-width: 800px ) {

    #dbb-wrapper-inside.datebox-buttons-wrapper {
        position: absolute;
        display: block;
        bottom: -15px;
    }

    #dbb-wrapper-outside.datebox-buttons-wrapper {
        display: none;
    }

    .datebox-modal-clear .text {
        position: relative;
        display: block;
        color: var(--fr-deep-red);
    }
}


#fr-datebox-two .display-date {
    color: var(--fr-deep-red);
}


a .datebox-modal-done.button {
    position: relative;
    float: left;
    left: 0px; /* 20px */
    bottom: 0px;
    width: 90px;
    min-width: 0px;
    max-width: 90px;
    height: 20px;
    padding-left:/* 1.2em;*/  0px;
    padding-right: /*1.2em;*/  0px; 
    margin-right: 10px;
    overflow: hidden;
    visibility: visible;
}

.datebox-modal-clear {
    position: relative;
    float: left;
    left: 0px;
    bottom: 0px;
    height: 38px;
    width: 150px;
    color: var(--fr-deep-red);
}

#fr-datebox-two .return-section {
    margin-top: 30px;
}

.collect-section, .return-section, .datebox-modal-done {
    margin-left: 20px;
}

.timebox-wrapper {
    width: 100%;
    height: 36px;
    margin-left: -15px;
    float: none;
    position: relative;
    top: 5px;
    opacity: 0;
}

.timebox {
    border-radius: 7px;
    font-size: 15px;
    color: black;
    text-align: center;
    padding: 2px 2px;
    min-width: fit-content;
    height: 30px;
    max-width: 120px;
    position: relative;
    margin: auto;
    border: 1px solid grey;
    cursor: pointer;
}

.timebox:hover {
    color: var(--fr-deep-red);
    border-color: var(--fr-deep-red);
    background-color: white;
}

.timebox-selected, .timebox-selected:hover {
    color: white;
    background-color: var(--fr-deep-red);
    border-color: white;
    cursor: default;
}

.timebox.timebox-disabled, .timebox.timebox-disabled:hover,
.timebox.timebox-disabled-fr-rule, .timebox.timebox-disabled-fr-rule:hover {
    color: gray;
    background-color: transparent;
    border: transparent;
    border-color: gray;
    cursor: default;
}

.timebox-one {
    right: 65px;
}

.timebox-two {
    top: -30px;
    left: 65px;
}

/* Styles for dateboxes modal confirmation */
.fr-date-clear-confirm {
  padding: 20px;
}
.fr-date-clear-confirm h3 {
  margin-top: 0;
}
.fr-date-clear-confirm .fr-date-clear-confirm-actions {
  margin-top: 16px;
}
.fr-date-clear-confirm .fr-date-clear-confirm-actions .fr-btn + .fr-btn {
  margin-left: 8px;
}

#fr-date-clear-confirm-template {
  display: none;
}

/*************************************************
|
| Sign In/Register Modal 
|
**************************************************/

#fr-sign-in-register-modal {
    position: fixed;
    /* Center the modal */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 auto;
    align-content: center;
    width: 100%;
    height: 590px;
    max-width: 400px;
    background-color: #ccb806;
    background-color: #f1f1f1;
    display: none;
}

#fr-sir-modal-close-btn { /* class: x-close-btn */
    width: 25px;
    height: 25px;
    display: block;
    position: fixed;
    right: 20px;
    top: 20px;
    border-width: 0;
}

#fr-sir-modal-close-btn svg {
    position: relative;
    right: 13px;
    top: 4px;
}

@media screen and ( max-width: 550px ) {
    #fr-sign-in-register-modal {
        bottom: 0;
        height: 100%;
    }
}


#fr-sign-in-register-modal .bold {
    font-weight: bold;
}

#fr-sign-in-register-modal .warning {
    font-weight: bold;
    color: var(--fr-deep-red);
}

#fr-sign-in-register-modal .fr-sign-in-register-modal-wrapper input.invalid-input {
    border-color: var(--fr-deep-red);
}

#fr-sign-in-register-modal .fr-sign-in-register-modal-wrapper input.valid-input {
    border-color: var(--fr-good-green);
}

.fr-sign-in-register-modal-wrapper {
    margin: 0 auto;
    position: relative;
    width: 100%;
    max-width: 350px;
    height: 100%;
    padding-top: 10px;
    z-index: 0;
}

#fr-sir-modal-sweetie-cover,
.fr-sweetie-wrapper {
    position: absolute;
    top: 0px;
    width: 90%;
    height: 560px;
    padding: 10px;
    overflow: hidden;
    background-color: inherit;
}

#fr-sir-modal-sweetie-cover {
    z-index: -1;
    background-color: inherit;
    /*opacity: 0;*/
}

.fr-sweetie-wrapper {
    z-index: -2;
    /*background-color: rgb(253, 253, 173);*/
}

#fr-sir-modal-sweetie-wrapper-2 {
    visibility: visible;
    /*background-color: rgba(246, 152, 255, 0.301);*/
}

#fr-sir-modal-sweetie-wrapper-2 form {
    position: relative;
    top: 300px;
}

.fr-sign-in-register-modal-wrapper .fr-box-1,
.fr-sign-in-register-modal-wrapper .fr-box-2 {
    margin: 0 auto;
    width: 100%;
    max-width: 350px;
    padding: 0px 10px;
    float: none;
}

.fr-sign-in-register-modal-wrapper .fr-box-1 {
    position: relative;
    height: 410px;
}

.fr-sign-in-register-modal-wrapper .fr-box-2 {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 140px;
    border-top: 1px solid #a7a6a6;
}

#fr-sign-in-register-modal h2 {
    font-size: 1.6em;
    margin-bottom: 30px;
}

#fr-sign-in-register-modal input[type="text"], #fr-sign-in-register-modal input[type="password"] {
    background-color: transparent;
    box-shadow: none;
    height: 50px;
    border-bottom: 1px solid #a7a6a6;
    border-width: 0 0 1px 0;
}

#fr-sign-in-register-modal input:active,
#fr-sign-in-register-modal input:focus {
    background-color: white;
}

#fr-sign-in-register-modal button {
    margin-right: 0;
}

#fr-sign-in-register-modal .button.new-account {
    white-space: nowrap;
    overflow: hidden;
    margin-right: auto;
}

div.fr-sign-in-register-modal-wrapper .fr-box-2 button,
#fr-sign-in-register-modal .button.new-account {
    margin-top: 10px;
}

div.fr-sign-in-register-modal-wrapper .fr-box-2 p {
    position: relative;
    top: 20px;
}

div.fr-sign-in-register-modal-wrapper p.warning,
div.fr-sign-in-register-modal-wrapper span.warning {
    display: none;
}

input#email-verification-code, input#mobile-verification-code {
    text-align: center;
    font-size: large;
    letter-spacing: 0.5em;
}

input#email-verification-code::placeholder, input#mobile-verification-code::placeholder {
    letter-spacing: normal;
}

input#fr-sign-in-user-email:focus::placeholder,
input#fr-sign-in-password:focus::placeholder,
input#new-account-fname:focus::placeholder,
input#new-account-lname:focus::placeholder,
input#new-account-email:focus::placeholder,
input#new-account-mobile:focus::placeholder,
input#new-account-password:focus::placeholder,
input#reset-password-email:focus::placeholder {
    visibility: hidden;
}

input#fr-sign-in-password {
    width: calc( 100% - 50px );
    left: 0px;
    position: relative;
    float: left;
}

/* OTP boxes */

.otp-container {
  width: 100%;
  padding: 0 10px;
  text-align: center;
}

.otp-form {
  width: 100%;
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
}

.otp-form input {
  color: black;
  font-size: 30px;
  text-align: center;
  padding: 5px;
  width: 60px;
  height: 60px;
  border-radius: 4px;
  border: 1px solid grey;
}

.otp-form input:focus-visible {
  border-color: #334862;
}

#fr-sign-in-register-modal .otp-form .otp-input.filled {
  border-color: black;
  background-color: white;
}

/* Verify OTP buttons */

#fr-sign-in-register-modal button.success {
    /* make into a circle */
    background-color: var(--fr-good-green);
    color: white;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    padding: 0;
    font-size: 20px;
}

#fr-sign-in-register-modal button.success:before {
    /* add checkmark */
    content: "\2714";
}

#fr-sign-in-register-modal .success-tick {
    width: 50px;
    height: 50px;
    margin: 0 auto;
}

#fr-sirmw-screen-sign-in svg.success-tick {
    position: relative;
    top: -50px;
}

.success-tick .path {
    /*  make stroke colour good green */
    fill: none;
    stroke: var(--fr-good-green);
    stroke-width: 2;
    stroke-linejoin: miter;
    stroke-miterlimit: 10;
}

.circle{
    opacity: 0;
    stroke-dasharray: 130;
    stroke-dashoffset: 130;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}
.tick{
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
    -webkit-transition: stroke-dashoffset 1s 0.5s ease-out;
    -moz-transition: stroke-dashoffset 1s 0.5s ease-out;
    -ms-transition: stroke-dashoffset 1s 0.5s ease-out;
    -o-transition: stroke-dashoffset 1s 0.5s ease-out;
    transition: stroke-dashoffset 1s 0.5s ease-out;
}
.drawn + svg .path{
    opacity: 1;
    stroke-dashoffset: 0;
}

/* PASSWORD VALIDATION */

#password-requirements {
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

/* Add a green text color and a checkmark when the requirements are right */
.pwd-req.valid, .pwd-req.valid .bold {
  color: var(--fr-good-green);
}

.pwd-req.valid:before {
  content: "\2714";
}

/* Add a red text color and an "x" icon when the requirements are wrong */
.pwd-req.invalid {
  color: red;
}

.pwd-req:before, .pwd-req.invalid:before {
  content: '\2716';
}

input#new-account-password {
    width: calc( 100% - 50px );
}

div.password-visibility-btn {
    width: 50px;
    height: 50px;
    padding: 10px 10px;
    position: relative;
    float: right;
    top: -65px;
    left: 15px;
    border: 0;
    background-color: transparent;
    cursor: pointer;
}

div.password-visibility-btn, div.password-visibility-btn:hover {
    box-shadow: none;
}

div.password-visibility-btn svg.pwd-eye-crossed {
    display: none;
}

div.password-visibility-btn svg.pwd-eye-crossed,
div.password-visibility-btn svg.pwd-eye {
    width: 30px;
    height: 30px;
    fill: black;
}

/* Hide browser / user-agent native password reveal icons so only custom button shows */
/* Chrome, Edge (Blink/WebKit) */
input[type="password"]::-webkit-password-reveal-button,
input[type="password"]::-webkit-textfield-decoration-button,
input[type="password"]::-webkit-credentials-auto-fill-button {
    display: none !important;
    -webkit-appearance: none;
}

/* Old Edge / IE */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}

/* Firefox (if present) */
input[type="password"]::-moz-reveal {
    display: none;
}

/*************************************************
|
| Category page elements
|
**************************************************/


body .box-text {
    font-size: 1.125em;
    font-weight: bold;
}

.box-text .price-wrapper {
    font-size: 0.9em;
}

/* 

@media screen and ( max-width: 550px ) {
    body.tax-product_cat img.attachment-woocommerce_thumbnail {
        max-width: 70%;
    }
}
*/

/*************************************************
|
| Single Product Page elements
|
**************************************************/

.focusb-items-heading {
    font-weight: 700;
    margin-bottom: 10px;
}

.focusb-item-row.ui-sortable-helper {
    position: relative;
    right: 0 !important;
}

 div.focusb-items-included ul.focusb-items-list {
    padding-left: 20px;
 }

 .focusb-item-text {
    cursor: pointer;
 }

/* Items Included / Left Out lists */
.focusb-items-included ul span.focusb-item-required,
.focusb-items-included ul input[type="checkbox"] {
    margin-bottom: 0;
}

.focusb-items-list .focusb-item-row label {
    font-weight: normal;
}
.focusb-items-included .focusb-items-list {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1em 0;
    overflow: hidden;
}
.focusb-items-included .focusb-item-row {
    margin: 0 0 .5em 0;
    display: flex;
    align-items: center;
}

.focusb-items-included .focusb-item-row label {
    display: flex;
    align-items: center;
    width: 100%;
    gap: .6em;
}

/* Custom-styled checkbox to ensure consistent appearance across browsers */
.focusb-items-included .focusb-item-checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1px solid #444;
    background-color: #fff;
    border-radius: 3px;
    margin-right: .6em;
    margin-left: 0;
    flex: 0 0 auto;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70% 70%;
    padding: 0;
    min-width: 16px;
    min-height: 16px;
    line-height: 0;
}

/* Optional items: show a plus when unchecked, minus when checked (within the included-items list only) */
.focusb-items-included .focusb-item-checkbox {
    /* plus sign */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M6 2v8M2 6h8' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    border-color: #444;
    cursor: pointer;
}

.focusb-items-included .focusb-item-checkbox:checked {
    /* minus sign when checked */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 6h8' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    border-color: #444;
    cursor: pointer;
}

.focusb-items-included .focusb-item-checkbox:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(68,68,68,0.08);
}

.focusb-items-included .focusb-item-text {
    display: inline-block;
    line-height: 1.2;
}

/* Visual indicator for required (non-optional) items: match checkbox size */
.focusb-items-included .focusb-item-required {
    display: inline-block;
    width: 20px;
    height: 20px;
    /* Make required indicator look like a checked checkbox, but disabled (muted) */
    background-color: #e9e9e9;
    border-radius: 3px;
    margin-right: .6em;
    flex: 0 0 auto;
    border: 1px solid #ccc;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70% 70%;
    /* muted checkmark */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'><polyline points='1.5 5.5 4.5 8.5 10.5 1.5' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    opacity: 0.9;
    cursor: default;
}

.product-short-description.fr-hide-for-mobile {
    margin-bottom: 50px;
}


@media screen and ( max-width: 550px ) {

    .shop-container nav.woocommerce-breadcrumb {
        margin-left: 15px;
    }

    h1.product-title {
        position: fixed;
        margin-left: 5px;
        padding: 0px 10px;
    }

    nav.woocommerce-breadcrumb a {
        font-size: 1em;
    }

    body.single-product #footer,
    body.single-product .product-main .product-thumbnails {
        display: none;
    }

    body.single-product .product-main {
        position: fixed;
    }  
}

.product-thumbnails .col a {
    background-color: transparent;
}

h1.product-title {
    width: fit-content;
}

body.single-product .product-main .product-gallery {
    opacity: 0;
}

.woocommerce-product-gallery__image {
    padding: 5px 5px;
}

body.single-product .product-main {
    padding: 0 0;
}

#fr-product-main-wrapper {
    position: fixed;
    left: 0;
    margin-left: 15px;
    z-index: 4;
    width: calc( 100% - 30px );
    margin-top: 15px;
    overflow-y: auto;
}

#fr-product-main-content {
    width: calc( 100% - 50px - 15px );
    height: fit-content;
    position: absolute;
    top: 0;
    right: 0;
    overflow-x: hidden;
}

#fr-product-main-tabs {
    position: fixed;
}

.fr-product-tab {
  width: 50px;
  height: 50px;
  padding: 10px 10px;
  border-radius: 7px;
  background-color: transparent;
}

.fr-product-tab svg {
  width: 30px;
  height: 30px;
  fill: grey;
  color: grey;
}

.fr-product-tab:not(.tab-selected):hover {
  cursor: pointer;
}
.fr-product-tab:not(.tab-selected):hover svg {
  fill: var(--fr-deep-red);
  color: var(--fr-deep-red);
}

.tab-selected {
  background-color: white;
}

.fr-product-tab.tab-selected svg {
  fill: var(--fr-deep-red);
  color: var(--fr-deep-red);
}

#fr-product-info-tab {
    position: absolute;
    bottom: 0;
}

.fr-product-display-wrapper {
  width: 100%;
  height: 100%;
}

#fr-product-info-wrapper, #fr-product-options-wrapper {
  display: none;
}

#fr-product-info-wrapper {
  /*background-color: orange;*/
  background-color: transparent;
}

body.single-product .product-gallery.col {
    padding: 0;
    padding-left: 20px;
}

.product-gallery.col.fr-hide-for-mobile {
    height: fit-content;
}

#fr-product-long-description-wrapper {
    margin-top: 30px;
}

table.fr-product-attributes.fr-hide-for-mobile {
    position: relative;
    margin-top: 70px;
}

table.fr-product-attributes.fr-hide-for-tab-n-desk {
    padding-left: 20px;
}

table.fr-product-attributes th,
table.fr-product-attributes td {
    font-size: 1em;
}

body.single-product p.product-page-price {
    margin: 0 0 15px 0;
}

body.single-product p.product-page-price .fr-price-text {
    font-weight: bold;
}

.fr-live-availability-text {
    font-size: large;
    width: 300px;
    height: 30px;
    position: relative;
    top: 5px;
}

.fr-qty-available-emph {
    color: var(--fr-good-green);
    font-weight: bold;
}

#fr-in-your-cart-box .text {
    cursor: pointer;
}

#fr-in-your-cart-box .text:hover {
    text-decoration: underline;
}

#single-product-qty-slider-and-buttons {
    width: 250px;
    min-width: 48px;
    max-width: 305px;
    height: 45px;
    margin-top: 10px;
    overflow: hidden;
}

#single-product-qty-slider-and-buttons .fr-single-product-page-qty-boxes-slider-wrapper {
    min-width: 48px;
    max-width: 300px;
    height: 45px;
}

.fr-single-product-page-qty-box {
    width: 48px;
    height: 45px;
    font-size: large;
    padding: 5px 7px;
    border-width: 2px;
}

.cart div.ux-quantity.quantity, .cart div.ux-quantity.quantity input,
.cart div.ux-quantity.quantity label, button.single_add_to_cart_button,
.fr-price-display-wrapper.daily-price-wrapper,
.fr-price-display-wrapper.weekly-price-wrapper,
.fr-price-display-wrapper.live-price-wrapper,
.fr-price-display-wrapper.price-separator,
body.single-product form.cart, #ppcp-recaptcha-v2-container,
body.single-product .woocommerce-tabs.wc-tabs-wrapper {
    display: none;
    opacity: 0;
}

.product-main .product-info.summary {
    padding-bottom: 0;
}

@media screen and ( max-width: 550px ) {
    #sticky-add-to-cart-etc-wrapper {
        position: fixed;
        bottom: 0;
        left: -10px;
        width: calc( 100% + 10px );
        height: fit-content;
        max-width: none;
        padding: 15px 30px 25px 30px;
        background-color: var( --fr-background-grey );
        border-top: 1px solid #bbb;
        z-index: 5;
    }

    #sticky-add-to-cart-etc-wrapper button {
        margin-bottom: 0px;
    }

    #sticky-add-to-cart-etc-wrapper .price-wrapper {
        position: relative;
        top: 10px;
    }

    .fr-live-availability-text {
        margin-top: 0px;
    }
    
}

@media screen and ( min-width: 550px ) {
    #sticky-add-to-cart-etc-wrapper {
        margin-top: 30px;
    }
}

#fr-add-to-cart-button, #fr-dates-button-product-page,
#fr-in-your-cart-box {
    width: 250px;
    height: 45px;
    min-height: 45px;
    position: relative;
    float: left;
    font-size: medium;
    /*padding-top: 3px;*/
    margin-left: 55px;
    display: none;
}

#fr-in-your-cart-box {
    color: #403f5a;
    position: relative;
    float: left;
    text-align: left;
    font-weight: 700;
    padding-left: 7px;
    cursor: default;
    background-color: transparent;
}

.fr-single-product-page-trash-wrapper {
    width: 58px;
    height: 45px;
    position: relative;
    float: right;
    padding-top: 8px;
    padding-left: 12px;
    /*left: calc(100% - 15px);*/
    top: -4px;
    left: -6px;
    border-left : 2px solid #bbb;
}

.fr-single-product-page-trash-wrapper:hover {
    background-color: white;
    border-color: var(--fr-deep-red);
    cursor: pointer;
}

.fr-single-product-page-trash-wrapper svg {
    width: 30px;
    height: 30px;
}

body.woocommerce-cart .cart div.ux-quantity {
    display: block;
}

/* Same element, second selector for when it is moved */
td.actions.clear button[name="update_cart"], .cart_totals button[name="update_cart"] {
    display: none;
    opacity: 0;
}

body .cart_totals tbody th,
body .cart_totals tbody td,
table tbody th, table thead th, table tbody td {
    font-size: 1.1em;
    color: black;
    text-transform: none;
}

/*div.cart-container.page-checkout,*/
body.woocommerce-account .page-wrapper.my-account {
    margin-top: 80px;
}

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart li.cart-item,
body.woocommerce-cart #fr-dates-button-header-wrapper,
body.woocommerce-cart #fr-dates-n-search-wrapper-mobile,
body.woocommerce-cart .header-bottom.wide-nav,
body.woocommerce-cart nav.breadcrumbs.checkout-breadcrumbs,
body.woocommerce-cart form.ux-cart-coupon,
body.woocommerce-cart .fr-vat-switch-wrapper,
body.woocommerce-checkout .wc-block-components-quantity-selector,
body.woocommerce-checkout li.cart-item,
body.woocommerce-checkout .header-bottom.wide-nav,
body.woocommerce-checkout nav.breadcrumbs.checkout-breadcrumbs,
body.woocommerce-checkout #fr-dates-button-header-wrapper,
body.woocommerce-checkout .woocommerce-form-coupon-fr-toggle,
body.page-id-1175 li.cart-item,
body.page-id-1175 #fr-dates-button-header-wrapper,
body.page-id-1175 li.header-search-form,
body.page-id-1175 #fr-dates-n-search-wrapper-mobile,
body.page-id-1175 .mobile-nav.nav-left {
    display: none !important;
}

body.woocommerce-checkout .flex-col.show-for-medium.flex-left {
    visibility: hidden;
}

body div.is-well {
    background-color: var(--fr-background-grey);
}

.select-stock-item-qty, .select-stock-item-qty:active {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
}

select, select option {
    box-shadow: none;
}

.select-stock-item-qty option {
    background-color: #e9e9e9;
    box-shadow: none;
}

div.ux-mini-cart-qty {
    display: none;
}

.fr-price-display-wrapper .per-price-text {
    font-size: smaller;
}

form.cart .select-stock-item-qty,
.woocommerce-mini-cart-item .select-stock-item-qty {
    width: 60px;
    flex: none;
}

.fr-price-display-wrapper {
    font-weight: normal;
}

@media screen and ( min-width: 850px ) {
    div.is-large .woocommerce-breadcrumb {
        display: none;
    }
}

button.open-datepicker-home {
    display: none;
    opacity: 0;
    position: relative;
    bottom: 40px;
    border-radius: 9px;
}

#fr-dates-button-header-wrapper {
    display: none;
    opacity: 0;
    height: 20px;
    width: 280px;
    cursor: pointer;
}

#fr-dates-button-header-wrapper:hover .header-dates-text,
#fr-dates-button-header-wrapper-mobile:hover .header-dates-text ,
.cart-item.has-icon:hover .header-cart-title {
    color: var(--fr-deep-red);
}

#fr-dates-button-header-wrapper:hover .header-calendar-icon,
#fr-dates-button-header-wrapper-mobile:hover .header-calendar-icon,
.cart-item.has-icon:hover .cart-img-icon {
    filter: invert( 27% ) sepia( 51% ) saturate( 2878% ) hue-rotate( 346deg ) brightness( 70% ) contrast( 97% );
}

.header-calendar-icon {
    width: 25px;
    height: 25px;
    position: relative;
    bottom: 3px;
}


.image-icon.header-cart-icon::after { /* qty label on cart icon */
    box-shadow: none;
    background-color: var(--fr-deep-red);
}

.header-dates-text {
    font-weight: normal;
}

.header-cart-title {
    font-size: 1.2em;
    font-weight: normal;
    display: none;
    opacity: 0;
}

li.account-item ul.nav-dropdown {
    display: none;
}

.open-datepicker-product-page {
    display: none;
    opacity: 0;
}

.autocomplete-suggestions .autocomplete-suggestion .search-price {
    display: none;
}

div.off-canvas-cart, div#cart-popup {
    max-width: 400px;
}

.off-canvas-left.mfp-ready .mfp-content {
    width: 100%;
    max-width: 400px;
}

body .mfp-ready .mfp-close,
body .mfp-close {
    opacity: 1;
    mix-blend-mode: normal;
    color: var(--fr-deep-red);
    background-color: transparent;
    border: none;
    top: 10px;
    right: 10px;
}

.mfp-content ul.nav li a,
.mfp-content ul.nav li a:hover {
    color: black;
    font-size: 1em;
    font-weight: normal;
}

i.icon-menu {
    color: black;
}

.sidebar-menu .nav-sidebar .menu-item {
   font-size: larger;
}

ul.nav-sidebar {
    margin-top: 30px;
}

.fr-mobile-nav-login, .fr-mobile-nav-logout {
    margin-left: 20px;
}

.sidebar-menu a.fr-mobile-nav-login,
.sidebar-menu a.fr-mobile-nav-logout {
    display: block; /* show when in sidebar menu */
}

div.image-tools {
    display: none;
}

div.product-container {
    position: relative;
    /*margin-top: 150px;*/
}

@media screen and ( min-width: 550px ) {
    div.product-container {
        margin-top: 30px;
    }
    div.product-info.summary.product-summary {
        margin-left: 70px;
        position: relative;
    }
}

/* will scroll by default */
@media screen and ( max-width: 550px ) {
    div.home-gap-before-text {
        height: 150px !important;
    }
}

.box-image {
    padding: 7px 7px;
}

div.absolute-footer {
    display: none;
}

#logo {
    position: relative;
    /*top: 20px;*/
}

input#woocommerce-product-search-field-0,   /* desktop */
input#woocommerce-product-search-field-1 {  /* mobile */
    border-radius: 0;
}

input#woocommerce-product-search-field-0:focus,   /* desktop */
input#woocommerce-product-search-field-1:focus {  /* mobile */
    background-color: white;
}

input#woocommerce-product-search-field-1::placeholder { /* mobile */
    visibility: hidden;
}

input#woocommerce-product-search-field-1 { /* mobile */
    background-color: transparent;
    border: rgba(128, 128, 128, 0.3) 2px solid;
    border-top-width: 0px;
    border-left-width: 0px;
    border-right-width: 0px;
}


#fr-dates-n-search-wrapper-mobile {
    display: none;
    width: 100%;
    height: 50px;
    /*background-color: antiquewhite;*/
    position: relative;
}

@media screen and ( max-width: 850px ) {
    #fr-dates-n-search-wrapper-mobile,
    .nav.header-bottom-nav.nav-center.mobile-nav {
        display: block;
        opacity: 0;
    }
}

#fr-dates-n-search-wrapper-mobile .fr-dates-n-search-dates,
#fr-dates-n-search-wrapper-mobile .fr-dates-n-search-search {
    position: relative;
    display: block;
    height: 50px;
    /*float: left;*/
    /*border: var(--fr-deep-red) 1px solid;*/
}

#fr-dates-n-search-wrapper-mobile .fr-dates-n-search-dates {
    width: 85%;
    overflow: hidden;
}

#fr-dates-n-search-wrapper-mobile .fr-dates-n-search-search {
    float: right;
    top: -50px;
    width: 47px;
}

#fr-dates-button-header-wrapper-mobile {
    position: relative;
    top: 13px;
    cursor: pointer;
    opacity: 1;
}

.flex-col.show-for-medium.flex-grow {
    height: 60px;
    max-height: 60px;
}

/* 
Remove filter and sort from mobile until a solution to the abnormal spacing is found
*/
@media screen and ( max-width: 850px ) { 

    div.category-filtering.category-filter-row,
    form.woocommerce-ordering {
        display: none;
    }

}

/*********************************************
|
| Focus Booking
|
**********************************************/

.focus-booking-wrapper, .focus-blocking-wrapper {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    border-bottom: 1px solid #bbb;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.focus-booking-wrapper::after, .focus-blocking-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

.fb-title-wrapper {
    height: auto;
}

.focus-booking-wrapper .fb-title-wrapper span {
    color: #1f1e46;
}

.focus-blocking-wrapper .fb-title-wrapper span {
    color: var(--fr-deep-red);
}

.focus-booking-wrapper .bold, .focus-blocking-wrapper .bold {
    font-weight: bold;
    height: auto;
}

.fb-img-wrapper, img.focus-booking-image, img.focus-blocking-image {
    width: 80px;
    height: 80px;
    position: relative;
    float: left;
}

.fb-details-wrapper {
    width: calc( 100% - 100px );
    height: auto;
    font-size: small;
    position: relative;
    float: left;
    margin-left: 10px;
}

/*********************************************
|
| My Account
|
**********************************************/
@media screen and ( max-width: 850px ) {
    
    body.woocommerce-account nav.woocommerce-MyAccount-navigation{
        display: none;
    }

    body.woocommerce-account div.container[role="main"] {
        position: relative;
        top: -70px;
    }
}

div.account-user.circle, div.large-9.col nav.woocommerce-MyAccount-navigation {
    display: none;
}

div.my-account-header.page-title {
    visibility: hidden;
}

ul.dashboard-links li.woocommerce-MyAccount-navigation-link a {
    text-align: left;
    padding-left: 20px;
}

/*********************************************
|
| My Account Orders
|
**********************************************/ 

/* Hide default order table */
body.woocommerce-account.woocommerce-orders div.touch-scroll-table {
    display: none;
}

div.fr-order-wrapper {
    width: 100%;
    height: 50px;
    position: relative;
    border-bottom: 1px solid #555;
    margin-bottom: 30px;
    padding-top: 15px;
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden;
}

div.fr-order-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

div.fr-order-wrapper.open {
    background-color: white;
}

div.fr-order-wrapper.closed {
    background-color: transparent;
}

div.fr-order-wrapper.cancelled,
div.fr-order-wrapper.cancelled h2,
div.fr-order-wrapper.cancelled td,
div.fr-order-wrapper.cancelled .woocommerce-Price-amount,
div.fr-order-wrapper.cancelled .fr-order-button {
    color: #bbb;
}

div.fr-order-wrapper.cancelled .fr-order-button:hover {
    color: white;
    background-color: #bbb;
}

 div.fr-order-wrapper.cancelled .fr-triangle-down {
    border-top-color: #bbb;
 }

 div.fr-order-wrapper.cancelled .fr-triangle-right {
    border-left-color: #bbb;
 }

  div.fr-order-wrapper.cancelled .fr-order-button:hover .fr-triangle-right {
    border-left-color: white;
 }

div.fr-order-wrapper:hover {
    background-color: white;
}

/* Use #fr-mini-cart-overlay for modal (z-index:9998) */

div.fr-order-cancel-modal {
    text-align: center;
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: fit-content;
    width: 450px;
    margin: 0; /* Remove auto margin */
    padding-top: 30px;
    padding-bottom: 20px;
    background-color: #f1f1f1;
    z-index: 9999;
}

div.fr-order-cancel-modal-content-default {
    display: block;
    opacity: 1;
}

div.fr-order-cancel-modal-content-failed {
    display: none;
    opacity: 0;
}

div.fr-order-wrapper-row {
    margin-bottom: 15px;
    overflow: hidden;
}

div.fr-order-wrapper-row1 {
    display: flex;
    flex-wrap: wrap;
    min-width: 0; 
    height: 35px;
    width: 100%;
    min-width: 370px;
    border-bottom: 1px solid #bbb;
}

div.fr-order-wrapper-row1 .fr-order-button {
    position: absolute;
    top: 5px;
    right: 20px;
}

div.fr-order-wrapper .bold {
    font-weight: bold;
}

div.fr-order-wrapper h2 {
    font-size: 1.2em;
    font-weight: bold;
    width: fit-content;
    height: 35px;
    margin-bottom: 0px;
    position: relative;
    bottom: 0px;
    float: left;
    clear: none;
}

div.fr-order-date-time {
    position: relative;
    float: left;
    width: calc(100% - 250px);
    height: 20px;
    /*background-color: aquamarine;*/
    overflow: hidden;
}

div.fr-order-date, div.fr-order-time {
    min-width: 50px;
    height: 20px;
    position: relative;
    vertical-align: text-bottom;
    bottom: 1px;
    left: 10px;
    float: left;
    font-size: 1em;
    text-align: left;
}

div.fr-order-wrapper-row2 {
    height:fit-content;
    width: 100%;
}

div.fr-order-wrapper-row2::after {
    content: "";
    display: table;
    clear: both;
}

.fr-order-status {
    font-weight: bold;
}

.fr-order-status-failed {
    background-color: #fddcdc;
    color: var(--fr-deep-red);
}

.fr-order-status-pending-payment, .fr-order-status-on-hold {
    background-color: #ffdbab;
    color: #c06d01;
}

.fr-order-status-paid {
    background-color: #cffcce;
    color: var(--fr-good-green);
}

.order-bull-paid {
    color: var(--fr-good-green);
    font-size: 10px;
}

.fr-order-status-collected, .fr-order-status-returned {
    color: #1f1e46;
}

.order-bullet {
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 0.5em;
    margin-top: -2px;
}

.order-bullet.paid {
    background-color: var(--fr-good-green);
}

.order-bullet.pending-payment, .order-bullet.on-hold {
    background-color: #c06d01;
}

.order-bullet.failed {
    background-color: var(--fr-deep-red);
}

.order-bullet.collected, .order-bullet.returned {
    background-color: #1f1e46;
}

.order-bullet.cancelled {
    background-color: #bbb;
}

.order-bullet.refunded {
    background-color: #555;
}


div.fr-order-wrapper-row3 {
    height:fit-content;
    width: 100%;
    border-top: 1px solid #bbb;
}

div.fr-order-wrapper-row3::after {
    content: "";
    display: table;
    clear: both;
}

div.fr-order-wrapper-row3 .fr-order-status {
    text-transform: uppercase;
    padding: 5px 7px 5px 10px;
}

div.fr-order-wrapper-row3 .fr-order-button {
    display: inline-block;
    position: relative;
    top: -1px;
    border-top: 0;
}

div.fr-order-wrapper-row3 .woocommerce-Price-amount {
    color: #777;
}

div.fr-order-details-wrapper .woocommerce-Price-amount {
    color: #777;
    font-weight: normal;
}

div.fr-order-collect-return-wrapper {
    position: relative;
    float: left;
    width: 50%;
    padding-right: 20px;
    height: fit-content;
}

div.fr-order-collect-return-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

div.fr-order-collect-wrapper {
    width: calc( 50% - 20px );
    margin-right: 20px;
    border-right: 1px solid #bbb;
}

div.fr-collect-return-label, div.fr-collect-return-date, div.fr-collect-return-time {
    width: fit-content;
    height: 20px;
    position: relative;
    white-space: nowrap;
}

div.fr-collect-return-date, div.fr-collect-return-time {
    float: left;
}

div.fr-order-wrapper-row-actions {
    position: relative;
    height: fit-content;
    width: 100%;
}

div.fr-order-wrapper-row-actions .fr-order-button {
    display: block;
    position: relative;
    float: left;
    width: fit-content;
    margin-right: 20px;
    margin-bottom: 15px;
}

div.fr-order-wrapper-row-actions .fr-order-action-pay .loading-animation {
    position: relative;
    left: 45px;
    top: -7px;
}

button.fr-order-button {
    color: #ffffff;
    background-color: #777;
    font-weight: bold;
    text-transform: uppercase;
    border: 1px solid #bbb;
    padding: 0px 13px 0px 10px;
}

.fr-order-button:hover {
    background-color: #777;
    color: white;
    cursor: pointer;
}

span.fr-view-order-button {
    padding-right: 27px;
}

span.fr-triangle-right {
    display: inline-block;
    position: relative;
    top: 1px;
    left: 2px;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid white;
    border-right: 0;
}

.fr-order-button:hover .fr-triangle-right {
    border-left-color: white;
}

span.fr-triangle-down {
    position: relative;
    top: 12px;
    left: 10px;
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 7px solid white;
    border-bottom: 0;
}

.fr-view-order-button:hover .fr-triangle-down {
    border-top-color: white;
}

.fr-order-details-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 30px;
    margin-bottom: 20px;
}

.fr-order-details-table th,
.fr-order-details-table td {
    text-align: left;
    padding: 12px;
    border-bottom: 1px solid #ddd;
}

.fr-order-details-table tr:last-child td {
    border-bottom: none;
}

.fr-order-details-table .fr-subtotal,
.fr-order-details-table .fr-discount,
.fr-order-details-table .fr-shipping,
.fr-order-details-table .fr-vat,
.fr-order-details-table .fr-total {
    text-align: right;
    border-top: 1px solid #ddd;
}

/**********************************************
|
| My Account Payment Methods
|
***********************************************/

ul.woocommerce-PaymentMethods li.woocommerce-PaymentMethod::marker {
  content: '';
}

ul.wc_payment_methods li.wc_payment_method::marker {
  content: '';
}

ul.woocommerce-SavedPaymentMethods li::marker {
  content: '';
}

/*********************************************
|
| Terms of Hire, Privacy Policy
|
**********************************************/

body.page-id-885 div.wp-block-columns,
body.page-id-3 div.wp-block-columns {
    position: relative;
    top: 200px;
    margin-bottom: 200px;
}

@media screen and ( max-width: 782px ) {
    
body.page-id-885 div.wp-block-columns,
body.page-id-3 div.wp-block-columns {
    padding-left: 30px;
    padding-right: 30px;
}
    
}

#orders-mail-at::before {
    content: "orders";
}

#privacy-mail-at::before {
    content: "privacy";
}

/*********************************************
|
| Cart
|
**********************************************/

/* Rental details column */

#focus-b-cart-dates-info-wrapper {
    /*font-size: 0.9em;*/
    width: 200px;
    height: fit-content;
    position: sticky;
    top: 85px;
    float: left;
    margin-bottom: 40px;
    background-color: var( --fr-background-grey );
    z-index: 1;
}

#focus-b-cart-dates-info-wrapper .dates-info-box {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    background-color: #e9e9e9;
}

table.shop_table {
    position: relative;
    z-index: 0;
}

.dates-info-box.confirmation-page,
h1.confirmation-page, h2.confirmation-page {
    text-align: center;
}

@media screen and ( max-width: 620px ) {
    #focus-b-cart-dates-info-wrapper {
        width: 100%;
        clear: both;
        float: none;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        /*background-color: var( --fr-background-grey );*/
    }

    #focus-b-cart-dates-info-wrapper .dates-info-box {
        width: calc(50% - 10px);
        box-sizing: border-box;
        text-align: center;
        
    }

    #focus-b-cart-dates-info-wrapper .dates-info-box:last-child {
        margin-right: 0;
    }

    .under-620 {
        display: none;
    }

    .cart-change-dates-box {
        position: absolute;
        bottom: -20px;
        text-align: center;
        height: fit-content;
        width: 100%;
        background-color: var( --fr-background-grey );
    }

}

@media screen and ( min-width: 620px ) {
    .over-620 {
        display: none;
    }
}


/* Cart items column */

body.woocommerce-cart .col.large-7.pb-0 {
    min-width: 270px;
}

/* Amount column */

@media screen and ( min-width: 850px ) {
    body.woocommerce-cart .col.large-7.pb-0,
    body.woocommerce-cart .cart-collaterals.large-5.col.pb-0 {
        border-left: 1px solid #bbb;
    }
}

/*
@media screen and ( max-width: 620px ) {
    body.woocommerce-cart .cart-collaterals.large-5.col.pb-0 {
        max-width: 250px;
    }
}*/

body.woocommerce-cart a.checkout-button.button.alt.wc-forward {
    min-width: 120px;
    /*max-width: 160px;*/
}


/*********************************************
|
| Checkout
|
**********************************************/

/* Remove Trustly payment method icon */
div.wc-block-components-payment-method-icons 
img.wc-block-components-payment-method-icon.wc-block-components-payment-method-icon--ppcp-trustly {
    display: none;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    background-color: var(--fr-deep-red);
    border: none;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span {
    color: white;
}

a.wc-block-components-checkout-return-to-cart-button,
a.wc-block-components-checkout-return-to-cart-button:hover {
    font-family: 'Lato', sans-serif;
    font-size: 1.2em;
    color: var(--fr-deep-red);
}

a.wc-block-components-checkout-return-to-cart-button:hover {
    text-decoration: underline;
}

body .wc-block-components-checkout-place-order-button {
    text-transform: uppercase;
}

#radio-control-wc-payment-method-options-gocardless__label img,
#radio-control-wc-payment-method-options-stripe__label img,
fieldset#contact-fields {
    display: none;
}

div.wp-block-woocommerce-checkout-terms-block a {
    text-decoration: underline;
}

@media screen and ( min-width: 750px ) {
    div.wp-block-woocommerce-checkout-order-summary-block {
        position: fixed;
        top: 110px;
        margin-right: 15px;
    }
}

div.paypal-button-row {
    margin-right: 1px;
}

fieldset#billing-fields h2, fieldset#payment-method h2 {
    /* style as h1 */
    font-size: 1.4em;
    font-weight: 700;
}


/* Order confirmation page */

#focus-b-cart-dates-info-wrapper.confirmation-page {
    position: relative;
    top: 0px;
    width: 100%;
    margin-bottom: 10px;
    clear: both;
    float: none;
    display: flex;
    flex-wrap: nowrap;
    justify-content: left;
}

div.is-well.col-inner {
    max-width: 500px;
    margin-top: 130px;
    box-shadow: none;
    border: 1px solid #bbb;
}

body.page-id-1175 #header {
    position: fixed;
}

@media screen and ( max-width: 850px ) {
    body.page-id-1175 #wide-nav {
        display: none;
    }

    div.is-well.col-inner {
        margin-top: 90px;
    }

}



/*
#radio-control-wc-payment-method-options-ppcp-credit-card-gateway__content {
    display: none;
}
li.woocommerce-PaymentMethod--ppcp-credit-card-gateway.payment_method_ppcp-credit-card-gateway label {
    font-size: large;
}
*/

/*********************************************
|
| Footer
|
**********************************************/

.footer-wrapper .col-inner.box-shadow-2 {
    border-radius: 0px !important;
    background-color: #f4f4f4 !important;
    border-color: white !important;
}