/*
Theme Name: Di's Mountain Bagels Custom Theme
Theme URI: https://tandemdesignlab.com
Author: Tandem Design Lab
Author URI: https://tandemdesignlab.com
Description: Custom Theme for Di's Mountain Bagels
Version: 1.1
License: none
Tags:
*/


:root{
  --primary-font: "Open Sans", serif;
  --primary-font-size: 14px;
  --primary-font-weight: 400;
  --primary-font-style: normal;

  --secondary-font: "Amatic SC", serif;
  --secondary-font-size: 20px;
  --secondary-font-weight: 400;
  --secondary-font-style: normal;

  --header-font-weight: 800;

  --white: #FFF;
  --black: #171717;
  --charcoal: #282828;
  --gray: #777;
  --blue: #428bca;
  --red: #da5252;

  --content-width: 1200px;
  --column-gap: 35px;
  --default-margin: 50px;
  --small-margin: calc(var(--default-margin) / 2);
  --paragraph-margins: calc(var(--default-margin) / 3);

  --default-transition: ease-in-out all .5s;
}


/****************************************************************** Structure ******************************************************************/
body{ padding: 0; margin: 0; font-family: var(--primary-font); font-weight: var(--primary-font-weight); font-size: var(--primary-font-size); line-height: 1.5; color: var(--black);}

.headingWrapper {
  display: flex;

  :where(h2,h3,h4) { color: var(--black); font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style);line-height: 1.25; margin: 0 0 var(--default-margin) 0; text-transform: capitalize;}
  :where(h1) { color: var(--green); font-family: var(--secondary-font); font-weight: var(--header-font-weight); font-style: var(--secondary-font-style);line-height: 1; margin: 0 0 var(--default-margin) 0; text-transform: capitalize;}
  :where(h1,h2,h3,h4) p { margin: 0; padding: 0;}

  &.blue :where(h1,h2,h3,h4) { color: var(--blue);}
  &.green :where(h1,h2,h3,h4) { color: var(--green);}
  &.light-green :where(h1,h2,h3,h4) { color: var(--light-green);}
  &.black :where(h1,h2,h3,h4) { color: var(--black);}
  &.gray :where(h1,h2,h3,h4) { color: var(--gray);}
  &.white :where(h1,h2,h3,h4) { color: var(--white);}

  &.center { justify-content: center; align-items: center; text-align: center;}
  &.multi-line.center { text-align: center;}
  &.right { justify-content: end;}

  &.ballanced :where(h1,h2,h3,h4) { text-wrap: balance;}
  &.noMargins :where(h1,h2,h3,h4) { margin: 0 !important;}

  &.hasSubHeading {
    :where(h1,h2,h3,h4) { display: flex; flex-direction: column; align-items: center; gap: var(--paragraph-margins);}
    span.title { font-size: .6em; text-transform: uppercase;}
    span.sub-title { text-transform: initial;}
  }

  &.hasIcon {
    margin-top: calc(-1 * (var(--default-margin) * 1.5)); align-items: end;
    :where(h1,h2,h3,h4) { flex: 1; margin-top: var(--default-margin);}
    span.title { font-size: 1.5em; line-height: 1.25;}
    .icon-wrapper {
      flex: 0 0 25%; position: relative; top: calc(-1 * var(--default-margin)); aspect-ratio: 1;
      .tdl-icons { width: 100%; height: 100%;}
    }
  }

  &.hasInlineIcon {
    :where(h1,h2,h3,h4) { display: flex; gap: 20px; align-items: center;}

    h1 .icon-wrapper .tdl-icons { width: 140px; height: 140px;}
    h2 .icon-wrapper .tdl-icons { width: 120px; height: 120px;}
  }

  &.icon-top :where(h1,h2,h3,h4) { flex-direction: column; align-items: start;}
  &.light :where(h1,h2,h3,h4) { font-weight: 400 !important; }
}

/* Heading Defaults */
:where(h1,h2,h3,h4) { line-height: 1; font-weight: var(--header-font-weight);}
h1 { font-size: 60px;}
h2 { font-size: 50px;}
h3 { font-size: 40px; }
h4 { font-size: 30px;}

.clear{clear:both;}

ul.tdlStyledNumberedList {
  counter-reset: number; list-style: none; margin-top: 70px; padding-left: 0;

  li { counter-increment: number; display: flex; flex-direction: row; gap: 40px; margin-bottom: 50px; align-items: center; font-weight: bold;}
  li:before { content: counter(number); width: 75px; height: 75px; border-radius: 50%; border: 2px solid var(--brown); font-size: 40px; font-family: var(--primary-font); flex: 0 0 75px; align-items: center; justify-content: center; display: flex;}
}

.tdl_text_column {
  ul {
    display: flex;
    flex-direction: column;
    gap: 20px;

    li::marker { color: var(--green);}
  }
}

.wpb_single_image {
  .vc_single_image-wrapper img {}
}

.matchAspect {
  .wpb_single_image {
    .vc_single_image-wrapper img { aspect-ratio: 3/4; object-fit: cover;}
  }
}

.wpb_single_image.tdlAspect {
  .vc_single_image-wrapper img { aspect-ratio: 3/4; object-fit: cover;}
}

.noBottomMargins { margin-bottom: 0 !important;}

p.red a { color: var(--red) !important;}

/*************************************************************** General Styles ****************************************************************/

/* Header */
#header {
  background: var(--charcoal);
  .menus { display: flex; gap: 20px;}
}
.logged-in:not(.page-template-no-banner-page) #header { top: 12px;}
header { display: flex; width: var(--content-width); justify-content: space-between; padding: calc(var(--default-margin) / 2) 0; align-items: center; margin: 0 auto;}

/* Menu Main */
.menu-main-container {
  z-index: 9999;
  ul { list-style: none; padding: 0;}

  .tdl_menu {
    margin: 0;
    display: flex;
    flex-direction: row;
    gap: 20px;


    li {
      position: relative; line-height: 2 !important; display: flex; gap: 20px;

      a {
        text-decoration: none; color: var(--white); font-size: 24px; font-family: var(--secondary-font); font-weight: 700; font-style: var(--secondary-font-style); text-transform: capitalize; display: inline-flex; padding: 0 10px; border: 1px solid transparent;

        &:hover { color: var(--red); border: 1px solid var(--white); border-radius: 4px;}
      }

      &:hover {
        .sub-menu { display: flex; flex-direction: column;}
      }

      &.active:hover .sub-menu { display: block !important;}

      &.current-menu-parent {
        a { color: var(--red); }
      }

      &.current_page_item {
        a {
          color: var(--red); position: relative;
        }

        .sub-menu {
          li {}
          li:hover {}
        }

        &.menu-item-has-children {
          /* &:after { border-right: 1px solid var(--red); border-bottom: 1px solid var(--red);} */
        }
      }

      &.menu-item-has-children {
        /* &:after { content: ''; display: inline-block; width: 8px; height: 8px; border-right: 1px solid var(--blue); border-bottom: 1px solid var(--blue); transform: rotate(45deg); position: relative; top: -6px; margin-left: 2px;} */
      }

      &.tdlButton {
        /* margin-left: 60px; */
        a { padding: 0 20px; border: 4px solid var(--black); border-radius: 15px;}

        &.green {
          a { background: var(--light-green) !important; color: var(--black) !important;}
        }

      }


    }

    .sub-menu {
      position: absolute;
      display: none;
      width: fit-content;
      min-width: 200px;
      background: var(--green);
      top: 48px;

      li {
        border-left: 4px solid var(--green);
        a { color: var(--white); line-height: 3; padding: 0 10px; font-size: .7em; white-space: nowrap; width: calc(100% - 20px); display: inline-block;}
        &:hover {
          border-left: 4px solid var(--blue);
          background: var(--blue);
          a { color: var(--white);}
        }

        &.current_page_item {
          border-left: 4px solid var(--blue);
          a {
            &:after { content: ''; display: none;}
          }
        }

        &:not(:last-of-type):after { display: none;}

      }
    }
  }

}

/* Mobile Menu */
#tdl_mm_container {
  background-color: var(--red);
  line-height: 2em !important;
  text-align: left;

  ul li a { text-align: left; line-height: 2em !important; text-decoration: none;}
  a { color: var(--white);}

  .menu-item-has-children a:after{ border-color: transparent transparent transparent var(--white) !important;}

  &.dropdown { text-align: center; top: 150px !important;}
  &.slide, &.push { padding: 0px;}

  .sub-menu {
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    .menu-item-has-children a:after { content: ''; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 10px; border-color: transparent transparent transparent var(--white); display: inline-block; margin-left: 10px; position: relative; top: -1px;}

    li {
      background-color: var(--charcoal);
      line-height: 2em;

      &.mobileOnly { background-color: var(--white);}
    }

    a { color: var(--white); font-size: .9em;}

  }

}

/* Mobile Button */
#tdl_mm_button {
  position: relative !important;
  z-index: 999999;

  &:after, &:before, & > div { background-color: var(--red) !important;}

  &.active { right: -40px !important;}
}

/* Add overlay when mobile menu is open */
body.activeMobileMenu:after { content: ''; position: fixed; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,.8); z-index: 9;}

/* Banner */
rs-slide {
  :where(h1,h2,h3,h4,p) { font-family: var(--primary-font) !important; font-weight: var(--primary-font-weight) !important;}
  :where(p) { font-family: var(--primary-font) !important; font-weight: var(--primary-font-weight) !important;}
}

/* Logo */
.logo {
  width: 150px;
  z-index: 9;
  margin: 0;

  img { width: 100% !important; height: auto !important; display: block;}
}

/* TDL Banner */
.tdl-banner-container {
 min-height: 400px; display: flex; justify-content: center;

 .tdl-banner-wrapper {
   width: var(--content-width); align-content: center; position: relative;

   .tdl-content-wrapper {
     display: flex;
     justify-content: space-between;

     .tdl-title-wrapper {
       h1 { color: var(--white); text-wrap: balance; max-inline-size: 430px; line-height: 1.25;}
     }
   }

   .icon-wrapper {
     position: absolute; bottom: -30px; right: 0;

     .tdl-icons { width: 200px; height: 200px;}
   }
 }

 &.blue { background: var(--blue);}
 &.green { background: var(--green);}
 &.light-green { background: var(--light-green);}
 &.black { background: var(--black);}

 &[data-line_arrow_color="green"], &[data-line_arrow_color="light-green"], &[data-line_arrow_color="blue"], &[data-line_arrow_color="black"] {
    position: relative; overflow: visable !important; margin-bottom: calc(var(--default-margin) * 2) !important;

    &:after { content: ''; width: 50px; height: 50px; transform: translate(-50%, 65px) rotate(45deg); left: 50%; position: absolute; bottom: 0;}
 }

 &[data-line_arrow_color="green"] {
    border-bottom: 40px solid var(--green);

    &:after { background: var(--green);}
  }
 &[data-line_arrow_color="light-green"] {
   border-bottom: 40px solid var(--light-green);

   &:after { background: var(--light-green);}
 }
 &[data-line_arrow_color="blue"] {
   border-bottom: 40px solid var(--blue);

   &:after { background: var(--blue);}
 }
 &[data-line_arrow_color="black"] {
   border-bottom: 40px solid var(--black);

   &:after { background: var(--black);}
 }

}

/* Buttons */
.tdlButtonWrapper {

  display: flex;

  .tdlButton {
    text-decoration: none;

    transition: ease-in-out  all .2s;
    position: relative;
    font-family: var(--primary-font);
    font-size: var(--primary-font-size);
    font-weight: bold !important;
    text-transform: uppercase !important;
    line-height: 1;
  }

  &.outline {
    .tdlButton { border-width: 4px; border-style: solid; border-color: var(--black); color: var(--black); border-radius: 10px; font-weight: bold !important; padding: 5px 10px;}
    .tdlButton:hover { color: var(--green); transition: ease-in-out  all .2s;}
  }

  &.background {
    .tdlButton { text-decoration: none; text-transform: capitalize; background: var(--red); color: var(--white); border-radius: 10px; padding: 20px 60px;}
    .tdlButton:hover { background: var(--charcoal); color: var(--white); transition: ease-in-out  all .2s;}
  }

  &.black {
    &.outline {
      .tdlButton { border-color: var(--black); color: var(--black);}
      .tdlButton:hover { border-color: var(--white); color: var(--white);}
    }
    &.background {
      .tdlButton { background: var(--black); color: var(--white);}
      .tdlButton:hover { background: var(--red); color: var(--white);}
    }
  }

  &.red {
    &.outline {
      .tdlButton { border-color: var(--red); color: var(--red);}
      .tdlButton:hover { border-color: var(--charcoal); color: var(--charcoal);}
    }
    &.background {
      .tdlButton { background: var(--red); color: var(--white);}
      .tdlButton:hover { background: var(--charcoal); color: var(--white);}
    }
  }

  &.white {
    &.outline {
      .tdlButton { border-color: var(--white); color: var(--white);}
      .tdlButton:hover { background: var(--white); color: var(--blue);}
    }
    &.background {
      .tdlButton { background: var(--white); color: var(--blue);}
      .tdlButton:hover { background: var(--yellow); color: var(--blue);}
    }
  }

  &.charcoal {
    &.outline {
      .tdlButton { border-color: var(--charcoal); color: var(--charcoal);}
      .tdlButton:hover { border-color: var(--black); color: var(--black);}
    }
    &.background {
      .tdlButton { background: var(--charcoal); color: var(--white);}
      .tdlButton:hover { background: var(--black); color: var(--white);}
    }
  }

  &.right {
    justify-content: flex-end;
  }

  &.center {
    justify-content: center;
  }

  &.arrow {
    .tdlButton:after { content: '\2192'; display: inline-block; margin-left: 10px; position: relative; top: -3px;}
  }


}

/* Widget Button */
.wp-block-button {

  &.tdlButton {
    width: 100%;

    .wp-element-button {
      text-decoration: none;
      padding: 20px 60px;
      transition: ease-in-out  all .2s;
      position: relative;
      font-family: var(--primary-font);
      font-size: var(--primary-font-size);
      font-weight: normal !important;
      text-transform: uppercase !important;
      line-height: 1;
    }

    &.outline {
      .wp-element-button { border-width: 6px !important; border-style: solid !important; border-color: var(--black) !important; color: var(--blue) !important; border-radius: 20px !important; font-weight: bold !important; font-size: 42px; text-transform: uppercase;}
      .wp-element-button:hover { color: var(--white); transition: ease-in-out  all .2s;}
    }

    &.green {
      .wp-element-button { background: var(--light-green) !important; color: var(--black) !important; width: 100%;}
    }

  }

}

/* Default Icon Sizing */
.tdl-icons { width: 40px; height: 40px;  display: block; background-position: center center; background-repeat: no-repeat;}

/* Auto Coloring of Icon Buttons */
.tdl_row .tdl_column:has(.tdl-icon-button.auto) {
  &:nth-of-type(1) {
    .tdl-icon-button.auto .wrapper {
      background: rgba(107, 183, 81, 1);
    }
  }
  &:nth-of-type(2) {
    .tdl-icon-button.auto .wrapper {
      background: rgba(107, 183, 81, .8);
    }
  }
  &:nth-of-type(3) {
    .tdl-icon-button.auto .wrapper {
      background: rgba(107, 183, 81, .6);
    }
  }
  &:nth-of-type(4) {
    .tdl-icon-button.auto .wrapper {
      background: rgba(107, 183, 81, .4);
    }
  }
  &:nth-of-type(5) {
    .tdl-icon-button.auto .wrapper {
      background: rgba(107, 183, 81, .2);
    }
  }
}

.tdl-icon-button {
  &:hover .icon-wrapper .icon { transition: ease-in-out all .3s;}
  &:hover .icon-wrapper .icon:before { transform: scale(1.3); transition: ease-in-out all .3s; color: var(--black);}

  a { text-decoration: none;}
  h3 { font-size: 26px; text-align: left; color: var(--black); text-transform: uppercase; transition: ease-in-out all .3s; margin: 0; position: relative; z-index: 2;}
  &:hover h3 { color: var(--white); transition: ease-in-out all .3s;}

  &.green .wrapper {
    background: var(--green);
  }
  &.light-green .wrapper {
    background: var(--light-green);
  }
  &.blue .wrapper {
    background: var(--blue);
  }
  &.black .wrapper {
    ackground: var(--black);
  }

  .wrapper {
    display: flex;
    flex-direction: column;
    gap: calc(var(--column-gap) / 2);
    border: 6px solid var(--black);
    border-radius: 15px;
    padding: 20px;

    position: relative;

    &:after { content: ''; display: block; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0,0,0,0); position: absolute; z-index: 1; transition: var(--default-transition);}


    /* &:hover { transition: var(--default-transition); background: var(--black) !important;} */
    &:hover {
      transition: var(--default-transition);

      &:after { background: rgba(0,0,0,.5); transition: var(--default-transition);}
    }
  }

  .icon-wrapper {
    flex: 1;
    position: relative; z-index: 2;

    .tdl-icons {
      height: 100%; min-height: 75px; width: auto; background-position-x: left;
      transition: ease-in-out all .3s;

      /* Assign Icons */
      &:before { transform: translateY(0%) scale(1.2); transition: ease-in-out all .3s;}
    }
  }

  .content-wrapper {
    .content {}
  }

}

/* Icon Block */
.tdl-icon-block {
  &.cover {
    .wrapper {
      width: 100%;

      .icon-wrapper {
        width: 100%; padding-top: 0;

        .tdl-icons { width: 100%; height: 100%; aspect-ratio: 1;}
      }
    }
  }

  &.large {
    margin-bottom: var(--default-margin);
    .wrapper {
      .icon-wrapper {
        .tdl-icons { width: 100px; height: 100px; aspect-ratio: 1; margin: 0 auto;}
      }
    }
  }

  &.offset {
    margin-top: calc(-3 * var(--default-margin));
  }
}

/* Add padding to previous row for offset icon */
.tdl_row:has(+ .tdl_row .tdl-icon-block.offset) { padding-bottom: calc(2 * var(--default-margin));}
.tdl_row:has(+ .tdl_row.apple) { padding-bottom: calc(2 * var(--default-margin));}
.tdl_row:has(+ .tdl_row.apple-two) { padding-bottom: calc(1 * var(--default-margin));}

/* Footer */

#footer {
  width: 100%;
  background: var(--charcoal);
  color: var(--gray);
  margin-top: 0;
  position: relative;
  padding: 100px 0 !important;

  &:has(.wp-block-button.tdlButton.carrot) {
    margin-top: 150px;
  }

  footer { width: var(--content-width); margin: 0 auto;}
  .footer_column_wrapper {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: var(--column-gap);
    width: 100%;

    .footer_column_1 { display: flex; flex-direction: column; justify-content: space-between;}
  }

  ul {
    list-style: none; padding-left: 0; margin-top: 0;
  }

  a {
    text-decoration: none; color: var(--gray);
    &:hover { color: var(--gray);}
  }
  :where(h1,h2,h3,h4) { color: var(--white); margin-top: 0; margin-bottom: var(--default-margin); font-family: var(--secondary-font); font-style: var(--secondary-font-style); font-weight: var(--secondary-font-weight); text-transform: capitalize;}
  h3 { font-size: 42px; text-transform: capitalize; margin-bottom: 0 !important;}

  .wp-block-social-links {
    margin-top: var(--default-margin);

    .wp-block-social-link {
      position: relative; width: 100px; height: 100px; border-radius: 0; display: flex; align-items: center; justify-content: center;

      .wp-block-social-link-anchor svg { fill: var(--black) !important; color: var(--black) !important; z-index: 2;}
      /* &:hover:before { background: var(--red);} */

    }
  }

  ul.menu {
    display: flex; flex-direction: column; gap: 20px ;font-size: 40px; font-family: var(--primary-font); font-weight: var(--primary-font-weight); font-style: var(--primary-font-style); text-transform: uppercase; line-height: 1;
    a { padding: 0;}
  }

  /* Address Widget */
  #tdl_contact_widget_container {
    position: relative;
    margin-top: 30px;

    p:before { display: flex; font-size: 80px; line-height: 1; width: 26px; height: 32px; content: ''; background-size: contain; background-position: center center; background-repeat: no-repeat;}
    #addressContainer {
      flex-direction: column; gap: 10px; margin-bottom: 10px;

      div { align-items: start;}
    }
    p#address { display: flex; gap: 10px;}
    p#address:before { background-image: url('assets/images/pre-ft-ico-shop.png'); }
    p#mailing { display: flex; gap: 10px;}
    p#mailing:before { background-image: url('assets/images/pre-ft-ico-plane.png'); }
    #emailContainer {
      margin-bottom: 10px; display: flex; gap: 10px; align-items: center;
      a {
        color: var(--blue);
        &:hover { color: var(--red);}
      }
      &:before { background-image: url('assets/images/pre-ft-ico-mail.png');  display: flex; font-size: 80px; line-height: 1; width: 26px; height: 32px; content: ''; background-size: contain; background-position: center center; background-repeat: no-repeat;}
    }

    #phoneContainer {
     margin-bottom: 10px; display: flex; gap: 10px; align-items: center;
     &:before { background-image: url('assets/images/pre-ft-ico-phone.png');  display: flex; font-size: 80px; line-height: 1; width: 26px; height: 32px; content: ''; background-size: contain; background-position: center center; background-repeat: no-repeat;}
   }
    p { padding: 0; margin: 0; display: inline-block;}
    strong { }
  }

}

#sub_footer {
  color: var(--gray); background: var(--black);

  footer {
    padding: 10px 0; width: var(--content-width); margin: 0 auto;  display: flex;

      div {
        #credit, #copy { font-size: .9em; margin: 0; line-height: 1.5; font-weight: 400; display: inline-block;}
      }
      a {text-decoration: none; color: var(--gray);}
    }
  }
}


/* TLD Contact Links */
.tdlContactWrapper {
  padding-left: 50px;

  .tdlContact { display: flex; flex-direction: row; align-items: center; text-decoration: none;}
  .tdlContact:hover { color: var(--blue);}
  .tdlContact:before { font-family: 'icomoon'; display: inline-block; margin-right: 10px; font-size: 40px; width: 50px;}
  &.phone .tdlContact:before { content: '\e908';}
  &.email .tdlContact:before { content: '\e905'; font-size: 30px;}
  &.facebook .tdlContact:before { content: '\e906';}
  &.location .tdlContact:before { content: '\e907';}
}

/* Social Media Widget */
#tdl_social_widget_container {
  display: inline-block;
  a { color: var(--white); text-decoration: none;}

  .icon {
    margin-right: 20px;

    &:before { color: var(--white); font-size: 16px;}
    &:hover:before { color: var(--brown);}
  }
}

/* Forms */
.nf-form-cont {

  .nf-form-content { padding: 0;}
  .nf-form-content input:not([type="button"], [type="submit"]), .nf-form-content textarea.ninja-forms-field { background: var(--yellow); font-family: var(--primary-font); font-weight: 400; border: 4px solid var(--black) !important; color: var(--black) !important; border-radius: 10px !important; }
  .nf-form-content input:not([type="button"], [type="submit"]) { height: 50px !important;}

  .submit-container {
    display: flex; flex-direction: row; justify-content: start;

    &.add-user {
      .submit-wrap {
          position: relative;
        }
    }

    input {
      background: var(--green) !important; text-transform: uppercase !important; border: 4px solid var(--black) !important; color: var(--black) !important; height: auto !important; font-weight: bold !important; padding: 20px 60px !important; transition: ease-in-out  all .2s; font-family: var(--primary-font); font-size: var(--primary-font-size); line-height: 1; border-radius: 10px !important;

      &.tdlButton { padding: 20px 60px 20px 110px !important;}
    }

    :hover input { background: var(--light-green) !important; color: var(--black) !important; transition: ease-in-out  all .2s;}
  }

  .nf-error-msg { color: var(--red) !important; font-size: 14px !important;}
  .nf-error.field-wrap .nf-field-element:after { height: calc(100% - 2px) !important; aspect-ratio: 1 !important; width: auto; line-height: 1 !important; align-content: center !important;}
  .nf-form-fields-required { text-align: right; font-style: italic;}
  .nf-field-label label { font-weight: normal;}
  .nf-error-msg, .ninja-forms-req-symbol { color: var(--red);}
  .nf-error.field-wrap .nf-field-element::after { background: var(--red);}
}

footer {
  .nf-form-cont {
    .nf-form-fields-required { display: none !important;}
    .nf-form-content textarea.ninja-forms-field { height: 100px !important;}
  }
}


/* More Link */
.more-link { color: var(--brown);}

/* .vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left .vc_tta-controls-icon */

/* Accordion styles */
.vc_tta-container[data-vc-action="collapse"] {
  .vc_tta-panel-heading, .vc_tta-panel-body { border: 0px !important;}
  .vc_tta-panel-body { background-color: var(--gray);}
  .vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right.vc_tta-panel-title > a { padding-right: 200px !important;}

  .vc_tta-panel {
    .vc_tta-panel-title > a { color: var(--black) !important; font-size: 24px !important;}
    .vc_tta-title-text { font-weight: 400 !important;}
    .vc_tta-panel-heading { background: var(--white) !important;}
    .vc_tta-panel-heading:focus { color: var(--white) !important; background-color: var(--white) !important;}
    .vc_tta-panel-heading:hover { color: var(--white) !important; background-color: var(--white) !important;}
  }

  .vc_active {
    .vc_tta-panel-title { background: var(--white) !important;}
    .vc_tta-title-text { font-weight: 400 !important;}
    .vc_tta-panel-body { background-color: var(--green) !important; padding: var(--default-margin) !important; border-radius: 50px !important; outline: 6px solid var(--black) !important; outline-offset: -6px !important; margin-bottom: var(--default-margin) !important;}
    &.vc_tta-panel { border: none !important;}

    .vc_tta-controls-icon {
      padding: 5px; background: var(--green); border: 3px solid var(--black); border-radius: 10px;
      &:before { transform: rotate(180deg) translateY(40%) translateX(-40%) !important;}
    }
  }

  .vc_tta-controls-icon {
    padding: 5px; background: var(--green); border: 3px solid var(--black); border-radius: 10px;
    &:before { border-color: var(--black) !important; width: calc(100% - 10px); transform: translateY(40%) translateX(30%) !important;}
  }
}


/* Call To Action */
.tdlCTAWrapper.vc_hidden { opacity: 1 !important; padding-bottom: 0 !important;}
.tdlCallToActionContainer > .tdl_row { padding-left: 0 !important; width: 100% !important; padding-right: 0 !important; left: auto !important;}
.tdl_row.tdlCallToActionContainer { margin-bottom: 0 !important;}
.tdlCTAWrapper :where(h1, h2, h3, h4) { color: var(--white); font-size: 56px; line-height: 1.2em;}

.tdlCallToActionContainer .tdl_row .tdl_column .tdl_row { width: 100% !important;}


.tdlCTAWrapper:has(.tdlCallToActionContainer[data-cta-size="full"]) {
  display: flex; flex-direction: column; align-items: center;
}

.tdlCallToActionContainer {
  .tdl_row { padding-bottom: 0 !important;}

  &[data-cta-size="content"] {
    display: flex; align-items: center;
  }
}

/* TDL Custom Blocks */
.tdl-custom-block {

  &.red {
    background: var(--red);
    color: var(--white);
    :where(h1,h2,h3,h4) { color: var(--white);}

    .tdl_text_column p { color: var(--white);}

  }

  &.black {
    background: var(--black);
    color: var(--white);
    :where(h1,h2,h3,h4) { color: var(--white);}
    .tdl_text_column p { color: var(--white);}
  }
}

/*************************************************************** Page Specific ****************************************************************/


/* Team Members */
.teamMemberTDLBlock {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--column-gap);

  .teamMemberTDL {
    margin-bottom: var(--default-margin);

    h3 { margin-bottom: 0;}
    h4 { font-size: .8em; font-weight: normal; margin: 0;}
    a { text-decoration: none;}

    .teamMemberTDL_image{
      img { width: 100%; aspect-ratio: 1; object-fit: cover;}
    }
  }
}

/* Single Team Member */
.single-team_member {
  article { width: var(--content-width); margin: 0 auto; padding-top: var(--default-margin);

    .tdl-team-member {
      display: flex;
      gap: var(--column-gap);


      .left-column {
        flex: 0 0 30%;
        img { width: 100%; display: block;}
      }
      .right-column {
        flex: 1;

        h1 { margin-bottom: 0px; color: #0A0F1C; font-size: 60px; margin: 10px 0;}
        h4 { margin-bottom: 0; font-weight: var(--primary-font-weight);}
        h4.meet { color: var(--brown); font-size: 23px; margin-top: 0; font-weight: 700;}
        h4.contact { font-size: 40px; margin: 30px 0; font-weight: 700;}
        h2.posloc { font-size: 20px; color: rgba(10,15,28, .8); font-weight: var(--primary-font-weight);}
        .member-header { padding-bottom: 20px; border-bottom: 1px solid #0A0F1C;  margin-bottom: 20px;}
        .contact-info p { margin-bottom: 0;}
        .contact-info a { color: var(--brown);}
        .contact-info p { line-height: 1.8em;}
        ul#expertise { list-style: none; padding-left: 0;}
        ul#expertise li { display: inline-block; border: 2px solid #0A0F1C; padding: 10px 30px; margin-right: 20px; font-weight: 700;}

        p:last-of-type { margin-bottom: 0;}
      }
    }
  }
}

/* TDL News Article */
.tdlNewsArticle {
  padding-bottom: 35px; margin-bottom: 35px; border-bottom: 1px solid var(--blue);

  h3 { margin-bottom: 0; font-size: 2em; margin: 15px 0 40px 0;}
  .sourceDate { color: var(--brown); font-weight: bold;}
}


/* Testimonials */
.tdl-testimonial-container {

  .testimonial_image {
    text-align: center;

    img { border-radius: 50%; width: 50%; aspect-ratio: 1; object-fit: cover;}
  }

  &.list {

  }

  &.carousel {

  }

  &.coverflow {

    .swiper-container.tdl-coverflow { overflow: clip;}
    .swiper-wrapper {
      align-items: center;
      .swiper-slide {
        .content-wrapper { padding: 20px; border: 3px solid var(--blue-overlay); border-radius: 50px;}
        .star-rating { display: none;}

        &.swiper-slide-active {
          .content-wrapper { padding: 50px; border: 3px solid var(--blue);}
          .star-rating {
            margin-bottom: var(--default-margin); display: flex; gap: 5px; justify-content: center;
            .star { display: inline-flex; color: #FF7B00; font-size: 1.75em;}
          }
          &:has(.star-rating) h4.name { margin-bottom: 0;}
        }
        h4.name { text-align: center; margin-top: 0;}
        .testimonial_image { margin-bottom: var(--default-margin);}

      }
    }
  }
}

/* Blog Posts */
.tdl-post-container {

  .tdl-blog-post {
    display: flex;
    gap: var(--default-margin);
    margin: 0 auto;

    a { text-decoration: none;}
    h3 { margin-top: 0 !important; margin-bottom: var(--default-margin) !important;}

    img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block;}
    .tdlButton { text-transform: uppercase; margin-top: var(--default-margin);}

    .content-wrapper { padding: 0 var(--default-margin);}
  }

  &.columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--column-gap);

    .tdl-blog-post {
      flex-direction: column;
    }
  }

  &.list, &.alt-list {
      display: flex;
      flex-direction: column;

      .tdl-blog-post {
        padding: 50px 0;
        width: var(--content-width);

        .image-wrapper { flex: 0 0 33%;}
        .content-wrapper { flex: 1;}

        &:nth-of-type(even) {
          background: var(--yellow);
          .tdlButton:hover { background: var(--red); color: var(--white);}

        }
      }
  }

  &.list {
    .tdl-blog-post {
      flex-direction: row;
      .tdlButtonWrapper { justify-content: flex-end;}
    }
  }

  &.alt-list {
    .tdl-blog-post:nth-of-type(odd) {
      flex-direction: row;
      .tdlButtonWrapper { justify-content: flex-end;}
    }
    .tdl-blog-post:nth-of-type(even) {
      flex-direction: row-reverse;
      .tdlButtonWrapper { justify-content: flex-start;}
    }
  }

  .tdl-blog-post.circle {
    img { border-radius: 50%;}
  }

  .tdl-blog-post.featured {
    width: 100%;
    margin-bottom: var(--default-margin);
    img { width: 40%; float: left; padding-right: 70px;}
  }

  .tdl-blog-post.toggle {
    .readMore:after { content: 'Read More'; cursor: pointer;}
    .readMore.active:after { content: 'Read Less';}
    &.active .content { display: inline-block;}
    &.active .excerpt { display: none;}
  }
}

/* Posts on Colored Blocks */
.tdlBlueBlock, .tdlRedBlock, .tdlBlackBlock, .tdlGrayBlock {
  .tdl-post-container {

    .tdl-blog-post {
      color: var(--white);

      h3 { color: var(--white);}
      .tdlButton {
        background: var(--yellow); color: var(--blue);
        &:hover { background: var(--red); color: var(--white);}
      }
    }
  }
}


/* Posts on Full Width Row */
.vc_row[data-vc-stretch-content="true"] .tdl-post-container {
  .tdl-blog-post {
    margin: 0 auto;
    padding: 50px calc((100% - var(--content-width)) / 2);

    &:first-of-type { padding-top: 0 !important;}
  }
}

/* Post Categories */
.archive.category {
  h1.catTitle { color: var(--blue) !important; margin-top: 70px; margin-bottom: 70px}
  article { width: calc(var(--content-width) - 20px); margin: 0 auto; padding-bottom: 100px;}
}

/* Single Post */
.single-post {
  article { width: calc(var(--content-width) - 20px); margin: 0 auto; padding-bottom: 100px;}
  h1 { color: var(--blue);}
  h3 { color: var(--brown);}
  h4 { color: var(--brown);}
  .post-header { text-align: center; padding-top: 100px;}
  .post-wrapper { width: calc(var(--content-width) - 20px); margin: 0 auto; padding: 100px 0;}

  .recent-post-container {
    background: #ECECEC;
    h4 { margin-bottom: 0; text-align: center;}
    h2 { margin-top: 5px; text-align: center; margin-bottom: 70px;}
    .post { display: inline-block; vertical-align: top; width: 29%; margin-right: 6%}
    .post:nth-of-type(3n+3) { margin-right: 0;}
    .post img { width: 100%; height: auto;}
    .post h3 { color: var(--blue);}
    .post .postCatContainer { margin-top: 15px;}
    .post .postCatContainer a { color: var(--brown);}
    .post .readMore { color: var(--brown);}
  }
}

/* Numbered Section List */
.tdlIconListContainer {
  margin: 35px 0;

  .tdlListItem {
    margin-bottom: var(--default-margin);

    .heading-wrapper {
      display: flex;
      align-items: center;
      gap: 20px;
      margin-bottom: calc(var(--default-margin) / 2);

      h3 {
        margin: 0; font-family: var(--primary-font); font-size: 30px; color: var(--green);
      }

      .icon-wrapper {
        .tdl-icons { width: 60px; height: 60px;}
      }
    }

    .description {}
  }

  &.numbered_list {
    .contentWrapper {
      counter-reset: number;

      .tdlListItem {
        counter-increment: number;
        margin-bottom: var(--default-margin);

        .heading-wrapper {

          h3 {
            &:before { content: counter(number) ". ";}
          }
        }

        .description {}
      }
    }
  }

  &.list {

  }

  &.alternating .contentWrapper .tdlNumberedtItem:nth-of-type(even) { flex-direction: row-reverse;}
}

/* TDL Masonry Image Grid */
#tdl_masonry_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: minmax(180px, auto);
  gap: 20px;
  margin-bottom: var(--default-margin);

  .tdl-masonry-item {
    img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block;}

    &:nth-of-type(9n + 1) { grid-column-end: span 3; grid-row-end: span 2;}
    &:nth-of-type(9n + 2) {}
    &:nth-of-type(9n + 3) {}
    &:nth-of-type(9n + 4) {}
    &:nth-of-type(9n + 5) { grid-column-end: span 2; grid-row-end: span 2;}
    &:nth-of-type(9n + 6) {
      grid-column-end: span 1; grid-row-end: span 2;
      img { height: 100%;}
    }
    &:nth-of-type(9n + 7) {}
    &:nth-of-type(9n + 8) {}
    &:nth-of-type(9n + 9) {}

  }
}

/* Counter */
.tdlCounterWrapper {
  display: flex; position: relative; justify-content: center; align-items: center; flex-direction: column; gap: calc(var(--column-gap) / 2);
  * { text-align: center;}

  .content-wrapper {
    display: flex; flex-direction: column; gap: 5px;

    .count { font-size: 40px; font-weight: bold; color: var(--white); line-height: 1;}
    h4 { font-size: 16px; text-transform: uppercase; margin: 0; color: var(--white); font-weight: normal;}
  }

  .background-wrapper {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1;
    &:before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--black-overlay);}
    img { width: 100%; object-fit: cover; height: 100%; aspect-ratio: 1;}
  }

  .icon-wrapper {
    .tdl-icons { width: 100px; height: 100px;}
  }

}

/* Featured Case Study */
.tdl-featured-case-study {

  margin-bottom: var(--default-margin);
  p { color: var(--white);}

  .featured-image-wrapper {
    margin-bottom: 50px;
    img { width: 100%; aspect-ratio: 16/9; object-fit: cover;}
  }

  .content-wrapper {

    display: flex;
    gap: 50px;
    h3 {}

    .left-content-wrapper {
      flex: 1;
      h3:first-of-type { margin-top: 0 !important;}
    }

    .right-content-wrapper {
      flex: 0 0 25%;
      border: 2px solid var(--white);
      padding: var(--default-margin);

      h3:first-of-type { margin-top: 0 !important;}
      ul { display: flex; flex-direction: column; gap: var(--default-margin);}
      li { color: var(--white);}
      li::marker { color: var(--green);}
    }
  }

  .tdlButtonWrapper { margin-top: var(--default-margin);}

}

/* Case Studies */
.tdlCaseStudyBlock {

  margin-top: var(--default-margin);

  .tdlCaseStudyWrapper {

    .case-study-item {

      &:not(:last-of-type) {margin-bottom: var(--default-margin);}
      h3 { margin-top: 0;}
      a { text-decoration: none;}

      .wrapper {
        display: flex;
        gap: 50px;

        .image-wrapper {
          flex: 0 0 30%;
          img { width: 100%; display: block; aspect-ratio: 4/3; object-fit: cover;}
        }
        .content-wrapper {
          flex: 1;
        }
      }

    }
    &.columns{

      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 50px;

      .case-study-item {
        .wrapper {
          flex-direction: column;
        }
      }
    }

    &.list{
      .case-study-item {
        .wrapper {
          flex-direction: row;
        }
      }
    }

    &.alt-list{
      .case-study-item:nth-of-type(even) {
        .wrapper {
          flex-direction: row-reverse;
        }
      }
      .case-study-item:nth-of-type(odd) {
        .wrapper {
          flex-direction: row;
        }
      }
    }

  }
}


/* Logos */
.tdl-logos {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 70px;
  margin-bottom: 70px;
  justify-content: space-evenly;

  .tdl-logo-item {
    height: 70px;
    img { height: 100%; width: auto;}
  }
}

/* TDL Split Block */
.tdl_split_block_container {
  display: flex; gap: calc(var(--column-gap) * 3); align-items: center;

  .content_wrapper {
    .tdlButtonWrapper { margin-top: var(--default-margin);}
  }

  &.background_left { flex-direction: row;}
  &.background_right { flex-direction: row-reverse;}

  .background_wrapper {
    flex: 0 0 calc(33% - (var(--column-gap) /2) - 3px);

    img { width: 100%; height: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; border-radius: 10px;}
  }

}

/* Icon Block */
/* .tdl-icon-block {
  &:nth-of-type(even) { background: var(--yellow);}

  .wrapper {
    display: flex;
    flex-direction: row;
    gap: var(--column-gap);
    padding-bottom: 45px;
    width: var(--content-width);
    margin: 0 auto;

    .icon-wrapper {
      padding-top: 45px;

      .icon {
        color: var(--blue);
        font-size: 150px;
        display: flex;
        justify-content: center;
        align-items: end;
      }
    }

    .content-wrapper {

      h3 { color: var(--blue);}
      .content { color: var(--blue);}
    }
  }

} */

/* User Contact */
.tdlUserContactWrapper {
  display: flex;
  flex-direction: column;

  h3 { margin-bottom: 0;}
  a {
    line-height: 1.2;

    &.email {}
    &.phone {}
  }
}

/* Fancy TDL Background Image Block */
.tdl-fancy-background-image-block {
  position: relative;
  margin-bottom: calc(var(--default-margin) * 2) !important;

  .background-wrapper {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; border-radius: 50px; overflow: hidden;

    .background-image {
      position: relative; height: 100%;

      &:before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--red-overlay);}
      &.red:before { background: var(--red-overlay);}
      &.blue:before { background: var(--blue-overlay);}
      &.black:before { background: var(--black-overlay);}

      img { width: 100%; height: 100%; object-fit: cover; display: block;}
    }
  }

  .content-wrapper {
    padding-top: var(--default-margin);
    color: var(--white);

    :where(h1,h2,h3,h4) { color: var(--white);}

    .top-heading-wrapper {
      .headingWrapper h2 { text-transform: uppercase; font-size: 50px;}
    }

    .main-content-wrapper {
      display: flex;
      flex-direction: row;
      gap: calc(var(--column-gap) * 2);
      padding: 0 calc(var(--default-margin) * 2);

      .featured-image-wrapper {
        flex: 0 0 40%;
        img { width: 100%; height: calc(100% + (var(--default-margin) * 1)); object-fit: cover; border-radius: 10px; display: block;}
      }

      .main-content {

        .headingWrapper h3 { font-size: 65px !important;}

        .content {}
      }
    }
  }

  &:has(.background-image.red) {
    .tdlButtonWrapper {
      &.white {
        &.outline .tdlButton:hover { background: var(--white); color: var(--red);}
        &.background .tdlButton:hover { background: var(--red); color: var(--white);}
      }
    }
  }

  &:has(.background-image.black) {
    .tdlButtonWrapper {
      &.white {
        &.outline .tdlButton:hover { background: var(--white); color: var(--black);}
        &.background .tdlButton:hover { background: var(--black); color: var(--white);}
      }
    }
  }
}

.tdl_video_wrapper {
  border-radius: 50px; overflow: clip; outline: 6px solid var(--black); width: 100%; outline-offset: -6px;

  iframe { width: 100%; height: 100%; aspect-ratio: 16/9; margin-bottom: -8px;}
}

/* Video Embed */
.tdl-video-container {
  border-radius: 50px; overflow: clip; outline: 6px solid var(--black); width: 100%; outline-offset: -6px;
  iframe { width: 100%; height: 100%; aspect-ratio: 16/9; margin-bottom: -8px;}
  video { width: 100%; height: 100%; aspect-ratio: 16/9; margin-bottom: -8px;}
}

/* Featured Block */
.tdl-featured-block {
  width: 70%; margin: 0 auto;
  padding-top:  calc(var(--default-margin) * 2);

  &:has(.tdl-icons) { margin-top: calc(var(--default-margin) * 2);}

  .heading-wrapper {
    display: flex; border-radius: 50px; position: relative;

    .headingWrapper {
      h3 { font-size: 62px; text-wrap: balance; padding: var(--default-margin) var(--default-margin) 0 0; line-height: 1.25;}
    }

    .featured-image-wrapper {
      flex: 0 0 50%; position: relative; top: calc(-1 * (var(--default-margin) + 6px)); left: calc(-1 * (var(--default-margin) + 6px));

      img { aspect-ratio: 1; border: 6px solid var(--black); border-radius: 25px; object-fit: cover; object-position: center; width: 100%; height: 100%;}
    }

    .icon-wrapper {
      .tdl-icons { width: 250px; height: 250px; position: absolute; top: 0; right: 0; transform: translate(30%,-70%);}
    }

    &.green {
      background: var(--light-green);
      h3 { color: var(--white);}
    }
    &.dark-green {
      background: var(--green);
      h3 { color: var(--white);}
    }
    &.blue {
      background: var(--blue);
      h3 { color: var(--white);}
    }
    &.black {
      background: var(--black);
      h3 { color: var(--white);}
    }
  }
  .content-wrapper { padding: var(--default-margin); line-height: 1.5;}

  &.box {
    margin-bottom: var(--default-margin);

    &:has(.featured-image-wrapper){
      .content-wrapper { padding: var(--default-margin) var(--default-margin) var(--default-margin) 0; line-height: 1.5;}
    }

    .heading-wrapper {

      &.green {
        .content { color: var(--white);}
      }
      &.dark-green {
        .content { color: var(--white);}
      }
      &.blue {
        .content { color: var(--white);}
      }
      &.black {
        .content { color: var(--white);}
      }
    }
  }
}

/* Events */
.tdlEventBlock {
  .tdlEventWrapper {
    .event {

      &:not(:last-of-type) { border-bottom: 1px solid var(--black); padding-bottom: var(--default-margin);}
      &:last-of-type) { margin-bottom: var(--default-margin);}
      #dateTime {
        h4 { margin-bottom: calc(var(--default-margin) / 2); font-size: 24px;}
      }
      #content {}

    }
  }
}

/* Checklists */
.tdlChecklist {
  ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 0;

    li {
      line-height: 30px; font-size: 24px; display: flex; gap: 10px; align-items: center;
      &:before { content: ''; width: 15px; height: 15px; border: 2px solid var(--black); display: inline-block;}
    }
  }
}

/* Board Members */
.tdlBoardMemberWrapper {

  .member { color: var(--green); font-weight: bold;}
  .position {}

  &.center { text-align: center;}
  &.right { text-align: right;}

  &:not(:last-of-type) { margin-bottom: var(--paragraph-margins);}

}

/* Numbered Icons */
.tdl-number-icon {
  .wrapper {
    .icon-wrapper {
      margin-bottom: var(--paragraph-margins);

      .tdl-icons { width: 80px; height: 80px; display: flex; justify-content: center; align-items: center; font-size: 32px; color: var(--black);}
    }
  }
}

/* Woo Commerce */
.woocommerce ul.products li.product .button { background: var(--red) !important; color: var(--white) !important;}
.woocommerce-notices-wrapper { margin-top: var(--default-margin);}
.woocommerce-message {
  border-top-color: var(--red) !important;
  &:before { color: var(--red) !important;}
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button { background-color: var(--red) !important; color: var(--white) !important;}

.woocommerce {

  .woocommerce-loop-product__title { font-family: var(--secondary-font) !important; font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style); color: var(--red) !important; font-size: 32px !important;}
  button.button { background: var(--red) !important; color: var(--white) !important;}
  a.added_to_cart { color: var(--red) !important; margin-left: 10px !important;}
  .quantity .qty { height: 26px !important;}
  .woocommerce-Price-amount {
    font-size: 20px !important; color: var(--black) !important;
    /* &:after { content: '/dozen';} */
  a {
    text-decoration: none !important;
  }
  }

  #primary {
    width: var(--content-width); margin: 0 auto;

    .woocommerce-breadcrumb { display: none;}
    h1 { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style);}

  }

  &.single-product {
    .product {
      margin-top: var(--default-margin);

      .title {
        font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style);

        h3 {color: var(--red) !important; text-decoration: none !important;}
      }

      .product_meta {
        a { color: var(--red) !important;}
      }

      .meta { display: none !important;}
      #comments { display: none !important;}
      a.reset_variations { color: var(--red);}
      div.product form.cart .variations select { border: 1px solid var(--charcoal); height: 40px;}
      div.product form.cart .variations td, div.product form.cart .variations th { height: 40px !important; line-height: 40px !important;}

      section.related.products {
        clear: both;

        h2 { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style);}
      }

      #tab-additional_information {
        h2 { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style);}
      }

      .woocommerce-tabs { display: none !important;}

      .woocommerce-product-details__short-description {
        span.note {
          color: var(--red);
          &:before { content: '*'; margin-right: 5px; }
        }
      }
    }
  }
}

.woocommerce-cart {
  article {
    width: var(--content-width); margin: 2.992em auto 0 auto;

    .wc-block-components-product-name { color: var(--red) !important; font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style); font-size: 24px;}
    .wc-block-cart__submit-button { background: var(--red) !important; color: var(--white) !important; text-decoration: none !important;}
    .wc-block-cart__totals-title { font-family: var(--secondary-font) !important; font-style: var(--secondary-font-style) !important;}
    .wc-block-cart-items__header-total { font-family: var(--secondary-font) !important; font-style: var(--secondary-font-style) !important;}
    .wc-block-cart-items__header { font-family: var(--secondary-font) !important; font-style: var(--secondary-font-style) !important;}
    table.wc-block-cart-items .wc-block-cart-items__header, table.wc-block-cart-items .wc-block-cart-items__header, .wc-block-cart__totals-title { font-size: 2em !important; font-weight: 700 !important;}

  }

  .header-widgets { display: none;}
}

.woocommerce-checkout {
  article {
    width: var(--content-width); margin: 2.992em auto;

    .wc-block-components-button { background: var(--red) !important; color: var(--white) !important; border: none !important;}
    h2 { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style); font-size: 32px !important;}
    .wc-block-components-checkout-order-summary__title-text { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style); font-size: 32px !important;}
  }

  .header-widgets { display: none;}
}

.woocommerce-account {
  article {
    width: var(--content-width); margin: 2.992em auto;
    a { color: var(--red) !important;}

    .wc-block-components-button { background: var(--red) !important; color: var(--white) !important; border: none !important;}
  }
}

/* Woo Mini Cart */
.wc-block-mini-cart__badge { color: var(--white) !important;}
.wc-block-mini-cart__button { position: relative; top: 4px;}

.wc-block-mini-cart__drawer {
  a { color: var(--red) !important; text-decoration: none !important;}
  .wp-block-woocommerce-mini-cart-cart-button-block { background: var(--red) !important; color: var(--white) !important;}
  h2 { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style);}
  .wc-block-components-product-name { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style); font-size: 24px !important;}
}

.tdl_row {
  .columns-4 { margin-top: 0 !important;}
  .columns-5 { margin-top: 0 !important;}
  .columns-3 { margin-top: 0 !important;}
}

/* Handle Legacy WooCommerce styles */
.woocommerce-checkout {
  :where(h1,h2,h3,h4,h5) { font-family: var(--secondary-font); font-weight: var(--secondary-font-weight); font-style: var(--secondary-font-style); padding: 0 !important; margin-bottom: var(--paragraph-margins) !important;}

  .button.wc-backward { background: var(--red) !important; color: var(--white) !important; text-decoration: none !important; font-weight: normal !important; border-radius: 0 !important;}
  .woocommerce-notices-wrapper { margin: 0 !important;}
  .tdl_content_element { margin-bottom: 0 !important;}
  .tdl_column { padding-top: 0 !important;}
}


/* WooCommerce Pickup Plugin */
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay { background: var(--red) !important; border-color: var(--red) !important;}

#coderockz_woo_delivery_setting_wrapper_internal {
  border: 1px solid var(--red); background: #F6F5F8; padding: 20px; margin-top: 40px !important;

  h3 {margin-top: 0 !important;}
}

/* Minimum Order Notification */
.ct-mpac-min-amount-notice {
  background: #fff0f0; border-color: #cc1818 !important; border-left: 1px solid #cc1818 !important;
}


/* 404 Page */
.error404 {
  article {
    header {
      display: block !important;
      h1 { margin-bottom: 0;}
      p { margin-top: 0; font-size: 1.5em;}
    }
  }
}

/* Google Map */
.wpb_gmaps_widget {
  margin-bottom: var(--default-margin) !important;
  .wpb_wrapper { padding: 0 !important;}
}

.wpb_single_image.tdl400 {
  margin-bottom: var(--default-margin) !important;
  img { height: 400px !important;}
}

