body.admin-bar {
  margin-top: 32px;
}

/*--------------------------------------------------------------
  >> : Pictures
--------------------------------------------------------------*/
  picture {
    display: inline-block;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    position: relative;
  }

  /*picture.picture-1x1,
  picture.picture-square {
    aspect-ratio: 1/1;
  }

  picture.picture-4x3 {
    aspect-ratio: 4/3;
  }

  picture.picture-16x9 {
    aspect-ratio: 16/9;
  }
*/
  .service-card-small picture.service-card-thumbnail {
    aspect-ratio: 1/1.15;
  }

  picture.product-loop-thumbnail {
    aspect-ratio: 3/4.75;
  }

  picture.product-loop-thumbnail img {
    height: 100% !important;
  }

  picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  [data-section="text-image"] picture img,
  [data-section="image-text"] picture img,
  [data-section="image-text-offset"] picture img,
  [data-section="text-image-offset"] picture img,
  [data-section="text-image-contained"] picture img,
  [data-section="image-text-contained"] picture img,
  [data-section="header-sub-service"] picture img {
    position: absolute;
    top:0;
    left:0;
  }


/*--------------------------------------------------------------
  >> : The WordPress CSS class screen-reader-text
  https://make.wordpress.org/accessibility/handbook/markup/the-css-class-screen-reader-text/
--------------------------------------------------------------*/

  /* Text meant only for screen readers. */
  .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
  }

  .screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
  }

/*--------------------------------------------------------------
  >> : AppMain
--------------------------------------------------------------*/
  #AppMain {
    margin-top: 0;
  }

/*--------------------------------------------------------------
  >> : Header
--------------------------------------------------------------*/

  .admin-bar header#AppHeader {
    top:33px
  }

  .logo {
    height: 40px;
    padding:5px;
  }

  .logo img {
    height: 100%;
    width:auto;
    object-fit: contain;
    object-position: left;
  }

  .logo-dark {
    position: absolute;
    left: 0;
    width: auto;
  }

  #AppHeader {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background:transparent;
    border-bottom: 1px solid #8181815c;
    display: inline-flex;
    align-items: center;
  }





  li.menu-item.menu-item-basket {
    border-left: 1px solid #8181815c;
  }

  /* Social menu items */
  li.menu-item.menu-item-social {
    border-left: 1px solid #8181815c;
  }

  li.menu-item.menu-item-social svg {
    height: 16px;
    width: 16px;
    fill: #000;
    display: block;
  }

  [data-header-color="light"]:not(.scrolled) .menu-item.menu-item-social:not(:hover) svg {
    fill: #fff;
  }

  li.menu-item.menu-item-social:hover svg {
    fill: #000;
  }

  .logo.logo-light {
      opacity:0;
  }

  .service-card-menu a {
    padding:0 !important;
  }

  .service-card-menu p {
      position:absolute;
      bottom:10px;
      color:#fff;
      left:10px;
      font-family: var(--heading-font-family);
      font-weight: 600;
  }


  .service-card-menu picture {
      position:relative;
  }

  .service-card-menu picture:after {
      content:'';
      display:block;
      position:absolute;
      top:0;
      left:0;
      height:100%;
      width:100%;
      background:#00000045;
  }

  .service-mega-menu a {
    text-transform:unset;
    padding:0.5rem 0;
  }

  p.service-mega-menu-header {
      text-transform:uppercase;  
      font-family:var(--heading-font-family);
      font-weight:600;
      letter-spacing:1px;
      padding:0 0 0.5rem 0;
  }

  .service-mega-menu hr {
      opacity: 1;
      margin-bottom:0.5rem;
      background-color: #000;
  }
  .service-mega-menu .col {
    padding:0 15px;
  }
  .service-mega-menu {
    padding-bottom:1rem;
  }

  li.menu-item.menu-item-basket svg {
    height:16px;
    width:16px;
    fill:none;
    stroke-width:2px;
    stroke:#000;
    margin-right:5px;
  }
  ul.sub-mega-menu {
    padding-top: 2rem;
    background: #fff;
  }



  /* Header Animations */
  #AppHeader.scrolled {
    background: #ffffff !important;
  }

  #AppHeader,
  #AppHeader * {
    transition: all .25s ease;
  }

  [data-header-color="light"]:not(.scrolled) .sf-menu > li > a {
    color: #ffffff;
  }

  [data-header-color="light"]:not(.scrolled) .sf-menu > li.sfHover > a,
  [data-header-color="light"]:not(.scrolled) .sf-menu > li:hover > a {
    color: #000000;
  }

  [data-header-color="light"]:not(.scrolled) .sf-menu > .menu-item-has-children > a:after {
    filter: invert(1);
  }

  [data-header-color="light"]:not(.scrolled) .sf-menu > .menu-item-has-children.sfHover > a:after,
  [data-header-color="light"]:not(.scrolled) .sf-menu > .menu-item-has-children:hover > a:after {
    filter: invert(0);
  }

  [data-header-color="light"]:not(.scrolled) .menu-item.menu-item-basket:not(:hover) svg path {
    stroke: #fff;
  }

  [data-header-color="light"]:not(.scrolled) .logo-dark {
    opacity: 0;
  }

  [data-header-color="light"]:not(.scrolled) .logo-light {
    opacity: 1;
  }


  [data-header-color="dark"] .sf-menu > li > a {
    color: #000000;
  }




  @media (min-width: 1400px) {
    .service-mega-menu {
        max-width:992px;
        margin:auto;
    }
  }


/*--------------------------------------------------------------
  >> : Off Canvas
--------------------------------------------------------------*/
  #AppOffcanvas {
    position: fixed;
    z-index: 999;
    right:0;
    width: 100vw;
    height: calc(100vh - 76px);
    background: #fff;
    top: 76px;
    pointer-events: none;
    -webkit-transform:translateX(100%);
        -ms-transform:translateX(100%);
            transform:translateX(100%);
    -webkit-transition: -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    -o-transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1), -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    overflow-y: scroll;
  }

  .admin-bar #AppOffcanvas {
    top: 109px;
  }

  #AppOffcanvas.show {
    -webkit-transform:translateX(0%);
        -ms-transform:translateX(0%);
            transform:translateX(0%);
    pointer-events: all;
    -webkit-transition: -webkit-transform 500ms cubic-bezier(0, 0.39, 0.71, 1.02);
    transition: -webkit-transform 500ms cubic-bezier(0, 0.39, 0.71, 1.02);
    -o-transition: transform 500ms cubic-bezier(0, 0.39, 0.71, 1.02);
    transition: transform 500ms cubic-bezier(0, 0.39, 0.71, 1.02);
    transition: transform 500ms cubic-bezier(0, 0.39, 0.71, 1.02), -webkit-transform 500ms cubic-bezier(0, 0.39, 0.71, 1.02);
  }

  section#AppOffcanvas .container {
    padding:0;
    max-width:100%;
  }

  .off-canvas-nav .menu-item-has-children a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .off-canvas-nav .menu-item {
    padding: 22px 30px 22px 35px;
    border-bottom: 1px solid #e5e5e5;
    margin: 0px;
    border-left: 0 !important;
  }

  .off-canvas-nav .menu-item a {
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 400;
    font-family:var(--heading-font-family);
    text-decoration: none;
    color:var(--brand-black);
  }

  .off-canvas-nav .service-mega-menu .menu-item a {
    padding:10px 0px;
  }

  .off-canvas-nav .sub-menu .menu-item-type-custom .menu-item a {
    padding:10px 0px;
  }

  .off-canvas-nav .menu-item.sub-menu-prev {
    margin-bottom: 0px;
    padding: 10px 30px;
    border: none;
    background: #d7d6d6;
  }



  .off-canvas-nav ul {
    list-style: none;   
  }

  .off-canvas-nav ul.sub-menu {
    position: absolute;
    top: 0;
    left:0;
    -webkit-transform:translateX(100%);
        -ms-transform:translateX(100%);
            transform:translateX(100%);
    -webkit-transition: -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    -o-transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1), -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    width: 100vw;
    height: 100%;
    padding: 0;
    z-index: 9999;
    background: #fff;
    -webkit-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    overflow: hidden !important;
    overflow-y: auto !important;
    padding: 0px !important;
  }

  .off-canvas-nav ul.sub-menu.open-sub-menu {
    -webkit-transform:translateX(0%);
        -ms-transform:translateX(0%);
            transform:translateX(0%);
    -webkit-transition: -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    -o-transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
    transition: transform 500ms cubic-bezier(0.77, 0.46, 1, 1), -webkit-transform 500ms cubic-bezier(0.77, 0.46, 1, 1);
  }

  .off-canvas-nav {
    padding:0;
    list-style:none;
  }

  #off-canvas-nav > ul.off-canvas-nav .menu-item-has-children > a:after {
    content:'';
    height:20px;
    width:20px;
    background:url(/app/themes/devignstudios-toolkit/resources/icons/chevron-left.svg) no-repeat;
    background-size:contain;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg)
  }

  .off-canvas-nav .menu-item.sub-menu-title {
    font-size: 0.81em;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-weight: 300;
    background: #f7f7f7;
  }

  .off-canvas-nav .sub-menu .menu-item a {
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
  }

  .off-canvas-nav .sub-menu .menu-item  span {
    display:block;
    font-size:0.6em;
    width:100%;
    color:#777777;
  }


  #AppOffcanvas p.service-mega-menu-header a {
    font-size: 1.3rem !important;
    line-height: 1.4;
    font-weight: 400;
    font-family: var(--heading-font-family);
    text-decoration: none;
    color: var(--brand-black);
    text-transform:none;
  }

  #AppOffcanvas p.service-mega-menu-header {
      padding: 0px;
      border:none;
      letter-spacing: unset !important;
  }


  #AppOffcanvas .service-mega-menu .col:nth-child(2) p.service-mega-menu-header {
      margin-top: 30px !important;
  }

  #AppOffcanvas .service-mega-menu hr {
      display: none;
  }


  #AppOffcanvas .off-canvas-nav .menu-item a {
      font-family:var(--body-font);
      font-size:1rem;
      text-transform:uppercase;
      letter-spacing:0.05rem
  }

  #AppOffcanvas .service-card-menu.position-relative {
      margin-top:30px;
      margin-bottom:30px
  }

  #AppOffcanvas .service-card-menu.position-relative img {
      height:200px;
  }


  #AppOffcanvas address {
      padding: 22px 15px;
      background: #f7f7f7;
      margin: 0;
  }

  #AppOffcanvas address p {
      margin-bottom: 10px;
      display: flex;
  }

  #AppOffcanvas address p:last-child {
      margin: 0;
  }

  #AppOffcanvas address strong {
      width: 25%;
  }

  #AppOffcanvas address span {
      width: 75%;
  }

  @media (max-width: 380px) {
      #AppOffcanvas address p {
          flex-wrap: wrap;
          display: inline-flex;
      }
      #AppOffcanvas address strong,
      #AppOffcanvas address span {
          width: 100%;
      }
  }

  .grecaptcha-badge {
    visibility: hidden;
  }


  footer address {
      margin: 0;
      margin-top: 15px;
      display: inline-block;
      width: 100%;
  }

  footer address p {
      margin-bottom: 10px;
      display: flex;
  }

  footer address p:last-child {
      margin: 0;
  }

  footer address strong {
      width: 25%;
  }

  footer address span {
      width: 75%;
  }

  @media (max-width: 768px) {
      footer address p {
        flex-wrap: wrap;
        display: inline-flex;
        width: 100%;
        margin-bottom: 1rem;
      }

      footer address strong,
      footer address span {
          width: 100%;
      }
  }

/*--------------------------------------------------------------
  >> : Hamburger
--------------------------------------------------------------*/

  .hamburger .line {
    width: 36px;
    -webkit-transform:skew(12deg);
        -ms-transform:skew(12deg);
            transform:skew(12deg);
    height: 2px;
    background-color: #000000;
    display: block;
    margin: 6px auto;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }

  [data-header-color="light"] .hamburger .line {
    background: #ffffff;
  }

  .scrolled .hamburger .line {
    background: #000000;
  }

  .hamburger:hover{
    cursor: pointer;
  }

  .hamburger {
    position: relative;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    border: none;
    background: transparent;
    height: 75px;
  }

  .hamburger.is-active{
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .hamburger.is-active:before{
    border: 5px solid #ecf0f1;
  }

  .hamburger.is-active .line:nth-child(2){
    opacity: 0;
  }

  .hamburger.is-active .line:nth-child(1){
    -webkit-transform: translateY(8px);
    -ms-transform: translateY(8px);
    transform: translateY(8px);
  }

  .hamburger.is-active .line:nth-child(3){
    -webkit-transform: translateY(-8px) rotate(90deg);
    -ms-transform: translateY(-8px) rotate(90deg);
    transform: translateY(-8px) rotate(90deg);
  }


  .mobile-basket {
    height: 75px;
    align-items: center;
    position: relative;
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid lightgrey;
    text-decoration: none;
    width: 50px;
  }

  .mobile-basket svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke-width: 1px;
    stroke: #ffffff;
  }

  .scrolled .mobile-basket svg {
    stroke: #000000;
  }

  .mobile-basket .menu-item-basket-count {
    position: absolute;
    top: 7px;
    right: 7px;
    font-size: 90%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
  }

  .scrolled .menu-item-basket-count {
    color: #000000;
  }

  .post-card picture {
    aspect-ratio:4 / 3;
  }

  select#blog-orderby,
  .orderby {
    border:none;
  }

  .post-card {
    position: relative;
  }

  .post-card-date {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff;
    padding: 4px 10px;
    font-family: var(--heading-font-family);
    font-weight: 600;
    font-size: 0.9em;
  }

  .post-card h2.h3 {
    font-size:1.7rem;
    margin-top:1rem;
  }

  .post-card picture {
    aspect-ratio:4 / 3;
  }


/*--------------------------------------------------------------
  >> : Blog Single
--------------------------------------------------------------*/
.post-author {
    display: flex;
    align-items: center;
    justify-content:center;
    gap:20px;
}

.post-author picture {
    height:40px;
    width: auto;
    aspect-ratio:1/1;
}

.post-author picture img {
    height:40px !important;
    border-radius:30px;
}

.post-author p {
    margin-bottom:0px !important;
    text-transform:uppercase;
    font-size:0.8em;
    font-weight:600;
}

/*--------------------------------------------------------------
  >> : Footer
--------------------------------------------------------------*/

footer#AppFooter {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

footer#AppFooter hr {
    opacity:1;
}

footer#AppFooter a {
    color:var(--brand-black), #000;
    text-decoration: none;
}
footer#AppFooter ul {
    list-style:none;
    padding:0;
}

ul.social-icons {
    display: flex;
    align-items: center;
    list-style: none;
    padding-left: 0;
}

ul.social-icons li.menu-item.menu-item-social {
    margin-right:10px;
    border: none !important;
}

ul.social-icons li.menu-item.menu-item-social svg,
ul.social-icons li.menu-item.menu-item-social a {
  height: 24px;
  width:24px;
}

footer#AppFooter p,
footer#AppFooter a {
    font-size:0.9em;
}

.wrap-links ul {
    display:flex;
    flex-wrap:wrap;
}

.wrap-links ul li {
    width:50%;
}

button.back-to-top {
    background: #fff;
    border: none;
    font-size: 16px !important;
}

.footer-breadcrumbs * {
    font-size: 16px !important;
}


@media (max-width: 768px) {
  ul.social-icons {
      justify-content: center;
  }
}

/*--------------------------------------------------------------
  >> : Pagination
--------------------------------------------------------------*/

.page-numbers {
    padding:10px;
    color:#000;
}
a.next.page-numbers,
a.prev.page-numbers {
    border:1px solid black;
    padding:15px 20px;
    color:#000;
    text-decoration:none;
    text-transform:uppercase;
    transition:all 300ms ease;
}


a.next.page-numbers:hover,
a.prev.page-numbers:hover {
    color:#fff;
    background:#000;
    transition:all 300ms ease;
}


.page-numbers[aria-current="page"] {
    font-weight:600;
}




/*--------------------------------------------------------------
  >> : General Media
--------------------------------------------------------------*/
@media (max-width: 1200px) {
  picture.picture-4x3 {
      aspect-ratio: unset;
  }
}

/*--------------------------------------------------------------
  >> : Sticky Basket Button
--------------------------------------------------------------*/

.sticky-basket-button {
  position: fixed;
  right: 0px;
  top: 120px;
  width: 60px;
  height: 60px;
  background: #000000;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  text-decoration: none;
}

.sticky-basket-button:hover {
  background: #E7BD7F;
  color: #000000;
}

.sticky-basket-button svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke-width: 2px;
  stroke: #ffffff;
  margin-bottom: 2px;
}

.sticky-basket-count {
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
  font-family: var(--body-font-family);
  line-height: 1;
}

.sticky-basket-button:hover .sticky-basket-count {
  color: #000000;
}


.sticky-basket-button:hover svg {
  stroke: #000000;
}
