@charset "UTF-8";/* -------------------------------- 

File#: _1_responsive-sidebar
Title: Responsive Sidebar
Descr: Responsive sidebar container
Usage: codyhouse.co/license

-------------------------------- */
/* mobile version only (--default) 👇 */
.sidebar:not(.sidebar--static) {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-fixed-element, 10);
    width: 100%;
    height: 100%;
    visibility: hidden;
    transition: visibility 0s 0.3s
}

.sidebar:not(.sidebar--static)::after {
    /* overlay layer */
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0);
    transition: background-color 0.3s;
    z-index: 1
}

.sidebar:not(.sidebar--static) .sidebar__panel {
    /* content */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    max-width: 380px;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background-color: var(--color-bg);
    transform: translateX(-100%);
    transition: box-shadow 0.3s,transform 0.3s
}

.sidebar:not(.sidebar--static).sidebar--right-on-mobile .sidebar__panel {
    left: auto;
    right: 0;
    transform: translateX(100%)
}

.sidebar:not(.sidebar--static).sidebar--is-visible {
    visibility: visible;
    transition: none
}

.sidebar:not(.sidebar--static).sidebar--is-visible::after {
    background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.85)
}

.sidebar:not(.sidebar--static).sidebar--is-visible .sidebar__panel {
    transform: translateX(0);
    box-shadow: var(--shadow-md)
}

/* end mobile version */
.sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0
}

.sidebar__close-btn {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    display: flex;
    border-radius: 50%;
    background-color: var(--color-bg-light);
    box-shadow: var(--inner-glow),var(--shadow-sm);
    transition: 0.2s;
    flex-shrink: 0
}

.sidebar__close-btn .icon {
    display: block;
    margin: auto
}

.sidebar__close-btn:hover {
    background-color: var(--color-bg-lighter);
    box-shadow: var(--inner-glow),var(--shadow-md)
}

/* desktop version only (--static) 👇 */
.sidebar--static {
    flex-shrink: 0;
    flex-grow: 1
}

.sidebar--static .sidebar__header {
    display: none
}

.sidebar--sticky-on-desktop {
    position: sticky;
    top: var(--space-sm);
    max-height: calc(100vh - var(--space-sm));
    overflow: auto;
    -webkit-overflow-scrolling: touch
}

/* end desktop version */
.sidebar,.sidebar-loaded\:show {
    opacity: 0/* hide sidebar - or other elements using the .sidebar-loaded:show class - while it is initialized in JS */
}

.sidebar--loaded {
    opacity: 1
}

/* detect when the sidebar needs to switch from the mobile layout to a static one - used in JS */
[class*=sidebar--static]::before {
    display: none
}

.sidebar--static::before {
    content: "static"
}

.sidebar--static\@xs::before {
    content: "mobile"
}

@media (min-width: 32rem) {
    .sidebar--static\@xs::before {
        content:"static"
    }
}

.sidebar--static\@sm::before {
    content: "mobile"
}

@media (min-width: 48rem) {
    .sidebar--static\@sm::before {
        content:"static"
    }
}

.sidebar--static\@md::before {
    content: "mobile"
}

@media (min-width: 64rem) {
    .sidebar--static\@md::before {
        content:"static"
    }
}

.sidebar--static\@lg::before {
    content: "mobile"
}

@media (min-width: 80rem) {
    .sidebar--static\@lg::before {
        content:"static"
    }
}

.sidebar--static\@xl::before {
    content: "mobile"
}

@media (min-width: 90rem) {
    .sidebar--static\@xl::before {
        content:"static"
    }
}

/* -------------------------------- 

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;
    transform-origin: 50% 50%
}

.accordion__icon-arrow .icon__group > * {
    transform-origin: 10px 14px
}

.accordion__icon-arrow-v2 .icon__group > * {
    transform-origin: 50% 50%;
    stroke-dasharray: 20;
    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 {
    transform: rotate(-90deg)
}

.accordion__icon-plus .icon__group > * {
    transform-origin: 50% 50%
}

.accordion__icon-plus .icon__group > *:first-child {
    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 {
    transform: translateY(-8px) rotate(-90deg)
}

.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group > *:last-child {
    transform: translateY(-8px) rotate(90deg)
}

.accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group {
    /* animated arrow icon v2 */
    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;
    transform: translateY(0px)
}

.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group {
    /* animated plus icon */
    transform: rotate(0)
}

.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group > *:first-child {
    transform: rotate(0)
}

.accordion__panel {
    display: none;
    will-change: height;
    transform: translateZ(0px)
}

.accordion__item--is-open > .accordion__panel {
    display: block
}

/* animations */
.accordion[data-animation=on] .accordion__item--is-open .accordion__panel > * {
    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: 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: transform 0.3s,stroke-dashoffset 0.3s;
    transition-timing-function: var(--ease-out)
}

@keyframes accordion-entry-animation {
    from {
        opacity: 0;
        transform: translateY(-10px)
    }

    to {
        opacity: 1;
        transform: translateY(0px)
    }
}

/* -------------------------------- 

File#: _1_search-input
Title: Search input
Descr: Search input field with custom button
Usage: codyhouse.co/license

-------------------------------- */
:root {
    --search-input-btn-width: 2.2em;
    --search-input-icon-size: 1em;
    --search-input-shortcut-margin: 0.325em/* gap between the shortcut badge and the input edges */
}

.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
}

/* -------------------------------- 

File#: _1_custom-select
Title: Custom Select
Descr: Custom Select Control
Usage: codyhouse.co/license

-------------------------------- */
:root {
    /* --default variation only 👇 */
    --select-icon-size: 16px;
    --select-icon-right-margin: var(--space-sm);
    /* icon margin right */
    --select-text-icon-gap: var(--space-3xs)/* gap between text and icon */
}

.select {
    position: relative
}

.select__input {
    width: 100%;
    height: 100%;
    padding-right: calc(var(--select-icon-size) + var(--select-icon-right-margin) + var(--select-text-icon-gap)) !important;
    -webkit-user-select: none;
    user-select: none
}

.select__icon {
    width: var(--select-icon-size);
    height: var(--select-icon-size);
    pointer-events: none;
    position: absolute;
    right: var(--select-icon-right-margin);
    top: 50%;
    transform: translateY(-50%)
}

/* --custom-dropdown */
:root {
    --select-dropdown-gap: 4px/* distance between select control and custom dropdown */
}

.select__button {
    /* created in JS - custom select control */
    width: 100%
}

.select__button[aria-expanded=true] {
    /* custom select control if dropdown = visible */
}

.select__dropdown {
    /* created in JS - custom select dropdown */
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 200px;
    max-height: 1px;
    /* updated in JS */
    background-color: var(--color-bg-light);
    box-shadow: var(--inner-glow),var(--shadow-md);
    padding: var(--space-3xs) 0;
    border-radius: var(--radius-md);
    z-index: var(--z-index-popover, 5);
    margin-top: var(--select-dropdown-gap);
    margin-bottom: var(--select-dropdown-gap);
    overflow: auto;
    font-size: 1rem;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 0.2s,opacity 0.2s
}

.select__dropdown--right {
    /* change dropdown position based on the available space */
    right: 0;
    left: auto
}

.select__dropdown--up {
    bottom: 100%;
    top: auto
}

.select__button[aria-expanded=true] + .select__dropdown {
    visibility: visible;
    opacity: 1;
    transition: visibility 0s,opacity 0.2s
}

/* custom <optgroup> list - include all <option>s if no <optgroup> available  */
.select__list {
    list-style: none !important;
    padding: 0px;
}

.select__list:not(:first-of-type) {
    padding-top: var(--space-2xs)
}

.select__list:not(:last-of-type) {
    border-bottom: 1px solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.1);
    padding-bottom: var(--space-2xs)
}

.select__item {
    /* single item inside .select__list */
    display: flex;
    align-items: center;
    padding: var(--space-2xs) var(--space-sm);
    color: var(--color-contrast-high);
    width: 100%;
    text-align: left;
    /* truncate text */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.select__item--optgroup {
    /* custom <optgroup> label */
    font-size: 0.8125rem;
    color: var(--color-contrast-medium)
}

.select__item--option {
    /* custom <option> label */
    cursor: pointer;
    transition: 0.2s
}

.select__item--option:hover {
    background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075)
}

.select__item--option:focus {
    outline: none;
    background-color: hsl(0deg 0% 93.73%);
}

.select__item--option[aria-selected=true] {
    /* selected option */
    background-color: hsl(174.1deg 62.89% 19.02%);
    color: var(--color-white);
    position: relative
}

.select__item--option[aria-selected=true]::after {
    /* check icon next to the selected language */
    content: "";
    display: block;
    height: 1em;
    width: 1em;
    margin-left: auto;
    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__item--option[aria-selected=true]:focus {
    box-shadow: inset 0 0 0 2px hsl(174.1deg 62.89% 19.02%);
}

.select__item--option[disabled] {
    opacity: 0.5;
    cursor: not-allowed
}

/* -------------------------------- 

File#: _1_radios-checkboxes
Title: Radios and Checkboxes
Descr: Custom radio and checkbox buttons
Usage: codyhouse.co/license

-------------------------------- */
:root {
    /* radios + checkboxes */
    --checkbox-radio-size: 18px;
    --checkbox-radio-gap: var(--space-2xs);
    /* gap between button and label */
    --checkbox-radio-border-width: 1px;
    --checkbox-radio-line-height: 1.4;
    /* radios */
    --radio-marker-size: 8px;
    /* checkboxes */
    --checkbox-marker-size: 12px;
    --checkbox-radius: 4px
}

/* hide native buttons */
.radio,.checkbox {
    position: absolute;
    padding: 0;
    margin: 0;
    margin-top: calc((1em * var(--checkbox-radio-line-height) - var(--checkbox-radio-size)) / 2);
    opacity: 0;
    height: var(--checkbox-radio-size);
    width: var(--checkbox-radio-size);
    pointer-events: none
}

/* label */
.radio + label,.checkbox + label {
    display: inline-block;
    line-height: var(--checkbox-radio-line-height);
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    padding-left: calc(var(--checkbox-radio-size) + var(--checkbox-radio-gap))
}

/* custom inputs - basic style */
.radio + label::before,.checkbox + label::before {
    content: "";
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    top: -0.1em;
    margin-left: calc(-1 * (var(--checkbox-radio-size) + var(--checkbox-radio-gap)));
    flex-shrink: 0;
    width: var(--checkbox-radio-size);
    height: var(--checkbox-radio-size);
    background-color: var(--color-bg);
    border-width: var(--checkbox-radio-border-width);
    border-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 0.65);
    border-style: solid;
    box-shadow: var(--shadow-xs);
    background-repeat: no-repeat;
    background-position: center;
    margin-right: var(--checkbox-radio-gap);
    transition: transform 0.2s,border 0.2s
}

/* :hover */
.radio:not(:checked):not(:focus) + label:hover::before,.checkbox:not(:checked):not(:focus) + label:hover::before {
    border-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 1)
}

/* radio only style */
.radio + label::before {
    border-radius: 50%
}

/* checkbox only style */
.checkbox + label::before {
    border-radius: var(--checkbox-radius)
}

/* :checked */
.radio:checked + label::before,.checkbox:checked + label::before {
    background-color: #124f49;
    box-shadow: var(--shadow-xs);
    border-color: #124f49;
    transition: transform 0.2s
}

/* :active */
.radio:active + label::before,.checkbox:active + label::before {
    transform: scale(0.8);
    transition: transform 0.2s
}

/* :checked:active */
.radio:checked:active + label::before,.checkbox:checked:active + label::before {
    transform: none;
    transition: none
}

/* radio button icon */
.radio:checked + label::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' fill='%23ffffff'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23ffffff'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
    background-size: var(--radio-marker-size)
}

/* checkbox button icon */
.checkbox:checked + label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpolyline points='1 6.5 4 9.5 11 2.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
    background-size: var(--checkbox-marker-size)
}

/* :focus */
.radio:checked:active + label::before,.checkbox:checked:active + label::before,.radio:focus + label::before,.checkbox:focus + label::before {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2)
}

/* --radio--bg, --checkbox--bg -> variation with background color */
.radio--bg + label,.checkbox--bg + label {
    padding: var(--space-4xs) var(--space-3xs);
    padding-left: calc(var(--checkbox-radio-size) + var(--checkbox-radio-gap) + var(--space-3xs));
    border-radius: var(--radius-md);
    transition: background 0.2s
}

.radio--bg + label:hover,.checkbox--bg + label:hover {
    background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075)
}

.radio--bg:active + label,.checkbox--bg:active + label,.radio--bg:focus + label,.checkbox--bg:focus + label {
    background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1)
}

/* -------------------------------- 

File#: _1_slider
Title: Slider
Descr: Slider element for choosing numbers between a min and a max value
Usage: codyhouse.co/license

-------------------------------- */
:root {
    --slider-width: 200px;
    --slider-track-height: 8px;
    --slide-thumb-size: 20px
}

.slider {
    position: relative;
    width: var(--slider-width)
}

.slider__range {
    width: 100%;
    --slider-fill-value: 0%;
    --slider-empty-value: 100%
}

.slider__input {
    display: block;
    -webkit-appearance: none;
    width: 100%;
    background: transparent
}

.slider__input:focus {
    outline: none
}

.slider__input::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: var(--slide-thumb-size);
    height: var(--slide-thumb-size);
    border-radius: 50%;
    border: none;
    background-color: var(--color-white);
    box-shadow: var(--shadow-xs),var(--shadow-sm);
    cursor: grab;
    margin-top: calc((var(--slider-track-height) - var(--slide-thumb-size)) * 0.5)
}

.slider__input:active::-webkit-slider-thumb {
    cursor: grabbing
}

.slider__input::-moz-range-thumb {
    width: var(--slide-thumb-size);
    height: var(--slide-thumb-size);
    border-radius: 50%;
    border: none;
    background-color: var(--color-white);
    box-shadow: var(--shadow-xs),var(--shadow-sm);
    cursor: grab
}

.slider__input:active::-moz-range-thumb {
    cursor: grabbing
}

.slider__input:active::-ms-thumb {
    cursor: grabbing
}

.slider__input:focus::-webkit-slider-thumb {
    box-shadow: var(--shadow-xs),var(--shadow-sm),0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2),var(--shadow-md)
}

.slider__input:focus::-moz-range-thumb {
    box-shadow: var(--shadow-xs),var(--shadow-sm),0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2),var(--shadow-md)
}

.slider__input::-webkit-slider-runnable-track {
    height: var(--slider-track-height);
    border-radius: 50em;
    background-image: linear-gradient(to right, var(--color-primary) var(--slider-fill-value), var(--color-contrast-lower) var(--slider-fill-value), var(--color-contrast-lower) var(--slider-empty-value));
    margin-top: calc((var(--slide-thumb-size) - var(--slider-track-height)) * 0.5)
}

.slider__input::-moz-range-track {
    height: var(--slider-track-height);
    border-radius: 50em;
    background-image: linear-gradient(to right, var(--color-primary) var(--slider-fill-value), var(--color-contrast-lower) var(--slider-fill-value), var(--color-contrast-lower) var(--slider-empty-value))
}

.slider__input::-moz-focus-outer {
    border: 0
}

.slider__input::-ms-tooltip {
    display: none
}

.slider__input::-ms-thumb {
    width: var(--slide-thumb-size);
    height: var(--slide-thumb-size);
    border-radius: 50%;
    border: none;
    background-color: var(--color-white);
    box-shadow: var(--shadow-xs),var(--shadow-sm);
    cursor: grab;
    transform: translateY(0);
    background-color: white !important;
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.1);
    height: 20px;
    width: 20px
}

.slider__input:focus::-ms-thumb {
    box-shadow: inset 0 0 0 2px hsla(220deg, 90%, 56%, 0.2)
}

.slider__input::-ms-track {
    height: var(--slider-track-height);
    border-radius: 50em;
    background-image: linear-gradient(to right, var(--color-primary) var(--slider-fill-value), var(--color-contrast-lower) var(--slider-fill-value), var(--color-contrast-lower) var(--slider-empty-value));
    background-color: hsl(240deg, 1%, 60%);
    color: transparent;
    height: 8px
}

.slider--floating-value .slider__value {
    position: absolute;
    top: calc(0px - var(--space-md));
    left: var(--slide-thumb-size);
    transform: translateX(-50%);
    font-size: var(--text-sm)
}

.slider--range-not-supported .slider__value {
    display: none
}

/* -------------------------------- 

File#: _2_slider-multi-value
Title: Multi Value Slider
Descr: Slider element for choosing a minimum and maximum value in a specified range
Usage: codyhouse.co/license

-------------------------------- */
.slider--multi-value {
    position: relative
}

.slider--multi-value .slider__range {
    pointer-events: none
}

.slider--multi-value .slider__range:nth-of-type(1) {
    --slider-fill-value-start: 0%;
    --slider-fill-value-end: 100%
}

.slider--multi-value .slider__range:nth-of-type(2) {
    position: absolute;
    top: 0;
    left: 0
}

.slider--multi-value .slider__input::-webkit-slider-thumb {
    position: relative;
    z-index: 2;
    pointer-events: auto
}

.slider--multi-value .slider__input::-moz-range-thumb {
    position: relative;
    z-index: 2;
    pointer-events: auto
}

.slider--multi-value .slider__input::-webkit-slider-runnable-track {
    pointer-events: none;
    background-image: linear-gradient(to right, var(--color-contrast-lower) var(--slider-fill-value-start), var(--color-primary) var(--slider-fill-value-start), var(--color-primary) var(--slider-fill-value-end), var(--color-contrast-lower) var(--slider-fill-value-end))
}

.slider--multi-value .slider__input::-moz-range-track {
    pointer-events: none;
    background-image: linear-gradient(to right, var(--color-contrast-lower) var(--slider-fill-value-start), var(--color-primary) var(--slider-fill-value-start), var(--color-primary) var(--slider-fill-value-end), var(--color-contrast-lower) var(--slider-fill-value-end))
}

.slider--multi-value .slider__range:nth-of-type(2) .slider__input::-moz-range-track {
    background-image: none
}

:not(*)::-ms-track,.slider--multi-value.slider--ms-fallback {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

:not(*)::-ms-track,.slider--multi-value.slider--ms-fallback .slider__range {
    pointer-events: auto;
    width: 48%
}

:not(*)::-ms-track,.slider--multi-value.slider--ms-fallback .slider__range:nth-of-type(2) {
    position: relative
}

.slider__separator {
    margin: auto var(--space-xs)
}

.slider--multi-value.slider--range-not-supported .slider__range {
    display: inline-block;
    width: 45%
}

.slider--multi-value.slider--range-not-supported .slider__range:nth-of-type(2) {
    position: relative
}

.slider--range-not-supported .slider__separator {
    display: none
}

/* -------------------------------- 

File#: _1_number-input
Title: Number input
Descr: Number input field with custom increment buttons
Usage: codyhouse.co/license

-------------------------------- */
.number-input__btn {
    display: none
}

.number-input .form-control::-webkit-inner-spin-button,.number-input .form-control::-webkit-outer-spin-button {
    display: none
}

.number-input .form-control {
    -moz-appearance: textfield;
    display: block
}

.number-input__btn {
    display: flex;
    background: var(--color-contrast-lower)
}

.number-input__btn:hover {
    background-color: var(--color-contrast-low)
}

.number-input__btn:focus {
    outline: none;
    background-color: #124f49;
}

.number-input__btn:focus .icon {
    color: var(--color-white)
}

.number-input__btn:active {
    background-color: #124f49;
    color: #fff;
}

.number-input__btn .icon {
    --size: var(--number-input-icon-size, 12px);
    display: block;
    margin: auto
}

.number-input--v1 {
    --number-input-btn-width: 1.75em;
    --number-input-btn-gap: 4px;
    --number-input-btn-input-gap: var(--space-3xs);
    --number-input-icon-size: 8px;
    position: relative
}

.number-input--v1 .form-control {
    padding-right: calc(var(--number-input-btn-width) + var(--number-input-btn-input-gap) * 2);
    width: 100%;
    height: 100%
}

.number-input--v1 .number-input__btns {
    position: absolute;
    top: var(--number-input-btn-input-gap);
    right: var(--number-input-btn-input-gap);
    width: var(--number-input-btn-width);
    height: calc(100% - var(--number-input-btn-input-gap) * 2)
}

.number-input--v1 .number-input__btn {
    position: absolute;
    width: 100%;
    height: calc(50% - var(--number-input-btn-gap) / 2);
    border-radius: var(--radius-sm)
}

.number-input--v1 .number-input__btn.number-input__btn--plus {
    top: 0
}

.number-input--v1 .number-input__btn.number-input__btn--minus {
    bottom: 0
}

.number-input--v2 {
    --number-input-btn-width: 1.6em;
    --number-input-btn-input-gap: var(--space-3xs);
    --number-input-icon-size: 12px;
    display: flex;
    align-items: center
}

.number-input--v2 .form-control {
    margin: 0 var(--number-input-btn-input-gap);
    order: 1;
    flex-grow: 1;
    text-align: center
}

.number-input--v2 .number-input__btn {
    width: var(--number-input-btn-width);
    height: var(--number-input-btn-width);
    border-radius: 50%;
    flex-shrink: 0
}

.number-input--v2 .number-input__btn--plus {
    order: 2
}

/* -------------------------------- 

File#: _1_read-more
Title: Read More
Descr: A truncated paragraph with the option of reading more content
Usage: codyhouse.co/license

-------------------------------- */
.read-more {
    opacity: 0
}

.read-more--loaded {
    opacity: 1
}

.read-more__btn {
    cursor: pointer;
    color: var(--color-primary);
    text-decoration: underline
}

/* -------------------------------- 

File#: _3_advanced-filter
Title: Advanced Filter
Descr: A filter panel template
Usage: codyhouse.co/license

-------------------------------- */
.adv-filter .sidebar--static {
    /* static variation -> sidebar is always visible (optimized for bigger screens) */
    width: 320px;
    flex-grow: 0
}

.adv-filter .accordion {
    --accordion-icon-size: 16px;
    --accordion-icon-stroke-width: 2.5/* arrow icon stroke width */
}

.adv-filter .slider {
    --slider-width: 80%
}

@media (min-width: 64rem) {
    .adv-filter__checkbox-list,.adv-filter__radio-list {
        font-size:var(--text-sm);
        --checkbox-radio-size: 1.25em;
        --checkbox-radio-translate-y: 0.25em/* edit to align buttons with labels */
    }
}
