.length-slider {
    padding: 1rem 0
}

.length-slider .length-slider-layout {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

@media (max-width: 768px) {
    .length-slider .length-slider-layout {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.length-slider .graphic {
    width: 50%;
    padding: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media (max-width: 768px) {
    .length-slider .graphic {
        width: 100%;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.length-slider .graphic .vector {
    width: 60%
}

@media (max-width: 768px) {
    .length-slider .graphic .vector {
        width: 15rem
    }
}

.length-slider .graphic .vector svg {
    display: block;
    width: 100%;
    height: 100%
}

.length-slider .graphic .vector path[class^="length"] {
    fill: none;
    stroke-linecap: round;
    stroke-width: 3px;
    stroke-dasharray: 3 6;
    fill-rule: evenodd;
    stroke: #bdc3c7
}

.length-slider .graphic .vector path[class^="length"]._selected {
    -webkit-animation: dash 80s linear forwards;
    animation: dash 80s linear forwards;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    stroke: #4C7FA6
}

@-webkit-keyframes dash {
    to {
        stroke-dashoffset: 1000
    }
}

@keyframes dash {
    to {
        stroke-dashoffset: 1000
    }
}

.length-slider .sizes {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 40%
}

@media (max-width: 768px) {
    .length-slider .sizes {
        width: 15rem
    }
}

.length-slider .sizes .size {
    width: 100%
}

.length-slider .sizes .size .line {
    width: 6rem;
    height: 0.1rem;
    background: #f3f6f8;
    margin-right: 0.25rem
}

.length-slider .sizes .size span {
    font-size: 0.9rem;
    color: #676767;
    display: block;
    line-height: 1;
    font-weight: 600
}

@media (max-width: 565px) {
    .length-slider .sizes .size span {
        font-size: 1rem
    }
}

.length-slider .sizes .size._16 {
    margin-top: 5.5rem
}

.length-slider .sizes .size._17 {
    margin-top: 0.3rem
}

.length-slider .sizes .size._24 {
    margin-top: 0.5rem
}

@media (max-width: 565px) {
    .length-slider .sizes .size._24 {
        margin-top: 0rem
    }
}

.length-slider .sizes .size._36 {
    margin-top: 4.5rem
}

@media (max-width: 565px) {
    .length-slider .sizes .size._36 {
        margin-top: 0 !important
    }
}

@media (max-width: 768px) {
    .length-slider .sizes .size._36 {
        margin-top: 2.5rem
    }
}

@media (min-width: 769px) and (max-width: 1023px) {
    .length-slider .sizes .size._36 {
        margin-top: 0.5rem
    }
}

.length-slider .sizes .size._51 {
    margin-top: 2.5rem
}

@media (max-width: 565px) {
    .length-slider .sizes .size._51 {
        margin-top: 0
    }
}

@media (min-width: 769px) and (max-width: 1023px) {
    .length-slider .sizes .size._51 {
        margin-top: 1.5rem
    }
}

.length-slider .sizes .size._selected .line {
    background: #4C7FA6
}

.length-slider .sizes .size._selected span {
    color: #4C7FA6
}

.length-slider #necklace-length-slider {
    width: 50%;
    padding: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 2rem
}

@media (max-width: 768px) {
    .length-slider #necklace-length-slider {
        width: 100%
    }
}

.length-slider #necklace-length-slider .slider-title {
    text-align: center;
    margin: 1rem auto;
    padding-bottom: 1rem
}

.length-slider #necklace-length-slider .slider-title h2 {
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    margin: 0
}

.length-slider #necklace-length-slider .slider-title h2._updating {
    opacity: 0
}

.length-slider #necklace-length-slider .slider-title h2._updated {
    opacity: 1
}

.length-slider #necklace-length-slider .slider {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    background: #e6e6e6;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.3)
}

.length-slider #necklace-length-slider .slider .slider-bar {
    display: block;
    margin: auto;
    max-width: 90%
}

@media (max-width: 565px) {
    .length-slider #necklace-length-slider .slider {
        max-width: 100%
    }
}

.length-slider #necklace-length-slider .options {
    max-width: 90%;
    margin: auto
}

.length-slider #necklace-length-slider .options .layout {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

.length-slider #necklace-length-slider .options .option {
    position: relative;
    padding: 0 0.25rem;
    cursor: pointer
}

.length-slider #necklace-length-slider .options .option .label {
    text-align: center;
    margin-top: 1rem;
    z-index: -1
}

@media (max-width: 565px) {
    .length-slider #necklace-length-slider .options .option .label {
        margin-top: 2rem
    }
}

.length-slider #necklace-length-slider .options .option .label span {
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    display: block
}

@media (max-width: 565px) {
    .length-slider #necklace-length-slider .options .option .label span {
        font-size: 1rem
    }
}

@media (max-width: 565px) {
    .length-slider #necklace-length-slider .options .option .label ._hidden-mobile {
        display: none
    }
}

.length-slider #necklace-length-slider .options .option._active .label span {
    color: #4C7FA6
}

.length-slider #necklace-length-slider .slider-description {
    display: block;
    text-align: center;
    max-width: 100%;
    margin: 1rem auto
}

.length-slider #necklace-length-slider .slider-description p {
    font-size: 0.75rem
}

@media (max-width: 565px) {
    .length-slider #necklace-length-slider .slider-description p {
        font-size: 1rem
    }
}

.length-slider #necklace-length-slider .slider-description p._updating {
    opacity: 0
}

.length-slider #necklace-length-slider .slider-description p._updated {
    opacity: 1
}

.necklace-length-hero {
    position: relative;
    width: 100%;
    height: 17.5rem
}

.necklace-length-hero .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: 50% 100%
}

@media (max-width: 565px) {
    .necklace-length-hero .hero-bg {
        background-position: center center
    }
}

.necklace-length-hero .layout {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.necklace-length-hero .hero-content {
    width: 50%;
    text-align: center
}

@media (max-width: 565px) {
    .necklace-length-hero .hero-content {
        width: 100%;
        -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
        align-self: flex-end
    }
}

.necklace-length-hero .hero-content .headline h1 {
    text-transform: uppercase;
    font-size: 2.4rem;
    margin: 0;
    letter-spacing: 0.1rem;
    color: #545050
}

@media (max-width: 565px) {
    .necklace-length-hero .hero-content .headline h1 {
        font-size: 2rem
    }
}

.necklace-length-hero .hero-content .description {
    display: block;
    max-width: 20rem;
    margin: 0 auto
}

@media (max-width: 565px) {
    .necklace-length-hero .hero-content .description {
        margin-bottom: 2rem
    }
}

.necklace-length-hero .hero-content .description p {
    font-size: 0.7rem;
    padding: 0 0.15rem;
    margin: 0.25rem auto;
    color: #545050
}

@media (max-width: 565px) {
    .necklace-length-hero .hero-content .description p {
        font-size: 1rem
    }
}

.necklace-length-hero .hero-content .cta {
    margin: 1rem auto
}

@media (max-width: 565px) {
    .necklace-length-hero .hero-content .cta {
        margin-bottom: 2rem
    }
}

.radios-to-slider {
    background-color: none;
    border: 1px solid #4C7FA6;
    display: block;
    position: relative;
    margin-bottom: 2rem;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

.radios-to-slider.medium {
    position: relative;
    height: 0.15rem;
    -webkit-border-radius: 2rem;
    border-radius: 2rem;
    padding: 0.15rem 0;
    padding-right: 1rem
}

.radios-to-slider .slider-level {
    background-color: #fff;
    cursor: pointer;
    position: absolute;
    display: block
}

.radios-to-slider .slider-level.slider-lower-level {
    opacity: 0.2
}

.radios-to-slider.medium .slider-level {
    width: 2rem;
    margin: auto;
    height: 100%;
    background: none;
    z-index: 2
}

.radios-to-slider.medium .slider-level:after {
    margin-top: 0.25rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    content: "";
    width: 0.25rem;
    height: 0.25rem;
    background: #4C7FA6;
    z-index: -1;
    position: absolute;
    margin-left: 1rem
}

.slider-label {
    position: absolute;
    display: block;
    cursor: pointer;
    color: #5e5e5e;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 600
}

@media (max-width: 565px) {
    .slider-label {
        font-size: 1rem
    }
}

.slider-label-active {
    font-weight: 700;
    color: #4C7FA6
}

.radios-to-slider.medium .slider-label {
    top: 1rem;
    width: 3rem
}

@media (max-width: 768px) {
    .radios-to-slider.medium .slider-label {
        width: 4rem
    }
}

.radios-to-slider .slider-bar {
    background-color: none;
    float: left;
    height: 100%;
    width: 0;
    pointer-events: none;
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    min-width: 32px !important
}

.slider-bar.transition-enabled {
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s
}

.radios-to-slider.medium .slider-bar {
    -webkit-border-radius: 2rem;
    border-radius: 2rem
}

.slider-knob {
    float: right;
    background-color: #4C7FA6
}

.radios-to-slider.medium .slider-knob {
    width: 1rem;
    height: 1rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-top: -0.25rem;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23)
}
