

/* -------------------------------- 

File#: _1_modal-window
Title: Modal Window
Descr: A modal dialog used to display critical information
Usage: codyhouse.co/license

-------------------------------- */
/* reset */





/* variables */
:root {
  /* colors */
  --mc4-color-primary-hsl: 250, 84%, 54%;
  --mc4-color-bg-hsl: 0, 0%, 100%;
  --mc4-color-contrast-high-hsl: 230, 7%, 23%;
  --mc4-color-contrast-higher-hsl: 230, 13%, 9%;
  --mc4-color-contrast-lower-hsl: 240, 4%, 85%;
  --mc4-color-bg-light-hsl: 0, 0%, 100%;
  --mc4-color-bg-lighter-hsl: 0, 0%, 100%;
  --mc4-color-black-hsl: 230, 13%, 9%;
  --mc4-color-white-hsl: 0, 0%, 100%;
  --mc4-color-bg-dark-hsl: 240, 4%, 95%;
  --mc4-color-primary-darker-hsl: 250, 84%, 38%;
  --mc4-color-primary-light-hsl: 250, 84%, 60%;
  --mc4-color-accent-hsl: 342, 89%, 48%;

  /* spacing */
  --mc4-space-xs: 0.5rem;
  --mc4-space-sm: 0.75rem;
  --mc4-space-md: 1.25rem;
  --mc4-space-2xs: 0.375rem;

  /* typography */
  --mc4-text-lg: 1.25rem;
  --mc4-text-md: 1.2rem;
  --mc4-text-sm: 0.833rem;
}

@media(min-width: 64rem){
  :root {
    /* spacing */
    --mc4-space-xs: 0.75rem;
    --mc4-space-sm: 1.125rem;
    --mc4-space-md: 2rem;
    --mc4-space-2xs: 0.5625rem;

    /* typography */
    --mc4-text-lg: 1.75rem;
    --mc4-text-md: 1.5625rem;
    --mc4-text-sm: 1rem;
  }
}

/* buttons */

.mc4-btn {
  font-family:Poppins, sans-serif;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1em;
  white-space: nowrap;
  text-decoration: none;
  background: hsl(var(--mc4-color-bg-dark-hsl));
  color: hsl(var(--mc4-color-contrast-higher-hsl));
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all 0.2s ease;
  will-change: transform;
  padding: var(--mc4-space-2xs) var(--mc4-space-sm);
  border-radius: 0.25em;
}


.mc4-btn:focus-visible {
 /* box-shadow: 0px 0px 0px 2px hsl(var(--mc4-color-bg-hsl)), 0px 0px 0px 4px hsla(var(--mc4-color-contrast-higher-hsl), 0.15); */
  outline: none;
}

.mc4-btn:active {
  transform: translateY(2px);
}

.mc4-btn--primary {
  background: #9c0303;
  color: hsl(var(--mc4-color-white-hsl));
  /* box-shadow: inset 0px 1px 0px hsla(var(--mc4-color-white-hsl), 0.15), 0px 1px 3px hsla(var(--mc4-color-primary-darker-hsl), 0.25), 0px 2px 6px hsla(var(--mc4-color-primary-darker-hsl), 0.1), 0px 6px 10px -2px hsla(var(--mc4-color-primary-darker-hsl), 0.25); */
}
.mc4-btn--primary:hover {
  background:    #d00000;
  
}

.mc4-btn--primary:focus {
  box-shadow: inset 0px 1px 0px hsla(var(--mc4-color-white-hsl), 0.15), 0px 1px 2px hsla(var(--mc4-color-primary-darker-hsl), 0.25), 0px 1px 4px hsla(var(--mc4-color-primary-darker-hsl), 0.1), 0px 3px 6px -2px hsla(var(--mc4-color-primary-darker-hsl), 0.25), 0px 0px 0px 2px hsl(var(--mc4-color-bg-hsl)), 0px 0px 0px 4px hsl(var(--mc4-color-primary-hsl));
}

.mc4-btn--subtle {
  background: hsl(var(--mc4-color-bg-lighter-hsl));
  color: hsl(var(--mc4-color-contrast-higher-hsl));
  box-shadow: inset 0px 1px 0px hsla(var(--mc4-color-white-hsl), 0.1), 0px 0px 0px 1px hsla(var(--mc4-color-black-hsl), 0.02), 0px 1px 3px -1px hsla(var(--mc4-color-black-hsl), 0.2), 0 0.3px 0.4px rgba(0, 0, 0, 0.025),0 0.9px 1.5px rgba(0, 0, 0, 0.05), 0 3.5px 6px rgba(0, 0, 0, 0.1);
}

.mc4-btn--subtle:hover {
  background: hsl(var(--mc4-color-bg-light-hsl));
  box-shadow: inset 0px 1px 0px hsla(var(--mc4-color-white-hsl), 0.1), 0px 0px 0px 1px hsla(var(--mc4-color-black-hsl), 0.02), 0px 1px 3px -1px hsla(var(--mc4-color-black-hsl), 0.2), 0 0.1px 0.3px rgba(0, 0, 0, 0.06),0 1px 2px rgba(0, 0, 0, 0.12);
}

.mc4-btn--subtle:focus {
  box-shadow: inset 0px 1px 0px hsla(var(--mc4-color-white-hsl), 0.1), 0px 0px 0px 1px hsla(var(--mc4-color-black-hsl), 0.02), 0px 1px 3px -1px hsla(var(--mc4-color-black-hsl), 0.2), 0 0.1px 0.3px rgba(0, 0, 0, 0.06),0 1px 2px rgba(0, 0, 0, 0.12), 0px 0px 0px 2px hsl(var(--mc4-color-bg-hsl)), 0px 0px 0px 4px hsl(var(--mc4-color-contrast-high-hsl));
}

/* icons */
.mc4-icon {
  height: var(--mc4-size, 1em);
  width: var(--mc4-size, 1em);
  display: inline-block;
  color: inherit;
  fill: currentColor;
  line-height: 1;
  flex-shrink: 0;
  max-width: initial;
}

.mc4-icon--xs {
  --mc4-size: 16px;
}

.mc4-icon--sm {
  --mc4-size: 24px;
}

/* component */
.modal {
  position: fixed;
  z-index: 15;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
}
.modal:not(.modal--is-visible) {
  pointer-events: none;
  background-color: transparent;
}

.modal--is-visible {
  opacity: 1;
  visibility: visible;
}

/* close button */
.modal__close-btn {
  display: flex;
  flex-shrink: 0;
  border-radius: 50%;
  transition: 0.2s;
}
.modal__close-btn svg {
  display: block;
  margin: auto;
}

.modal__close-btn--outer {
  /* close button - outside the modal__content */
  width: 48px;
  height: 48px;
  position: fixed;
  top: var(--mc4-space-sm);
  right: var(--mc4-space-sm);
  z-index: 10;
  background-color: hsla(var(--mc4-color-black-hsl), 0.9);
  transition: 0.2s;
}
.modal__close-btn--outer svg {
  color: hsl(var(--mc4-color-white-hsl));
  /* icon color */
  transition: -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.modal__close-btn--outer:hover {
  background-color: hsla(var(--mc4-color-black-hsl), 1);
}
.modal__close-btn--outer:hover svg {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.modal__close-btn--inner {
  /* close button - inside the modal__content */
  --mc4-size: 32px;
  width: var(--mc4-size);
  height: var(--mc4-size);
  background-color: hsl(var(--mc4-color-bg-light-hsl));
  box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.075), 0 0.3px 0.4px rgba(0, 0, 0, 0.025),0 0.9px 1.5px rgba(0, 0, 0, 0.05), 0 3.5px 6px rgba(0, 0, 0, 0.1);
  transition: 0.2s;
}
.modal__close-btn--inner svg {
  color: inherit;
  /* icon color */
}
.modal__close-btn--inner:hover {
  background-color: hsl(var(--mc4-color-bg-lighter-hsl));
  box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.075), 0 0.9px 1.5px rgba(0, 0, 0, 0.03),0 3.1px 5.5px rgba(0, 0, 0, 0.08),0 14px 25px rgba(0, 0, 0, 0.12);
}

/* animations */
:root {
  --modal-transition-duration: 0.2s;
  /* fallback (i.e., unless specified differently in the variations 👇) */
}

@media (prefers-reduced-motion: no-preference) {
  .modal--animate-fade {
    --modal-transition-duration: 0.2s;
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-fade.modal--is-visible {
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s;
  }

  .modal--animate-scale,
.modal--animate-translate-up,
.modal--animate-translate-down,
.modal--animate-translate-right,
.modal--animate-translate-left {
    --modal-transition-duration: 0.2s;
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-scale .modal__content,
.modal--animate-translate-up .modal__content,
.modal--animate-translate-down .modal__content,
.modal--animate-translate-right .modal__content,
.modal--animate-translate-left .modal__content {
    will-change: transform;
    transition: -webkit-transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .modal--animate-scale.modal--is-visible,
.modal--animate-translate-up.modal--is-visible,
.modal--animate-translate-down.modal--is-visible,
.modal--animate-translate-right.modal--is-visible,
.modal--animate-translate-left.modal--is-visible {
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-scale.modal--is-visible .modal__content,
.modal--animate-translate-up.modal--is-visible .modal__content,
.modal--animate-translate-down.modal--is-visible .modal__content,
.modal--animate-translate-right.modal--is-visible .modal__content,
.modal--animate-translate-left.modal--is-visible .modal__content {
    -webkit-transform: scale(1);
            transform: scale(1);
    /* reset all transformations */
  }

  .modal--animate-slide-up,
.modal--animate-slide-down,
.modal--animate-slide-right,
.modal--animate-slide-left {
    --modal-transition-duration: 0.3s;
    transition: opacity 0s var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-slide-up .modal__content,
.modal--animate-slide-down .modal__content,
.modal--animate-slide-right .modal__content,
.modal--animate-slide-left .modal__content {
    will-change: transform;
    transition: -webkit-transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform var(--modal-transition-duration) cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .modal--animate-slide-up.modal--is-visible,
.modal--animate-slide-down.modal--is-visible,
.modal--animate-slide-right.modal--is-visible,
.modal--animate-slide-left.modal--is-visible {
    transition: background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-slide-up.modal--is-visible .modal__content,
.modal--animate-slide-down.modal--is-visible .modal__content,
.modal--animate-slide-right.modal--is-visible .modal__content,
.modal--animate-slide-left.modal--is-visible .modal__content {
    -webkit-transform: scale(1);
            transform: scale(1);
    /* reset all transformations */
  }

  /* scale */
  .modal--animate-scale .modal__content {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }

  /* translate */
  .modal--animate-translate-up .modal__content {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
  }

  .modal--animate-translate-down .modal__content {
    -webkit-transform: translateY(-40px);
            transform: translateY(-40px);
  }

  .modal--animate-translate-right .modal__content {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
  }

  .modal--animate-translate-left .modal__content {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }

  /* slide */
  .modal--animate-slide-up .modal__content {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }

  .modal--animate-slide-down .modal__content {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }

  .modal--animate-slide-right .modal__content {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }

  .modal--animate-slide-left .modal__content {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
/* load content - optional */
.modal--is-loading .modal__content {
  visibility: hidden;
}
.modal--is-loading .modal__loader {
  display: flex;
}

.modal__loader {
  /* loader icon */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  display: none;
  pointer-events: none;
}

/* --image */
.modal-img-btn {
  position: relative;
  cursor: pointer;
}
.modal-img-btn::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: hsla(var(--mc4-color-black-hsl), 0);
  transition: background 0.2s;
}
.modal-img-btn:hover::after {
  background-color: hsla(var(--mc4-color-black-hsl), 0.7);
}
.modal-img-btn:hover .modal-img-btn__icon-wrapper {
  opacity: 1;
}

.modal-img-btn__icon-wrapper {
  position: absolute;
  z-index: 2;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: hsla(var(--mc4-color-black-hsl), 0.7);
  opacity: 0;
  transition: opacity 0.2s;
}
.modal-img-btn__icon-wrapper .mc4-icon {
  color: hsl(var(--mc4-color-white-hsl));
}

/* utility classes */
.mc4-max-width-100\% {
  max-width: 150rem;
}

.mc4-max-height-100\% {
  max-height: 100%;
}

.mc4-shadow-md {
  box-shadow:0 0.9px 1.5px rgba(0, 0, 0, 0.03),0 3.1px 5.5px rgba(0, 0, 0, 0.08),0 14px 25px rgba(0, 0, 0, 0.12);
}

.mc4-radius-md {
  border-radius: 0.25em;
}

.mc4-block {
  display: block;
}

.mc4-pointer-events-none {
  pointer-events: none;
}

.mc4-flex-center {
  justify-content: center;
  align-items: center;
}

.mc4-flex {
  display: flex;
}

.mc4-height-100\% {
  height: 100%;
}

.mc4-width-100\% {
  width: 100%;
}

.mc4-padding-md {
  padding: var(--mc4-space-md);
}

.mc4-bg-black {
  --mc4-bg-o: 1;
  background-color: hsla(var(--mc4-color-black-hsl), var(--mc4-bg-o, 1));
}

.mc4-width-3xl {
  width: 8rem;
}

.mc4-overflow-hidden {
  overflow: hidden;
}



.mc4-text-component :where(h1, h2, h3, h4) {
  line-height: var(--mc4-heading-line-height, 1.2);
  margin-top: calc(var(--mc4-space-md) * var(--mc4-space-multiplier, 1));
  margin-bottom: calc(var(--mc4-space-sm) * var(--mc4-space-multiplier, 1));
}

.mc4-text-component :where(p, blockquote, ul li, ol li) {
  line-height: var(--mc4-body-line-height, 1.4);
}

.mc4-text-component :where(ul, ol, p, blockquote, .mc4-text-component__block) {
  margin-bottom: calc(var(--mc4-space-sm) * var(--mc4-space-multiplier, 1));
}

.mc4-text-component :where(ul, ol) {
  padding-left: 1.25em;
}

.mc4-text-component ul :where(ul, ol), .mc4-text-component ol :where(ul, ol) {
  padding-left: 1em;
  margin-bottom: 0;
}

.mc4-text-component ul {
  list-style-type: disc;
}

.mc4-text-component ol {
  list-style-type: decimal;
}

.mc4-text-component img {
  display: block;
  margin: 0 auto;
}

.mc4-text-component figcaption {
  margin-top: calc(var(--mc4-space-xs) * var(--mc4-space-multiplier, 1));

  text-align: center;}

.mc4-text-component em {
  font-style: italic;
}

.mc4-text-component strong {
  font-weight: bold;
}

.mc4-text-component s {
  text-decoration: line-through;
}

.mc4-text-component u {
  text-decoration: underline;
}

.mc4-text-component mark {
  background-color: hsla(var(--mc4-color-accent-hsl), 0.2);
  color: inherit;
}

.mc4-text-component blockquote {
  padding-left: 1em;
  border-left: 4px solid hsl(var(--mc4-color-contrast-lower-hsl));
  font-style: italic;
}

.mc4-text-component hr {
  margin: calc(var(--mc4-space-md) * var(--mc4-space-multiplier, 1)) auto;
  background: hsl(var(--mc4-color-contrast-lower-hsl));
  height: 1px;
}

.mc4-text-component > *:first-child {
  margin-top: 0;
}

.mc4-text-component > *:last-child {
  margin-bottom: 0;
}

.mc4-text-component.mc4-line-height-xs {
  --mc4-heading-line-height: 1;
  --mc4-body-line-height: 1.1;
}

.mc4-text-component.mc4-line-height-sm {
  --mc4-heading-line-height: 1.1;
  --mc4-body-line-height: 1.2;
}

.mc4-text-component.mc4-line-height-md {
  --mc4-heading-line-height: 1.15;
  --mc4-body-line-height: 1.4;
}

.mc4-text-component.mc4-line-height-lg {
  --mc4-heading-line-height: 1.22;
  --mc4-body-line-height: 1.58;
}

.mc4-text-component.mc4-line-height-xl {
  --mc4-heading-line-height: 1.3;
  --mc4-body-line-height: 1.72;
}

.mc4-top-0 {
  top: 0;
}

.mc4-position-sticky {
  position: sticky;
}

.mc4-float-right {
  float: right;
}

:where(.mc4-inner-glow) {
  position: relative;
}

.mc4-inner-glow::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.075);
}

.mc4-bg {
  --mc4-bg-o: 1;
  background-color: hsla(var(--mc4-color-bg-hsl), var(--mc4-bg-o, 1));
}

.mc4-overflow-auto {
  overflow: auto;
}

.mc4-max-width-sm {
  max-width: 48rem;
}

@media not all and (min-width: 64rem) {
  .mc4-display\@md {
    display:none !important;
  }
}

.mc4-gap-xs {
  gap: var(--mc4-space-xs);
}

.mc4-justify-end {
  justify-content: flex-end;
}

.mc4-padding-x-md {
  padding-left: var(--mc4-space-md);
  padding-right: var(--mc4-space-md);
}

.mc4-padding-y-sm {
  padding-top: var(--mc4-space-sm);
  padding-bottom: var(--mc4-space-sm);
}

.mc4-text-md {
  font-size: var(--mc4-text-md);
}

.mc4-text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mc4-justify-between {
  justify-content: space-between;
}

.mc4-items-center {
  align-items: center;
}

.mc4-bg-contrast-lower {
  --mc4-bg-o: 1;
  background-color: hsla(var(--mc4-color-contrast-lower-hsl), var(--mc4-bg-o, 1));
}

.mc4-max-width-xs {
  max-width: 38rem;
}

.mc4-flex-shrink-0 {
  flex-shrink: 0;
}

:where(.mc4-inner-glow-top) {
  position: relative;
}

.mc4-inner-glow-top::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: var(inset 0 1px 0.5px hsla(0, 0%, 100%, 0.075));
}

.mc4-momentum-scrolling {
  -webkit-overflow-scrolling: touch;
}

.mc4-flex-grow {
  flex-grow: 1;
}

.mc4-flex-column {
  flex-direction: column;
}

.mc4-bg-opacity-90\% {
  --mc4-bg-o: 0.9;
}

.mc4-bg-opacity-50\% {
  --mc4-bg-o: 0.5;
}

@media(min-width: 64rem){
  .mc4-hide\@md {
    display: none !important;
  }
}










/* -------------------------------- 

File#: _1_radio-switch
Title: Radio Switch
Descr: Custom radio toggle
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --radio-switch-width: 186px;
  --radio-switch-height: 46px;
  --radio-switch-padding: 3px;
  --radio-switch-radius: 50em;
  --radio-switch-animation-duration: 0.3s;
}

.radio-switch {
  position: relative;
  display: inline-block;
  display: inline-flex;
  padding: var(--radio-switch-padding);
  border-radius: calc(var(--radio-switch-radius) * 1.4);
  background-color: var(--color-bg-darker);
}
.radio-switch:focus-within, .radio-switch:active {
  box-shadow: 0 0 0 2px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.15);
}

.radio-switch__item {
  position: relative;
  display: inline-block;
  height: calc(var(--radio-switch-height) - 2 * var(--radio-switch-padding));
  width: calc(var(--radio-switch-width) * 0.5 - var(--radio-switch-padding));
}

.radio-switch__label {
  position: relative;
  z-index: 2;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  border-radius: var(--radio-switch-radius);
  cursor: pointer;
  font-size: var(--text-sm);
  -webkit-user-select: none;
          user-select: none;
  transition: all var(--radio-switch-animation-duration);
}
.radio-switch__input:checked ~ .radio-switch__label {
  color: var(--color-white);
}
.radio-switch__input:focus ~ .radio-switch__label {
  background-color: hsl(var(--color-primary-h), var(--color-primary-s), calc(var(--color-primary-l) * 0.6));
}
.radio-switch__label :not(*):focus-within, .radio-switch__input:focus ~ .radio-switch__label {
  background-color: transparent;
}

.radio-switch__marker {
  position: absolute;
  z-index: 1;
  top: 0;
  left: -100%;
  border-radius: var(--radio-switch-radius);
  background-color: var(--color-primary);
  height: calc(var(--radio-switch-height) - 2 * var(--radio-switch-padding));
  width: calc(var(--radio-switch-width) * 0.5 - var(--radio-switch-padding));
  box-shadow: var(--shadow-md);
  transition: transform var(--radio-switch-animation-duration);
}
.radio-switch__input:checked ~ .radio-switch__marker {
  transform: translateX(100%);
}







/* -------------------------------- 

File#: _1_social-sharing
Title: Social Sharing
Descr: Social sharing plugin
Usage: codyhouse.co/license

-------------------------------- */

.sharebar__btn {
  --size: 60px;
  width: var(--size);
  height: var(--size);
  display: flex;
  background: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.1);
  border-radius: 50%;
  transition: 0.2s;
}
.sharebar__btn .icon {
  --size: 24px;
  display: block;
  margin: auto;
  color: var(--color-contrast-high);
  transition: color 0.2s;
}
.sharebar__btn:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075);
  box-shadow: var(--shadow-sm);
}
.sharebar__btn:hover .icon {
  color: var(--color-contrast-higher);
}

.justify-center {
  justify-content: center;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex {
  display: flex;
}


/* -------------------------------- 

File#: _1_banner
Title: Banner
Descr: A CTA banner containing text + media
Usage: codyhouse.co/license

-------------------------------- */
.banner {
  display: block;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  border-radius: var(--radius-md);
  transition: 0.3s;
  margin-bottom: 2rem;
}
.banner:hover {
  background-color: var(--color-bg-lighter);
  box-shadow: var(--inner-glow), var(--shadow-md);
}
.banner:hover .banner__link {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
.banner:hover .banner__link i {
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.banner:hover .banner__link::after {
  height: 100%;
}
.banner:hover .banner__figure {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.banner__link {
  position: relative;
  text-decoration: none;
  color: var(--color-primary-dark);
  display: inline-block;
  transition: 0.3s var(--ease-out);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
.banner__link i {
  position: relative;
  z-index: 2;
  display: inline-block;
  transition: 0.3s var(--ease-out);
}
.banner__link::after {
  content: "";
  background-color: currentColor;
  height: 2px;
  width: 100%;
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  transition: 0.3s var(--ease-out);
  opacity: 0.15;
}

.banner__figure {
  height: 0;
  padding-bottom: 50%;
  transition: 0.3s var(--ease-out);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (min-width: 64rem) {
  .banner__figure {
    height: 100%;
    padding-bottom: 0;
    -webkit-clip-path: polygon(100px 0%, 100% 0%, 100% 100%, 50px 100%);
            clip-path: polygon(100px 0%, 100% 0%, 100% 100%, 50px 100%);
  }

  .banner--invert .banner__figure {
    -webkit-clip-path: polygon(0% 0%, calc(100% - 100px) 0%, calc(100% - 50px) 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% - 100px) 0%, calc(100% - 50px) 100%, 0% 100%);
  }
  .banner--invert .banner__link {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
  }

  .banner:hover .banner__figure {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}


/* -------------------------------- 

File#: _1_btn-states
Title: Buttons states
Descr: Multi-state button elements
Usage: codyhouse.co/license

-------------------------------- */
.btn-states {
  position: relative;
}

.btn-states--state-b:not(.btn-states--preserve-width) .btn-states__content-a {
  display: none;
}

.btn-states:not(.btn-states--state-b) .btn-states__content-b {
  display: none;
}

/* preserve button width when switching from state A to state B */
.btn-states--preserve-width .btn-states__content-b {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.btn-states--preserve-width.btn-states--state-b .btn-states__content-a {
  visibility: hidden;
}

form#join-form p {
  text-align: center;
  font-size: 1.5rem;
  color: #a90000;
}










/* -------------------------------- 

File#: _1_rating
Title: Rating
Descr: A rating plugin that allows users to vote for your products
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --rating-icon-size: 1.3em;
}

.rating__control ul {
  display: inline-block;
  display: inline-flex;
  vertical-align: top;
}
.rating__control li {
  position: relative;
  height: var(--rating-icon-size);
  width: var(--rating-icon-size);
  float: left;
  cursor: pointer;
}
.rating__control li:focus {
  outline: none;
}
.rating__control li:focus::before {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.2;
}
.rating__control li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  transition: 0.2s;
}
.rating__control li.rating__item--zero {
  display: none;
}

.rating__control--is-hidden {
  display: none;
}

.rating__icon,
.rating__control li::before,
.rating[data-animation=on] .rating__control ul:hover .rating__icon {
  color: var(--color-primary);
}

.rating__icon--inactive,
.rating[data-animation=on] .rating__control li:hover ~ li .rating__icon,
.rating__item--checked ~ li .rating__icon {
  color: var(--color-contrast-lower);
}

.rating__icon {
  overflow: hidden;
}
.rating__icon svg {
  display: block;
  height: var(--rating-icon-size);
  width: var(--rating-icon-size);
  max-width: var(--rating-icon-size);
  pointer-events: none;
}

.rating--read-only .rating__control li {
  cursor: default;
}

.rating__icon--inactive {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.rating__item--half .rating__icon:not(.rating__icon--inactive) {
  position: relative;
  z-index: 2;
  width: 50%;
}

.rating[data-animation=on] .rating__control li:active .rating__icon {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
.rating[data-animation=on] .rating__icon {
  transition: 0.2s;
}

.rating__select {
  display: none;
}

.rating__link {
  display: inline-block;
  transition: opacity 0.2s;
}
.rating__link:hover {
  opacity: 0.85;
}






/* --------------------------------

File#: _1_sub-navigation
Title: Sub Navigation
Descr: Secondary navigation template
Usage: codyhouse.co/license

-------------------------------- */
.subnav__nav {
  position: relative;
  display: flex;
}
.subnav__nav::after {
  content: "";
  width: 1em;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(to right, hsla(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l), 0), hsla(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l), 1));
  pointer-events: none;
}

.subnav__list {
  display: flex;
  overflow: auto;
}

.subnav__item {
  display: inline-block;
  flex-shrink: 0;
}

.subnav__link {
  display: block;
  font-size: var(--text-sm);
  padding: 1.5625em;
  text-decoration: none;
  color: hsla(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l), 0.65);
  border: 3px solid transparent;
  border-right-width: 0;
  border-left-width: 0;
  transition: 0.2s;
}
.subnav__link:hover {
  color: var(--color-contrast-high);
}
.subnav__link[aria-current=page] {
  border-bottom-color: var(--color-primary);
  color: var(--color-contrast-high);
}

.subnav:not(.subnav--collapsed) .subnav__control, .subnav:not(.subnav--collapsed) .subnav__close-btn {
  display: none;
}

.subnav--collapsed {
  display: inline-block;
}
.subnav--collapsed .subnav__wrapper {
  position: fixed;
  display: block;
  z-index: var(--z-index-overlay, 15);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.9);
  visibility: hidden;
  opacity: 0;
}
.subnav--collapsed .subnav__wrapper--is-visible {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s;
}
.subnav--collapsed .subnav__wrapper--is-visible .subnav__nav {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.subnav--collapsed .subnav__nav {
  display: block;
  background-color: var(--color-bg);
  box-shadow: var(--shadow-md);
  max-height: 100%;
  overflow: auto;
  -webkit-transform: translateY(-1em);
          transform: translateY(-1em);
}
.subnav--collapsed .subnav__nav::after {
  display: none;
}
.subnav--collapsed .subnav__list {
  flex-direction: column;
  overflow: visible;
  padding: 0 var(--space-md) var(--space-md);
}
.subnav--collapsed .subnav__link {
  border-width: 0;
  font-size: var(--text-md);
  padding: var(--space-xs) 0;
}
.subnav--collapsed .subnav__link[aria-current=page] {
  color: var(--color-primary);
}

.subnav__close-btn {
  --size: 2em;
  width: var(--size);
  height: var(--size);
  display: flex;
  margin: var(--space-xs) var(--space-xs) 0 auto;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  transition: 0.2s;
}
.subnav__close-btn:hover {
  background-color: var(--color-bg-lighter);
  box-shadow: var(--inner-glow), var(--shadow-md);
}
.subnav__close-btn .icon {
  display: block;
  color: var(--color-contrast-high);
}

[class*=subnav--expanded]::before {
  display: none;
  content: "collapsed";
}

@media (min-width: 32rem) {
  .subnav--expanded\@xs::before {
    content: "expanded";
  }
}
@media (min-width: 48rem) {
  .subnav--expanded\@sm::before {
    content: "expanded";
  }
}
@media (min-width: 64rem) {
  .subnav--expanded\@md::before {
    content: "expanded";
  }
}
@media (min-width: 80rem) {
  .subnav--expanded\@lg::before {
    content: "expanded";
  }
}
@media (min-width: 90rem) {
  .subnav--expanded\@xl::before {
    content: "expanded";
  }
}








/* -------------------------------- 

File#: _1_accordion
Title: Accordion
Descr: Create stacked sections of content and allow the user to expand/collapse them
Usage: codyhouse.co/license

-------------------------------- */
:root {
  /* general */
  --accordion-border-width: 1px;
  /* icon */
  --accordion-icon-size: 20px;
  --accordion-icon-stroke-width: 2px;
}

.accordion__item {
  border-style: solid;
  border-color: var(--color-contrast-lower);
  border-bottom-width: var(--accordion-border-width);
}
.accordion__item:first-child {
  border-top-width: var(--accordion-border-width);
}

.accordion__header {
  /* button */
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}
.accordion__header .icon {
  --size: var(--accordion-icon-size);
}
.accordion__header .icon .icon__group {
  stroke-width: var(--accordion-icon-stroke-width);
}

.accordion__icon-arrow .icon__group,
.accordion__icon-arrow-v2 .icon__group,
.accordion__icon-plus .icon__group {
  will-change: transform;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.accordion__icon-arrow .icon__group > * {
  -webkit-transform-origin: 10px 14px;
          transform-origin: 10px 14px;
}

.accordion__icon-arrow-v2 .icon__group > * {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  stroke-dasharray: 20;
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
}
.accordion__icon-arrow-v2 .icon__group > *:first-child {
  stroke-dashoffset: 10.15;
}
.accordion__icon-arrow-v2 .icon__group > *:last-child {
  stroke-dashoffset: 10.15;
}

.accordion__icon-plus .icon__group {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.accordion__icon-plus .icon__group > * {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
.accordion__icon-plus .icon__group > *:first-child {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group {
  /* animated arrow icon */
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group > *:first-child {
  -webkit-transform: translateY(-8px) rotate(-90deg);
          transform: translateY(-8px) rotate(-90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group > *:last-child {
  -webkit-transform: translateY(-8px) rotate(90deg);
          transform: translateY(-8px) rotate(90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group {
  /* animated arrow icon v2 */
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group > *:first-child, .accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group *:last-child {
  stroke-dashoffset: 0;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group {
  /* animated plus icon */
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group > *:first-child {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.accordion__panel {
  display: none;
  will-change: height;
  -webkit-transform: translateZ(0px);
          transform: translateZ(0px);
}

.accordion__item--is-open > .accordion__panel {
  display: block;
}

/* animations */
.accordion[data-animation=on] .accordion__item--is-open .accordion__panel > * {
  -webkit-animation: accordion-entry-animation 0.4s var(--ease-out);
          animation: accordion-entry-animation 0.4s var(--ease-out);
}
.accordion[data-animation=on] .accordion__icon-arrow .icon__group,
.accordion[data-animation=on] .accordion__icon-arrow-v2 .icon__group,
.accordion[data-animation=on] .accordion__icon-plus .icon__group {
  transition: -webkit-transform 0.3s var(--ease-out);
  transition: transform 0.3s var(--ease-out);
  transition: transform 0.3s var(--ease-out), -webkit-transform 0.3s var(--ease-out);
}
.accordion[data-animation=on] .accordion__icon-arrow .icon__group > *,
.accordion[data-animation=on] .accordion__icon-arrow-v2 .icon__group > *,
.accordion[data-animation=on] .accordion__icon-plus .icon__group > * {
  transition: stroke-dashoffset 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition: transform 0.3s, stroke-dashoffset 0.3s, -webkit-transform 0.3s;
  transition-timing-function: var(--ease-out);
}

@-webkit-keyframes accordion-entry-animation {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes accordion-entry-animation {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}







/* -------------------------------- 

File#: _2_autocomplete
Title: Autocomplete
Descr: Autocomplete plugin for input elements
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --autocomplete-dropdown-vertical-gap: 4px;
  /* gap between input and results list */
  --autocomplete-dropdown-max-height: 250px;
  --autocomplete-dropdown-scrollbar-width: 6px;
  /* custom scrollbar width - webkit browsers */
}

.autocomplete__loader {
  /* loader visible while searching */
  /* CSS variables inherited from the circle-loader component */
  --circle-loader-v1-size: 1em;
  --circle-loader-v1-stroke-width: 2px;
}

.autocomplete:not(.autocomplete--searching) .autocomplete__loader {
  /* .autocomplete--searching is used to show the loader element - added in JS */
  display: none;
}

/* results dropdown  */
.autocomplete__results {
  position: absolute;
  z-index: var(--z-index-popover, 5);
  width: 100%;
  left: 0;
  top: calc(100% + var(--autocomplete-dropdown-vertical-gap));
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  /* slide in animation */
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-md);
  border-radius: var(--radius-md);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0s 0.3s, -webkit-transform 0.3s var(--ease-in);
  transition: opacity 0.3s, visibility 0s 0.3s, transform 0.3s var(--ease-in);
  transition: opacity 0.3s, visibility 0s 0.3s, transform 0.3s var(--ease-in), -webkit-transform 0.3s var(--ease-in);
  overflow: hidden;
}
.autocomplete--results-visible .autocomplete__results {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s, -webkit-transform 0.3s var(--ease-out);
  transition: opacity 0.3s, transform 0.3s var(--ease-out);
  transition: opacity 0.3s, transform 0.3s var(--ease-out), -webkit-transform 0.3s var(--ease-out);
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.autocomplete__list {
  max-height: var(--autocomplete-dropdown-max-height);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* custom scrollbar */
}
.autocomplete__list::-webkit-scrollbar {
  /* scrollbar width */
  width: var(--autocomplete-dropdown-scrollbar-width);
}
.autocomplete__list::-webkit-scrollbar-track {
  /* progress bar */
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.08);
  border-radius: 0;
}
.autocomplete__list::-webkit-scrollbar-thumb {
  /* handle */
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.12);
  border-radius: 0;
}
.autocomplete__list::-webkit-scrollbar-thumb:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.2);
}

/* single result item */
.autocomplete__item {
  cursor: pointer;
  transition: 0.2s;
}
.autocomplete__item:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075);
}
.autocomplete__item:focus {
  outline: none;
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.15);
}





/* -------------------------------- 

File#: _3_select-autocomplete
Title: Select Autocomplete
Descr: Selection dropdown with autocomplete
Usage: codyhouse.co/license

-------------------------------- */
.select-auto.autocomplete {
  --autocomplete-dropdown-vertical-gap: 4px;
  /* gap between input and results list */
  --autocomplete-dropdown-max-height: 250px;
  --autocomplete-dropdown-scrollbar-width: 6px;
  /* custom scrollbar - webkit browsers */
}

/* input */
.select-auto__input-wrapper {
  --input-btn-icon-size: 16px;
  /* btn/icon size */
  --input-btn-icon-margin-right: var(--space-xs);
  /* btn/icon size */
  --input-btn-text-gap: var(--space-xxs);
  /* gap between button/icon and text */
  position: relative;
}
.select-auto__input-wrapper .form-control {
  width: 100%;
  height: 100%;
  padding-right: calc(var(--input-btn-text-gap) + var(--input-btn-icon-size) + var(--input-btn-icon-margin-right));
}

.select-auto__input-icon-wrapper .icon,
.select-auto__input-btn .icon {
  display: block;
  margin: auto;
  width: var(--input-btn-icon-size, 16px);
  height: var(--input-btn-icon-size, 16px);
}

.select-auto__input-icon-wrapper {
  position: absolute;
  right: var(--input-btn-icon-margin-right);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-flex;
  pointer-events: none;
}

.select-auto__input-btn {
  /* search cancel button */
  display: none;
  justify-content: center;
  align-items: center;
  pointer-events: auto;
  cursor: pointer;
  color: var(--color-contrast-medium);
  /* icon color */
  transition: 0.3s;
}
.select-auto__input-btn:hover {
  color: var(--color-contrast-high);
}
.select-auto__input-btn:active {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}

.select-auto--selection-done .select-auto__input-icon-wrapper > .icon {
  display: none;
}
.select-auto--selection-done .select-auto__input-btn {
  display: inline-flex;
}

/* dropdown */
.select-auto__results {
  /* reset spacing and typography */
  --space-unit: 1rem;
  --text-unit: 1rem;
  font-size: var(--text-unit);
}

/* single result item */
.select-auto__option {
  position: relative;
  cursor: pointer;
  transition: 0.2s;
}
.select-auto__option:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.05);
}
.select-auto__option:focus {
  outline: none;
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.12);
}
.select-auto__option.select-auto__option--selected {
  background-color: var(--color-primary);
  color: var(--color-white);
  padding-right: calc(1em + var(--space-sm));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.select-auto__option.select-auto__option--selected:focus {
  background-color: var(--color-primary-dark);
}
.select-auto__option.select-auto__option--selected::after {
  content: "";
  position: absolute;
  right: var(--space-sm);
  top: calc(50% - 0.5em);
  height: 1em;
  width: 1em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline stroke-width='2' stroke='%23ffffff' fill='none' stroke-linecap='round' stroke-linejoin='round' points='1,9 5,13 15,3 '/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline stroke-width='2' stroke='%23ffffff' fill='none' stroke-linecap='round' stroke-linejoin='round' points='1,9 5,13 15,3 '/%3E%3C/svg%3E");
}

.select-auto__group-title, .select-auto__no-results-msg {
  outline: none;
}





/* -------------------------------- 

File#: _1_circle-loader
Title: Circle Loader
Descr: A collection of animated circle loaders
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --circle-loader-v1-size: 48px;
  --circle-loader-v1-stroke-width: 4px;
  --circle-loader-v2-size: 64px;
  --circle-loader-v2-stroke-width: 2;
  --circle-loader-v3-size: 64px;
  --circle-loader-v4-size: 48px;
  --circle-loader-v5-size: 64px;
  --circle-loader-v6-size: 48px;
}

.circle-loader {
  position: relative;
  display: inline-block;
}

@supports ((-webkit-animation-name: this) or (animation-name: this)) {
  .circle-loader__label {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
  }
}
@supports ((-webkit-animation-name: this) or (animation-name: this)) {
  .circle-loader--v1 {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    will-change: transform;
    -webkit-animation: circle-loader-1 0.75s infinite var(--ease-in-out);
            animation: circle-loader-1 0.75s infinite var(--ease-in-out);
  }
  .circle-loader--v1 .circle-loader__circle {
    width: var(--circle-loader-v1-size);
    height: var(--circle-loader-v1-size);
    border-width: var(--circle-loader-v1-stroke-width);
    border-style: solid;
    border-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
    border-radius: 50%;
  }
  .circle-loader--v1 .circle-loader__circle::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-width: inherit;
    border-style: inherit;
    border-color: transparent;
    border-top-color: var(--color-primary);
    border-radius: inherit;
  }
}
@-webkit-keyframes circle-loader-1 {
  0% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  100% {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg);
  }
}
@keyframes circle-loader-1 {
  0% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  100% {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg);
  }
}
@supports ((-webkit-animation-name: this) or (animation-name: this)) {
  .circle-loader--v2 {
    will-change: transform;
    -webkit-animation: circle-loader-spinning-main 1.4s infinite linear;
            animation: circle-loader-spinning-main 1.4s infinite linear;
  }
  .circle-loader--v2 .circle-loader__svg {
    display: block;
    width: var(--circle-loader-v2-size);
    height: var(--circle-loader-v2-size);
    color: var(--color-primary);
  }
  .circle-loader--v2 .circle-loader__svg > * {
    stroke-width: var(--circle-loader-v2-stroke-width);
  }
  .circle-loader--v2 .circle-loader__base {
    opacity: 0.2;
  }
  .circle-loader--v2 .circle-loader__fill {
    stroke-linecap: round;
    stroke-dashoffset: 0;
    stroke-dasharray: 90 120;
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-animation: circle-loader-dash 1.4s infinite;
            animation: circle-loader-dash 1.4s infinite;
  }
}
@-webkit-keyframes circle-loader-dash {
  0%, 20% {
    stroke-dashoffset: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50%, 70% {
    stroke-dashoffset: 80;
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
  }
  100% {
    stroke-dashoffset: 0;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes circle-loader-dash {
  0%, 20% {
    stroke-dashoffset: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50%, 70% {
    stroke-dashoffset: 80;
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
  }
  100% {
    stroke-dashoffset: 0;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes circle-loader-spinning-main {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes circle-loader-spinning-main {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@supports ((-webkit-animation-name: this) or (animation-name: this)) {
  .circle-loader--v3 {
    width: var(--circle-loader-v3-size);
    height: var(--circle-loader-v3-size);
  }
  .circle-loader--v3 .circle-loader__circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--color-primary);
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0.8;
    will-change: transform, opacity;
    -webkit-animation: circle-loader-3 1.2s infinite;
            animation: circle-loader-3 1.2s infinite;
  }
  .circle-loader--v3 .circle-loader__circle--2nd {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
}
@-webkit-keyframes circle-loader-3 {
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}
@keyframes circle-loader-3 {
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}
@supports ((-webkit-animation-name: this) or (animation-name: this)) {
  .circle-loader--v4 {
    width: var(--circle-loader-v4-size);
    height: var(--circle-loader-v4-size);
    border-radius: 50%;
    overflow: hidden;
  }
  .circle-loader--v4 .circle-loader__mask,
.circle-loader--v4 .circle-loader__circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
  }
  .circle-loader--v4 .circle-loader__mask {
    -webkit-clip-path: circle(calc(0.5* var(--circle-loader-v4-size)));
            clip-path: circle(calc(0.5* var(--circle-loader-v4-size)));
  }
  .circle-loader--v4 .circle-loader__circle--1st {
    background-color: var(--color-contrast-low);
  }
  .circle-loader--v4 .circle-loader__circle--2nd {
    background-color: var(--color-primary);
    will-change: transform;
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    -webkit-animation: circle-loader-4 1.2s infinite cubic-bezier(0.23, 0.9, 0.75, 0.1);
            animation: circle-loader-4 1.2s infinite cubic-bezier(0.23, 0.9, 0.75, 0.1);
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes circle-loader-4 {
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes circle-loader-4 {
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@supports ((-webkit-animation-name: this) or (animation-name: this)) {
  .circle-loader--v5 {
    font-size: var(--circle-loader-v5-size);
    width: 1em;
    height: 1em;
  }
  .circle-loader--v5 .circle-loader__label {
    font-size: 1rem;
  }
  .circle-loader--v5 .circle-loader__ball {
    position: absolute;
    top: 0;
    left: calc(50% - 0.140625em);
    width: 0.28125em;
    height: 0.28125em;
    background-color: var(--color-primary);
    border-radius: 50%;
    -webkit-animation: circle-loader-5-ball 0.8s infinite;
            animation: circle-loader-5-ball 0.8s infinite;
  }
  .circle-loader--v5 .circle-loader__shadow {
    position: absolute;
    bottom: 0;
    left: calc(50% - 0.15625em);
    width: 0.3125em;
    height: 0.3125em;
    background-color: var(--color-contrast-lower);
    border-radius: 50%;
    -webkit-transform: scaleY(0.4) scaleX(1.2);
            transform: scaleY(0.4) scaleX(1.2);
    -webkit-animation: circle-loader-5-shadow 0.8s infinite;
            animation: circle-loader-5-shadow 0.8s infinite;
  }
}
@-webkit-keyframes circle-loader-5-ball {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
            animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
  }
  50% {
    -webkit-transform: translateY(0.5625em);
            transform: translateY(0.5625em);
    -webkit-animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
            animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes circle-loader-5-ball {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
            animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
  }
  50% {
    -webkit-transform: translateY(0.5625em);
            transform: translateY(0.5625em);
    -webkit-animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
            animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes circle-loader-5-shadow {
  0% {
    -webkit-transform: scaleY(0.4) scaleX(1.2);
            transform: scaleY(0.4) scaleX(1.2);
    background-color: var(--color-contrast-lower);
    -webkit-animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
            animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
  }
  50% {
    -webkit-transform: scaleY(0.2) scaleX(0.6);
            transform: scaleY(0.2) scaleX(0.6);
    background-color: var(--color-contrast-low);
    -webkit-animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
            animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
  }
  100% {
    -webkit-transform: scaleY(0.4) scaleX(1.2);
            transform: scaleY(0.4) scaleX(1.2);
    background-color: var(--color-contrast-lower);
  }
}
@keyframes circle-loader-5-shadow {
  0% {
    -webkit-transform: scaleY(0.4) scaleX(1.2);
            transform: scaleY(0.4) scaleX(1.2);
    background-color: var(--color-contrast-lower);
    -webkit-animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
            animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
  }
  50% {
    -webkit-transform: scaleY(0.2) scaleX(0.6);
            transform: scaleY(0.2) scaleX(0.6);
    background-color: var(--color-contrast-low);
    -webkit-animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
            animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
  }
  100% {
    -webkit-transform: scaleY(0.4) scaleX(1.2);
            transform: scaleY(0.4) scaleX(1.2);
    background-color: var(--color-contrast-lower);
  }
}
@supports ((-webkit-animation-name: this) or (animation-name: this)) {
  .circle-loader--v6 .circle-loader__svg {
    display: block;
    width: var(--circle-loader-v6-size);
    height: var(--circle-loader-v6-size);
    color: var(--color-primary);
  }
  .circle-loader--v6 .circle-loader__fill {
    stroke-width: 8px;
    stroke-dashoffset: 35;
    stroke-dasharray: 36 36;
    -webkit-animation: circle-loader-6 1.5s infinite;
            animation: circle-loader-6 1.5s infinite;
  }
}
@-webkit-keyframes circle-loader-6 {
  0%, 100% {
    stroke-dashoffset: 35;
  }
  50% {
    stroke-dashoffset: -35;
  }
}
@keyframes circle-loader-6 {
  0%, 100% {
    stroke-dashoffset: 35;
  }
  50% {
    stroke-dashoffset: -35;
  }
}

/* -------------------------------- 

File#: _2_image-zoom
Title: Image Zoom
Descr: A lightbox plugin to zoom on an image on click
Usage: codyhouse.co/license

-------------------------------- */
.image-zoom__preview {
  display: block;
  width: 100%;
}

.image-zoom {
  position: relative;
}

.image-zoom__preview {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Ctitle%3EArtboard 1icon-1%3C/title%3E%3Cg opacity='0.9'%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3Cpolygon points='34 23 25 23 25 14 23 14 23 23 14 23 14 25 23 25 23 34 25 34 25 25 34 25 34 23' fill='%23fff'/%3E%3C/svg%3E") 24 24, zoom-in;
  cursor: -webkit-image-set(url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsSAAALEgHS3X78AAACGklEQVRogeWaO27CQBCG/9meCxDqHAEOQHoEfbgBPRI1Unpu4PSg9PgA+AZJTbgAB5horbGDn/jtXfgkROHX/+9jdj1jYmbUhYjGACYA9P8IwDDjlhcAZwAegBMze7WfXdWAiF4AeAMwqPj8K4AjgH1VM6UNiPCVtHaTaAO7skYKGyCiFwAbANOGhcdxAWyZ+beQriIGiEgPk48aQ6UsemitmflY2wAR6VZfdiQ8jsPM27wTcg0QkW71ecsi73Fg5nXWOSrrgCHiNXPRkkqqARk2JogPmIumBAkDMmH7GvN5LEVbhMgckFD51WG0KYuOTrPbEBvvgY3B4iHaIkMpNCArbNuLVBNMRWvUgGwPbGEVMSCOmt7bgJlf9a+FRhkHvRD0wKKFh7TN4tZAIjxZgK9ZSVeYHHmyGGjtSt6kbGWi2pi8HeL3wMhiAyOV8wJuA8PM7bQtEIDvKlqbXqCI6KfKdc/bA0UIeqlq6xbB+h5Qku6zlYuSXKWtnJWk9GzF0wZOFhs4KUmmXg0QU5ar1h5Eobs5SAPxNQcG9hYa8DWHeSEi+rRoa+0x8ztiC9muPz2lCbWGBmQyuxaId2+rOI+VWpQDmbl4A1jHS0+JzZyUdRwDxTtpJafMCo1BBQ7kVWkyt9NywaFVWcWoVmLCv4k+h5OTJx6PUGYt9EYmN5p1tE64EioL7c+e51ODxIW2fuyRepO+PrcB8AcU++0TpkKrvQAAAABJRU5ErkJggg==") 1x, url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAABYlAAAWJQFJUiTwAAAEqUlEQVR4nO2dS07cQBCGq0bZkgMA64gcIMM6UfYI9sABEGtAWUcha8QBBvYzYo+SNZMDhGQ9zAHiA1TUQ9nyYzxut9vdbbs+CY2QwI//n+qHu12FRAQhgohjAHgPAG8BYMyXONa81Hnq8wUAFkQ0r/gfLwRjAAu+zyLrCl2XOf88hWKIVwNY9CMA+AwAW45PHwHAIwBMfZrh3ABEVE3KKQu/7fTk5SyVEQAwIaJ/Lk/szABE3AGAcwA4dHJCc2YAcENELy5O1roBHRI+jxMjWjUAEc+5uXHdvtsi4mbppq0TtGIAd67fA2rjm6L6iIs2OmvrBiDiFwA4sXrQcLgjoq82r8aaAYioJk3XALBn5YDh8gwAl0T028YVjmwcBBHVOP5+AOID3+M933NjGhuAiKqTve1wR2uCutdbRDxqeqBGTRAiXndweGmbGRFdmh7TOAJE/IRD1sIIIwNE/ALGJtQ2QMQvxciEWgZwhyvil3NYt2PW7oR52HVr9XL7yxkRPWrpqmMAT7LuBzbUbIJ6hnSsM1nTNeBhIJMsmzwT0UHV8Sr7AH62I+LXZ4+128hGA/ipZl8frLnghDUsZWMThIg/e/RI2RdLIvpYdu7SCODFFBG/Odus5VrWRgAvIz7IqMcaalR0sG55sywCzkV8q2yxpgUKEcDf/h9dvtuA+ZSPgnURUNpeCY0paJuJAN409asLOhPRu/TviPjX39XU4kN681c+Ak7Dve7ekNE4b0DjJTahkozGiQE8Y5Nxf/tsp2fH6QiQb787Eq3TBljZZiFokWi9MoBDQiZe7tiKm6E4AvYHcNOhsdI8NqCtV4KEcjIRIAa459WAqgUDoT2U9iN+FVTww+6I38MV/LAzkvbfK2Mr7wcI5kgE+EUiwDdigGcQAP64vIT8SlZouF5ZkwjwjBjgGTHAM877AFt0eFdEBokAz4gBnhmlEtwJ7plLBHhGIsAvqwhwkhtNWMuLMmAh2nhjMQo1o+wQUNrHnbCY4J6V5mKAPzIGPA1QAN+sNF8ZwP1ANGQ1HBPFfW96IqaV3UOwQqJ12oCpaOuMROvEAA6JZa9vOwyW6aF//lmQREH7ZDTOGzDp0Y2GSkbjN+lf1PuriDjrQl64jq6AzfIFIiRVgVuqUxXwH8z6ef9emdXJlnIjEzOrRKxpgbUGsFPSIdtjUlYKRVKWtY9ZyjLmonO3Gx4bNdxoAM/Y7vqtT6vcVS14SeLW9rCTuJW5lFFRLSLWrBItAzgHsnGViAGiXeRHe2MWZwO/GrqyGlzpZk6HuntDiWgqs+SNzFgjbWpvTeSCNWJCEaNiPkZ7Q8WEAsaVlIw354oJCY3KWDUuZcg1U741Okh3uarb5udpvD2dL+BsYPOEiOvENF7CtfJ+AA+7jrnQZd955vowVrbxWHtBQ008eOrd52dH6tnOga1KqiAFnbXpTkHnzMGlpHklUtS/nO4X9c+cqDtGOBE+xpkByQlfaxSccv7kUPqIJe9Ym+T37bSNcwPScGd9xLmUXfcTEe9Snvp8TcurAWnYjH1OodZWGrU5/zyF8m5cMAbkYUN2VWrHlCG6xsTiqk/Vli+CfBkRAP4DaXHfN1Q11JEAAAAASUVORK5CYII=") 2x) 24 24, zoom-in;
}

.image-zoom__lightbox { /* modal element for the zoomed image - created in js */
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: var(--z-index-overlay, 15);
  overflow-x: hidden;
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Ctitle%3EArtboard 1icon-2%3C/title%3E%3Cg opacity='0.9'%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3Crect x='23' y='14' width='2' height='20' transform='translate(48) rotate(90)' fill='%23fff'/%3E%3C/svg%3E") 24 24, zoom-out;
  cursor: -webkit-image-set(url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsSAAALEgHS3X78AAACEklEQVRoge2ay23CQBCG/7FypYGEcyqIoAByR1AAHXBH4oyUOx24AFDuuACsNJCcCQ1QwERrjQl+4ifeIfkuHPDj/727s+MZEzOjLkQ0ADAEYH77AB4zLnkEcADgA9gzs1/73lUNiOgpgFcAvYr3PwHYAdhUNVPagAify9NuEmNgXdZIYQNE9ARgCWDUsPA4HoAVM38X0lXEABGZafJWY6qUxUytBTPvahsgIvPUZzcSHsdl5lXeAbkGiMg89UnLIq+xZeZF1jFO1h+WiDdMREsqqQZk2tggPmQimhIkDMiC7WrO5zETbREia0BC5fsNo01ZTHQaX4bY+AgsLRYP0RaZSmcDssO2vUk1wUi0Rg1IeqCFecSAOGo6t2mTQTgK4QhMFYkPCTSHBhLhSQGBZkeGwubIk0XPaHfkTUorQ0fZ4o0TjEDfLk2l6BOAT0WCE2Sm01p4qKqTmZ+b9EhEX1XOUz8C/2ugaxwp92nl6EitUisHR0p6WvGNgb1iA/vgpZ6IPhRmpCdmfgmj0NUapIUEmkMDG4UGAs2BAanJa1rMfthHuNzI1t3pKc1Z69mAOPIUiPcuuzj3VVqUPzJr8RawiLeeEsmctHVcC8W7aS2nzA6NRQ0O5HVpMtNpOWHbqqxiVGsx4ddEl9PJzROPe2izFnojkwuNb7RPeBIqC+Vnf+dTg8SJWj/2SL1IV5/bAPgBdRHiSVcA3vQAAAAASUVORK5CYII=") 1x, url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAABYlAAAWJQFJUiTwAAAEmElEQVR4nO2dvU7cQBDHZ05pyQMAdUL65KgTpUfQAw+AqAGljkJqxAMc9HeiR0nNJX1IargHyD3AROvMWbbvfF6v98v2/KQTBeC1//+b/bDXM0hEECOIOASANwDwEgCGfIpDzVOdZn4+A8ATEU0r/icI0RjAgu+yyLpC12XKn4dYDAlqAIt+AAAfAWDDc/NzALgHgHFIM7wbgIiqSzlm4Te9Nl7OTBkBACMi+uuzYW8GIOIWAJwCwL6XBs2ZAMAVET37aMy5AS0SvogXI5wagIin3N347t9tMedu6cpVA04M4MH1a0R9fFPUGHHmYrC2bgAifgKAI6sHjYcbIvps82ysGYCIatF0CQA7Vg4YL48AcE5Ev2yc4cDGQRBRzeNveyA+8DXe8jU3prEBiKgG2esWD7QmqGu9RsSDpgdq1AUh4mULp5e2mRDRuekxjSNAxE/ZZy2MMDJAxF/C2ITaBoj4pRiZUMsAHnBF/HL26w7M2oMwT7uurZ5udzkhonstXXUM4EXWbc+mmk1Q95AOdRZrugbc9WSRZZNHItqrOl7lGMD3dkT8+uywdmtZawDf1ezqjTUfHLGGpaztghDxe4duKYdiRkTvy9oujQB+mCLiN2eTtVzJygjgx4h3MuuxhpoV7a16vFkWAacivlU2WNMlliKAv/3f2ny1EfOhGAWrIqC0vxIas6RtLgJ409QP0dkp77Kbv4oRcNyd64yWnMZFAxo/YhMqyWmcGsArNpn3u2czuzrORoB8+/2Rap01wMo2C0GLVOvEAA4JWXj5Y2PRDS0iYLcHFx0bieYLA1y9EiSUk2ieLMQQ8bcI5R8iej2oemAguENpP+BXQYUwbA/4PVwhDFsDGYCDMrTyfoBgDgKAzIACIhEQGDEgMC98N09Er2ITIQsi/vHZnkRAYMSAwIgBgZFpaGAkAgIjBgRmkElwJ/hnKhEQGImAsCQR4CU3mrCSZ2XAk2gTjCd5KB+Q5KE8Ny/jgH8SzcWAcOQMeOihAKFJNE/fkEHEn7I/1BtzInoLhVsRWtk9BCukWmcNGIu23ki1Tg3grLCzTl92HMyyGXiL94IkCtyT01heU/VP+Wuq/ItJ9zUIxqRYIEJSFfilOlUB/4FEgX0mdbKlXHGKFcEOc9Z0iZUGsFMjEd8ao7JSKJKyzD1mKcuYs9Zdbnys1XCtAbxiu+m2Pk65qao7I4lb3WEncStzLrOiWsxZs0q0DOAcyMZVInqIdpEf7Y1ZnA38ou/KanChmzkd6u4NJaKxrJLXMmGNtKm9NZEL1ogJyxgV8zHaGyomLGFcScl4c66YkNKojFXjUoZcM+VLo4O0l4u6fX6RxtvT+QROerZOmHOdmMaPcK28H8DTrkMudNl1Hrk+jJVtPNZe0FALD156d/nekbq3s2erkipIQWdt2lPQOXdwKWleiRT1L6f9Rf1zDbXHCC/CL/BmQNrg/81fx5w/OZYxYsY71kbFfTuu8W5AFh6sDziXsu9xYs67lMcuBlddghqQhc3Y5SSCrhIJTvnzEFL0LNEYUIQN2VapHTOG6BqzEFf9VH35UyyC5wCAfxBt4NqKekAOAAAAAElFTkSuQmCC") 2x) 24 24, zoom-out;
}
.image-zoom__lightbox img {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  transform-origin: top left;
  pointer-events: none;
}
.image-zoom__lightbox::before { /* lightbox background */
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: var(--color-bg);
  opacity: 0;
}

.image-zoom__lightbox--is-visible {
  visibility: visible;
}
.image-zoom__lightbox--is-visible img {
  transition: transform 0.3s;
}
.image-zoom__lightbox--is-visible::before {
  transition: opacity 0.3s;
}

.image-zoom__lightbox--animate-bg::before { /* animate lightbox background when lightbox is visible */
  opacity: 1;
}

.image-zoom__lightbox--no-transition { /* remove lightbox transitions */ }
.image-zoom__lightbox--no-transition img, .image-zoom__lightbox--no-transition::before {
  transition: none;
}

/* keyboard accessibility - use keyboard to toggle lightbox */
.image-zoom__input { /* never visible - created in js */
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
}

.image-zoom__input:focus ~ .image-zoom__preview {
  box-shadow: 0 0 0 2px var(--color-bg), 0 0 0 5px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.25);
}



/* -------------------------------- 

File#: _1_tabbed-navigation
Title: Tabbed Navigation
Descr: Tabbed secondary navigation
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --s-tabs-border-bottom-width: 1px;
  --s-tabs-selected-item-border-bottom-width: 1px;
}

.s-tabs {
  position: relative;
}
.s-tabs::after { /* gradient - truncate text */
  content: "";
  position: absolute;
  right: -1px;
  top: 0;
  height: calc(100% - var(--s-tabs-border-bottom-width));
  width: 2em;

  pointer-events: none;
  z-index: 1;
}

.s-tabs__list {
  display: flex;
  overflow: auto;
  -webkit-overflow-scrolling: auto;
}
.s-tabs__list::after { /* border bottom */
  content: "";
  position: absolute;
  width: 100%;
  height: var(--s-tabs-border-bottom-width);
  left: 0;
  bottom: 0;
  background-color: var(--color-contrast-lower);
}

.s-tabs__link {
  color: var(--color-contrast-medium);
  text-decoration: none;
  display: inline-block;
  padding: var(--space-xs) var(--space-sm);
  white-space: nowrap;
  border-bottom: var(--s-tabs-selected-item-border-bottom-width) solid transparent;
  z-index: 1;
  transition: 0.2s;
}
.s-tabs__link:hover:not(.s-tabs__link--current) {
  color: var(--color-contrast-high);
}

.s-tabs__link--current {
  position: relative;
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}



.card-v9__content {
  background-color: rgba(255,255,255,0.3);
  transition: 0.6s;
}

.card-v9__content h3 {
  text-align: center;
  text-transform: uppercase;
  font-size: 1.6rem;
}

.card-v9__content:hover {
  background-color: rgba(255,255,255,0.05);
}

.card-v9__content:hover h3{
  transition: 0.6s;
  text-shadow: none;
}
.card-v9__content:hover h2{

  /*
  text-shadow:
  -1px -1px 0 #fff,
   0   -1px 0 #fff,
   1px -1px 0 #fff,
   1px  0   0 #fff,
   1px  1px 0 #fff,
   0    1px 0 #fff,
  -1px  1px 0 #fff,
  -1px  0   0 #fff;
  */
}

.featured-title-overlay {
  background-color: rgba(255,255,255,0.6);
}

.mega-nav__logo {
  width: 175px;
  height: auto;
}

.text-component.kbf-blog h3 {
  font-size: 1.2rem;
  color: darkred;
}

p.kbf-more-news {
  text-align: center;
}

section.kbf-fp-notice {
  background-color: #fff;
  text-align: center;
  color: #484848;
  padding: 3rem 1rem;
}

.main-footer__logo {
  width: 185px;
  height: auto;

}


a.articles-v3__author-name {
  font-weight: 400;
}
.no-c-results {
  text-align: center;
  padding-top: 10rem;
  padding-bottom: 12rem;
}

div#edges-modal {
  z-index: 1111102 !important;
}

div#visualizer-modal {
  z-index: 1111012 !important;
}

div#sc-quote-form-modal {
  z-index: 1111012 !important;
}




.kbf-slab-itm {
  background-color: #fff;
  text-align: center;
}

.kbf-slab-title {
  font-size: 1.3rem;
  text-transform: uppercase;
}

.kbf-slab-itm img {
  padding: 0.3rem;
}


th.prop-table__cell--th {
  padding: 0.3rem;
  text-align: left;
  font-weight:500;
}

table.kbf-prod-tbl tr:nth-child(even) {
  background: #CCC;
}
table.kbf-prod-tbl tr:nth-child(even) {
  background: #e4e4e4;
}

table.kbf-prod-tbl.prop-table {
  margin-bottom: 2rem;
}

.kbf-slab-name {
  font-weight: 500;
  color: var(--color-primary, hsl(250deg, 84%, 54%));
  letter-spacing: -1px;
}

.kbf-slab-line {
  margin-bottom: 0px;
  border-bottom: 1px solid #d6d6d6;
  background-color: #fff;
  padding: 12px 10px;
  margin-top: 0px;
}

span.kbf-slab-val {
  color: #000;
  font-weight: 500;
}

.kbf-slab-prop {
  /* font-size: 0.95rem; */
  line-height: 1.2em;
}



.js .adapt-nav__dropdown {
  width: 200px;
}

.select__list li {
  list-style: none;
}

input.daterange {
  width: 100%;
  padding: 0.5rem;
  font-size: 1rem;
}

span#comp-summary-count {
  font-size: 0.9rem;
  color: #4f4f4f;
}

.slab-card-basic {
  /* width: 100%; */
  position: relative;
}

.kbf-slab-hover {
  transition: all 0.5s ease-out;


  opacity: 0%;
  position: absolute;
  width: 100%;
  background-color: rgba(255,255,255,0.8);
  bottom: 2%;
  /* height: 100%; */
  z-index: 2;
  color: black;
  text-transform: uppercase;
  font-size: 1.5rem;
}
.slab-card-basic:hover .kbf-slab-hover {
  opacity: 100%;
  transition: opacity 0.3s;



}

h2.slab-search-title {
  text-align: center;
  font-size: 1.5rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
  color: #070707;
}


.searchbox.searchbox-slabs.card {
  margin-top: 4rem;
}

@media (min-width: 64rem) {

.searchbox.searchbox-slabs.card {
  margin-top: 10rem;
}

}

button.btn--secondary {
  border: 1px solid #cacaca;
}

button#inquiry-send:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

button#quote-btn {
  float: right;
}
input.form-control, textarea.form-control {
    font-size: 1rem !important;
}

.no-near-slabs {
  text-align: center;
  color: #d44646;
  margin-bottom: 2rem;
}

label.ss-label {
  font-size: 0.9rem;
  color: #919191;
}



.search-input {
  position: relative;
}

.search-input__input {
  width: 100%;
  height: 100%;
}
.search-input__input::-webkit-search-decoration, .search-input__input::-webkit-search-cancel-button, .search-input__input::-webkit-search-results-button, .search-input__input::-webkit-search-results-decoration {
  -webkit-appearance: none;
}
.search-input__input::-ms-clear, .search-input__input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.search-input--icon-right .search-input__input {
  padding-right: var(--search-input-btn-width);
}
.search-input--icon-left .search-input__input {
  padding-left: var(--search-input-btn-width);
}

.search-input__btn {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: var(--search-input-btn-width);
}
.search-input__btn:active .icon {
  transform: translateY(2px);
}
.search-input__btn .icon {
  display: block;
  --size: var(--search-input-icon-size);
  margin-left: auto;
  margin-right: auto;
  color: var(--color-contrast-low); /* icon color */
  transition: 0.2s;
}
.search-input--icon-left .search-input__btn {
  left: 0;
  right: auto;
  pointer-events: none;
}

.search-input__btn:focus .icon,
.search-input .search-input__input:focus + .search-input__btn .icon {
  color: var(--color-primary); /* active icon color */
}

/* --shortcut */
.search-input__shortcut {
  position: absolute;
  right: var(--search-input-shortcut-margin);
  top: var(--search-input-shortcut-margin);
  height: calc(100% - var(--search-input-shortcut-margin) * 2);
  display: flex;
  align-items: center;
  background-color: var(--color-bg);
  border: 1px solid var(--color-contrast-lower);
  border-radius: var(--radius-sm);
  --space-unit: 1em;
  padding: 0 var(--space-3xs);
  line-height: 1;
  color: var(--color-contrast-medium);
}

.search-input:focus-within .search-input__shortcut {
  display: none;
}