/** Shopify CDN: Minification failed

Line 121:0 Unexpected "{"
Line 336:4 Expected identifier but found "/"
Line 533:4 Expected identifier but found "!"
Line 2298:4 Expected identifier but found "!"
Line 2302:4 Expected identifier but found "!"
Line 6809:8 Expected identifier but found "!"
Line 7400:0 "@charset" must be the first rule in the file
Line 8915:4 Expected identifier but found "*"
Line 9025:4 Expected identifier but found "*"

**/
/* utopiaagriculture */

@charset "UTF-8";

.cheesewonder_main {
    font-family: heebo, "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif !important;
}

.cheesewonder_main {
    color: rgb(0, 59, 84) !important;
}

html,
body {
    margin: 0px;
    padding: 0px;
}

.layouts-wrap {
    position: relative;
    padding-top: 120px;
}

.cheesewonder_main a,
.cheesewonder_main a:hover,
.cheesewonder_main a:visited {
    text-decoration: none !important;
}


@media (min-width: 721px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }
}

@media (max-width: 720px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

.dark_green {
    background-color: #153944;
}


.pulldown-li {
    border-bottom: 1px solid #003b54;
}

.pulldown-header {
    margin-top: 0px !important;
    padding: 1.5em 0 !important;
}

.pulldown-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    margin-top: 0px !important;
    padding: 0px !important;
}

.editor ul.pulldown-ul .pulldown-li::before {
    top: 2em;
}

.editor ul li::before {
    content: "";
    width: 8px;
    height: 8px;
    display: block;
    position: absolute;
    left: 0;
    top: calc(1em - 4px);
    background-color: #003b54;
    border-radius: 100%;
}

#email {
    width: 80%;
    max-width: 400px;
    margin-bottom: 20px;
}


.js-subscribe {
    background-color: var(--color-text) !important;
    justify-content: center;
    align-items: center;
    padding: .2em 2em 0 2em !important;
    height: 4.5em;
    border-radius: 100px !important;
    color: white;
    width: 100px;
    margin-left: 20px;
}

.js-subscribe:hover,
{
opacity: 0.6;
cursor: pointer;
}

.subscribeText {
    margin-top: 10px;
    text-align: left;
    width: 80%;
    margin-left: 15%;
}

.subscribeText li {
    list-style: initial !important;

}

.subscribeText li a {
    text-decoration: initial !important;
}


h1 {
    font-size: 3.5vw !important;
    margin-top: 10px;
}

h2 {
    margin-bottom: 20px !important;
}

.detailContents * * img {
    max-width: 720px;
    width: 100%;
    display: inline-block;
}

.detailContents {
    text-align: center;
    margin: 30px 0px;
}

.detailContents p,
.detailContents h3 {
    text-align: left;
}

.detailContents dl,
.registerArea {
    margin: 20px auto 40px;
    max-width: 800px;
    padding: 40px;
    background-color: #fff;
    box-shadow: 0 2px 16px rgba(105, 105, 105, .15);

}

.detailContents p {
    margin-top: 10px;
}

.product-name {
    width: 90%;
    margin: 0px 5%;
}



.detailContents dl dt {
    margin: 0px 0px 40px 0px !important;
}

@media (max-width: 720px) {

    .detailContents dl,
    .registerArea {
        width: 90%;
        margin: 0px 5%;
    }

    .detailContents dl,
    .registerArea {
        padding: 20px;
    }

    .message {
        margin-bottom: 10px;
    }

    .js-subscribe {
        width: 90%;
        max-width: 400px;
        margin-left: 0px;
    }

    #email {
        width: 90%;
    }

    .subscribeText {
        margin-top: 15px;
        text-align: left;
        width: 90%;
        margin-left: 8%;
    }

    .js-subscribe {
        padding: 10px !important;
        height: 45px !important;
    }

    input[type="email"] {
        height: 45px !important;
    }
}

@media (min-width: 721px) {
    .mailContents h1 {
        font-size: 36px !important;
    }


}

@media (min-width: 720px) and (max-width: 1024px) {
    .data-add-to-cart-text {
        font-size: 12px;
    }

    input[type="number"] {
        height: 2.94em !important;
    }
}

@media (max-width: 980px) {
    .btn {
        padding: .1em 1em 0 1em !important;
        height: 3.5em;
        font-size: 13.5px !important;
    }

    .data-add-to-cart-text {
        font-size: 10px;
    }

    .product-form__cart-submit {
        max-height: 3.2em !important;
        height: 3.2em !important;
        min-height: 3.2em !important;
        padding: .1em 1em 0 1em !important;
    }
}


#shopify-section-footer {
    display: none;
}

.startText, .text {
    line-height: 1.9;
}

.pulldown-title {
    margin-top: initial;
}

.pulldown-title {
    font-weight: initial;
    margin-bottom: initial;
    padding-bottom: initial;
    border-bottom: initial;
}

strong {
    font: inherit;
    font-weight: var(--font-weight-body--bolder);
}

p {
    line-height: inherit;
}

.main {
    width: 80%;
    margin: 0% 10%;
}

.col {
    float: left;
    width: 50%;
}

.pulldown-header {
    padding: 1.5em 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.editor :last-child {
    margin-bottom: 0;
}

.pulldown-body {
    display: none;
}

html {
    / -ms-overflow-style: none -webkit-text-size-adjust: 100%;
    font-size: 62.5% */
}

html ::-webkit-scrollbar {
    width: 0
}


blockquote,
body,
button,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
select,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,
img {
    border: 0
}

address,
button,
caption,
cite,
code,
dfn,
em,
input,
optgroup,
option,
select,
strong,
textarea,
th,
var {
    font: inherit
}

del,
ins {
    text-decoration: none
}

li {
    list-style: none
}

caption,
th {
    text-align: left
}

h1,

h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: 400
}

h2 {
    font-size: 100%;
}

p.label {
    font-weight: 600
}

q:after,
q:before {
    content: ""
}

abbr,
acronym {
    border: 0;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal
}

sub,
sup {
    vertical-align: baseline
}

legend {
    color: #000
}

html {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0)
}

body,
html {
    width: 100%;
    height: 100%;
    font-family: sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

* {
    padding: 0;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

main {
    display: block
}

img,
svg {
    vertical-align: bottom
}

::-webkit-input-placeholder {
    color: rgba(246, 249, 230, .3)
}

::-moz-placeholder {
    color: rgba(246, 249, 230, .3)
}

:-ms-input-placeholder {
    color: rgba(246, 249, 230, .3)
}

::-ms-input-placeholder {
    color: rgba(246, 249, 230, .3)
}

::placeholder {
    color: rgba(246, 249, 230, .3)
}

::-moz-selection {
    color: #fbf8f8;
    background-color: #024958
}

::selection {
    color: #fbf8f8;
    background-color: #024958
}


.bg-img {
    overflow: hidden
}

.bg-img,
.bg-img .img {
    width: 100%;
    height: 100%
}

.bg-img .img {
    text-indent: -9999px;
    display: block;
    background-size: cover;
    background-position: 50%;
    !opacity: 0;
    background-repeat: no-repeat
}

.bg-img.bg-color,
.mce .bg-img,
.mce .single-iframe,
.mce img {
    background-color: #194645
}

.js-wh {
    height: 100vh;
    widows: 100%
}

#js-webgl {
    position: fixed;
    top: 0;
    left: 0
}

.is-static-scroll .js-scroll-height {
    display: none
}

.is-static-scroll .window {
    position: relative
}

.window {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0
}

.body {
    width: 62.5vw;
    margin: 0 auto
}

.body-origin {
    position: relative;
    z-index: 2
}

.body.thin {
    width: 50vw
}

.in {
    position: relative;
    width: 100%;
    height: 100%
}

[data-visible="1"] .bg-img .img {
    will-change: opacity
}

.js-scroll[data-visible="1"] {
    will-change: transform
}

.bg-img .img,
.js-scroll[data-visible="0"] {
    will-change: auto
}

.page-footer[data-visible="0"] {
    visibility: hidden
}

.js-bg-scroll[data-visible="1"] {
    will-change: background-position
}

.js-bg-scroll[data-visible="0"] {
    will-change: auto
}

.clip span {
    display: block
}

.clip .o {
    overflow: hidden
}

.page-title .h1 .o {
    display: inline-block;
    margin-right: -.05em
}

.page-title .h1 .o:last-child {
    margin-right: 0
}

.page-title .h1 svg {
    width: 100%;
    height: 100%
}

.is-desktop .page-title .h1 {
    white-space: nowrap
}

.js-fade {
    opacity: 0
}

.serif.clip .o,
.serif .clip .o {
    margin-bottom: -.16em;
    margin-left: -.05em
}

.serif.clip .t,
.serif .clip .t {
    padding-bottom: .16em;
    padding-left: .05em
}

.spr {
    width: 100%;
    clear: both;
    position: relative;
    display: block;
    pointer-events: none
}

.spr[data-n="0"] {
    height: 0
}

.spr[data-n=".5"] {
    height: 2.5vh
}

.spr[data-n="1"] {
    height: 5vh
}

.spr[data-n="1.5"] {
    height: 7.5vh
}

.spr[data-n="2"] {
    height: 10vh
}

.spr[data-n="2.5"] {
    height: 12.5vh
}

.spr[data-n="3"] {
    height: 15vh
}

.spr[data-n="3.5"] {
    height: 17.5vh
}

.spr[data-n="4"] {
    height: 20vh
}

.spr[data-n="4.5"] {
    height: 22.5vh
}

.spr[data-n="5"] {
    height: 25vh
}

.spr[data-n="5.5"] {
    height: 27.5vh
}

.spr[data-n="6"] {
    height: 30vh
}

.spr[data-n="6.5"] {
    height: 32.5vh
}

.spr[data-n="7"] {
    height: 35vh
}

.spr[data-n="7.5"] {
    height: 37.5vh
}

.spr[data-n="8"] {
    height: 40vh
}

.spr[data-n="8.5"] {
    height: 42.5vh
}

.spr[data-n="9"] {
    height: 45vh
}

.spr[data-n="9.5"] {
    height: 47.5vh
}

.spr[data-n="10"] {
    height: 50vh
}

.bg-fgreen {
    background: #003233
}

.bg-fgreen,
.bg-fgreen a {
    color: #f6f9e6
}

.bg-fgreen path {
    fill: #f6f9e6
}

.bg-pgreen {
    background: #457834
}

.bg-fgreen a,
.bg-pgreen {
    color: #f6f9e6
}

.bg-pgreen path {
    fill: #f6f9e6
}

.bg-dgreen,
.bg-dgreen a,
.bg-fgreen a {
    color: #fbf8f8
}

.bg-dgreen path {
    fill: #fbf8f8
}

.bg-white .section-bg {
    background: #fbf8f8
}

.bg-white a {
    color: #003b54
}

.section-bg,
.svg-bg {
    pointer-events: none
}

[data-bg=dgreen] {
    background: #003b54
}

path.fill-white {
    fill: #fbf8f8;
    stroke: #fbf8f8
}

path.fill-dark {
    fill: rgba(0, 0, 0, .1);
    stroke: rgba(0, 0, 0, .1)
}

path.fill-dgreen {
    fill: #003b54;
    stroke: #003b54
}

path.fill-dgreen-f {
    fill: #00374f;
    stroke: #00374f
}

path.fill-green {
    fill: #359b3e;
    stroke: #359b3e
}

path.fill-pgreen {
    fill: #457834;
    stroke: #457834
}

path.fill-pgreen-f {
    fill: #3c6f3b;
    stroke: #3c6f3b
}

path.fill-fgreen {
    fill: #003233;
    stroke: #003233
}

path.fill-lbrown {
    fill: #f6f9e6;
    stroke: #f6f9e6
}

path.fill-underground {
    fill: #031619;
    stroke: #031619
}

path.fill-cookie-b {
    fill: #a9ef00;
    stroke: #a9ef00
}

path.fill-cookie-f {
    fill: #2a843e;
    stroke: #2a843e
}



.toggle .t {
    height: 3px;
    width: 16px;
    background: #003b54;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -2px 0 0 -9px
}

.toggle .t1 {
    -webkit-transform: skewY(-20deg) translateY(-6px);
    transform: skewY(-20deg) translateY(-6px)
}

.toggle .t2 {
    -webkit-transform: skewY(-20deg) translate(0);
    transform: skewY(-20deg) translate(0)
}

.toggle .t3 {
    -webkit-transform: skewY(-20deg) translateY(6px);
    transform: skewY(-20deg) translateY(6px)
}

.toggle {
    height: 4.5em;
    width: 4.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer
}

.toggle * {
    pointer-events: none
}

.toggle.toggle-close .t1,
[data-menu-open="1"] .toggle .t1 {
    -webkit-transform: skewY(40deg) translate(0) scaleY(1.2);
    transform: skewY(40deg) translate(0) scaleY(1.2)
}

.toggle.toggle-close .t2,
[data-menu-open="1"] .toggle .t2 {
    -webkit-transform: skewY(40deg) translate(0) scaleY(1.2);
    transform: skewY(40deg) translate(0) scaleY(1.2)
}

.toggle.toggle-close .t3,
[data-menu-open="1"] .toggle .t3 {
    -webkit-transform: skewY(-40deg) translate(0) scaleY(1.2);
    transform: skewY(-40deg) translate(0) scaleY(1.2)
}



.cart-icon-body,
.cart-n .bg {
    -webkit-transition: background .6s;
    transition: background .6s
}

.toggle .t {
    -webkit-transition: all .6s;
    transition: all .6s
}

.is-any[data-scroll-dir="0"] [data-part-open="1"] [data-name=products-slug] .cart-n .bg,
[data-part-open="1"] .cart-n .bg {
    background: #359b3e
}

.is-any[data-scroll-dir="0"] [data-part-open="1"] [data-name=products-slug] .cart-icon-body .i,
[data-part-open="1"] .cart-icon-body .i {
    color: #f6f9e6
}

.is-any[data-scroll-dir="0"] [data-part-open="1"] [data-name=products-slug] .cart-icon-body,
.is-any[data-scroll-dir="0"] [data-part-open="1"] [data-name=products-slug] .toggle .t,
[data-part-open="1"] .cart-icon-body,
[data-part-open="1"] .toggle .t {
    background: #003b54
}

.js-scroll-bar-wrap {
    position: fixed;
    right: 0;
    top: 0;
    height: 100%;
    width: 20px;
    z-index: 2
}

.js-scroll-bar {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    opacity: 0;
    -webkit-transition: opacity .6s;
    transition: opacity .6s;
    will-change: auto
}

.js-scroll-bar .in {
    height: 100%;
    width: 100%;
    padding: 0;
    position: relative
}

.js-scroll-bar .thumb {
    background: #003b54;
    height: calc(100% - 8px);
    position: absolute;
    top: 4px;
    right: 2px;
    width: 100%;
    -webkit-transition: all .6s;
    transition: all .6s;
    border-radius: 100px;
    width: 5px
}

.is-active-scroll .js-scroll-bar,
.is-splashed [data-scroll="1"] .js-scroll-bar {
    opacity: 1;
    cursor: pointer;
    will-change: transform
}

.is-active-scroll * {
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none
}

@-moz-document url-prefix() {
    .js-scroll-bar-wrap {
        display: none
    }
}

.page-footer-logo {
    display: block;
    width: 12.5vw
}

.page-footer-t {
    opacity: .3
}

.has-support-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline
}

.has-support-title .support {
    padding-left: 1em
}

.sns,
.sns-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.sns-icons {
    padding-left: 1.29em
}

.sns-icons a {
    display: block;
    width: 2.58em;
    height: 2.58em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}


.address {
    height: 100%;
    width: 100%;
    padding-right: 7vh;
    padding-left: 3.5vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.address small,
.ui-arrow {
    opacity: .3
}

.ui-arrow {
    cursor: pointer;
    width: 10vh;
    height: 10vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.page-footer-bg {
    height: 100px;
    width: 100%;
    position: absolute;
    bottom: -1px;
    left: 0
}

.subscribe {
    position: relative;
    margin-top: 1em
}

.password input,
.subscribe input {
    width: 100%;
    border: 1px solid #003233;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    background: #194645;
    height: 3.94em;
    padding: 0 1em;
    color: #f6f9e6;
    border-radius: 5px;
    -webkit-transition: border .3s;
    transition: border .3s
}

.password input:focus,
.subscribe input:focus {
    border: 1px solid hsla(0, 0%, 100%, .1)
}

.subscribe-enable {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(-.68em, -50%);
    transform: translate(-.68em, -50%);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    width: 2.58em;
    height: 2.58em;
    cursor: pointer;
    background: #003233;
    color: #f6f9e6;
    z-index: 2;
    overflow: hidden;
    border-radius: 1.29em;
    -webkit-transition: width .6s cubic-bezier(.32, .94, .6, 1);
    transition: width .6s cubic-bezier(.32, .94, .6, 1)
}

.subscribe-button-body {
    width: 2.58em;
    height: 2.58em;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    right: 0;
    top: 0
}

.subscribe-button-body,
.subscribe-button-body .i {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.subscribe-button-body .i {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #003233;
    border-radius: 1.29em;
    width: 100%;
    height: 100%
}

.subscribe-button-body .t {
    padding-right: 1em;
    padding-top: .1em
}

.subscribe-output {
    position: absolute;
    pointer-events: none;
    width: 100%;
    z-index: 1;
    opacity: 0;
    background: #003233;
    padding-top: .5em;
    padding-bottom: .5em;
    padding-right: 3.94em;
    min-height: 3.94em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    top: 0;
    line-height: 1.3
}

.subscribe-output span {
    padding-right: .25em
}

.subscribe-button-body .i-spinner {
    position: absolute;
    left: 0;
    top: 0;
    background: #003233;
    border-radius: 1.29em;
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-animation: anim_rotate 1s linear infinite forwards;
    animation: anim_rotate 1s linear infinite forwards
}

.is-subscribe-disebled .subscribe-output {
    pointer-events: auto
}

.is-subscribe-disebled .subscribe button,
.is-subscribe-disebled .subscribe input {
    pointer-events: none
}

.button-path .button-body {
    background: #003b54;
    border-radius: 100px
}

.password-wrap {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.password-window {
    background-image: url(/assets/img/noscript/home.png);
    background-size: cover;
    background-position: 50%
}

.form-label-wrap {
    position: relative
}

.form-label {
    margin-bottom: .5em;
    font-weight: 500
}

.password {
    width: 20em
}

.form-submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.form-submit input {
    border-radius: 5px 0 0 5px;
    width: calc(100% - 5em)
}

.form-submit button {
    font-weight: 500;
    height: 3.94em;
    border-radius: 0 5px 5px 0;
    width: 5em;
    cursor: pointer;
    border: 1px solid #003233;
    border-left: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    letter-spacing: -.01em;
    background: transparent
}

[data-cursor-type=drag] .cursor[data-type=drag] {
    opacity: 1;
    -webkit-transform: scale(1) translateY(15%);
    transform: scale(1) translateY(15%)
}

[data-cursor-type=progress] .cursor[data-type=progress] {
    opacity: 1;
    -webkit-transform: scale(1) translateY(15%);
    transform: scale(1) translateY(15%)
}

.site-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 2.58em;
    height: 2.58em;
    pointer-events: none
}

.cursor,
.cursor-bg path,
.cursor-body {
    -webkit-transition: all .3s cubic-bezier(.32, .94, .6, 1);
    transition: all .3s cubic-bezier(.32, .94, .6, 1)
}

.cursor {
    -webkit-transform: scale(.6) translateY(50%);
    transform: scale(.6) translateY(50%);
    opacity: 0;
    position: absolute
}

.cursor,
.cursor-body {
    width: 100%;
    height: 100%
}

.cursor-body {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.cursor-body .i {
    width: 2em;
    text-align: center
}

.cursor-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0
}

.cursor-bg path {
    fill: none;
    stroke: #003b54;
    stroke-width: 8px
}

[data-cursor-name=product] .cursor[data-type=drag] .cursor-body {
    color: #fbf8f8
}

[data-cursor-name=product] .cursor[data-type=drag] .cursor-bg path {
    opacity: .1;
    stroke: #fbf8f8
}

.page-header-body {
    height: 100%;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.lead {
    padding-top: .5em;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.8
}

.serif.page-title .h1 {
    margin-top: 0;
    padding-top: .12em;
    padding-bottom: .12em
}

.page-title-origin {
    position: relative;
    margin-bottom: 5vh;
    padding: 0 6.25vw
}

.subpage-header .page-title-origin {
    width: calc(100% - 12.5vw)
}

.page-header .budge {
    right: 0;
    top: -120px;
    z-index: 2
}

.budge {
    width: 120px;
    height: 120px;
    position: absolute;
    border-radius: 100%
}

.budge-body,
.budge-text {
    height: 100%;
    width: 100%
}

.budge-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    z-index: 2;
    color: #000;
    text-align: center
}

.budge-text .serif {
    margin-top: .05em
}

.page-description .col-wrap {
    position: relative;
    padding-top: 5vh
}

.page-description .col {
    position: static
}

.page-description .col:first-child {
    padding-right: 3.125vw
}

.page-description .col:last-child {
    padding-left: 3.125vw
}

.page-description .editor .h2 {
    margin-top: 0
}

.budge2 {
    left: -10%;
    bottom: 5%
}

.budge3 {
    top: 7%;
    left: 3%
}

.budge4 {
    top: -11%;
    right: -13%
}

.budge4,
.budge5 {
    width: 170px;
    height: 170px;
    z-index: -1
}

.budge5 {
    top: -13%;
    left: -13%
}

.budge6 {
    width: 170px;
    height: 170px;
    bottom: -8%;
    right: -19%;
    z-index: -1
}

.budge7 {
    bottom: 3.125vw;
    right: 3.125vw
}

.budge8 {
    width: 170px;
    height: 170px;
    bottom: -13%;
    right: -13%;
    z-index: -1
}

.editor-header .budge {
    -webkit-transform: translate(-80%, -80%);
    transform: translate(-80%, -80%)
}

.page-body,
.section,
.section-wrap {
    position: relative;
    width: 100%;
    height: 100%
}

.section .body {
    position: relative;
    z-index: 2
}

.page-header .ui-arrow {
    position: absolute;
    left: 3.5vh;
    bottom: 3.5vh;
    z-index: 2;
    opacity: 1;
    color: #649193
}

.page-header .ui-arrow .i {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.ui-arrow * {
    pointer-events: none
}

.ui-arrow svg {
    width: 65%;
    height: 65%;
    opacity: .6
}

.ui-arrow svg path {
    fill: none;
    stroke: #fbf8f8
}

.page-header .ui-arrow svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.page-footer .ui-arrow svg {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 1
}

.section-bg,
.svg-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 2px);
    z-index: 0
}

.svg-bg {
    width: calc(100% + 20px);
    margin-left: -10px
}

.svg-no {
    position: relative
}

.section-bg.under-ground {
    margin-top: -6.25vw;
    height: calc(100% + 6.25vw)
}

.section-bg-clip {
    width: 56.25vw;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    overflow: hidden
}

.section-bg-clip .clip-img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.section-story .section-bg-clip {
    width: 46.875vw;
    top: auto;
    bottom: 0
}

.bg-img .img {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.svg-mask {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}

.svg-mask polygon {
    fill: #fbf8f8
}

.svg-bg {
    overflow: hidden;
    background: transparent
}

.svg-bg .bg {
    width: 100%;
    height: 100%;
    margin-top: -1px
}

.svg-bg.bg-dgreen .bg {
    background-color: #003b54
}

.svg-bg.bg-pgreen .bg {
    background-color: #457834
}

.svg-bg.bg-white .bg {
    background-color: #fbf8f8
}

.editor-body .thin {
    width: 25vw;
    padding-right: 2em
}

.under-ground-bg {
    width: 100%;
    height: 50vh;
    background: #031417
}

.under-ground .img {
    background-position: top;
    background-size: cover;
    background-repeat: no-repeat
}

.under-ground .bg-img {
    width: 100%;
    height: 100%
}

.col-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.col-wrap[data-col="1"] {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.col-wrap[data-col="1"] .col {
    width: 100%;
    padding: 0
}

.col {
    width: 50%;
    position: relative
}

.col-thin .col:first-child {
    padding-right: 6.25vw
}

.col-thin .col:last-child {
    padding-left: 6.25vw
}

.editor-title {
    white-space: nowrap;
    width: calc(100% + 12.5vw);
    padding-bottom: .2em
}

.section-about .editor-title {
    margin-left: -12.5vw
}

.bg-dgreen .editor-title {
    color: #f6f9e6
}

.float-img-wrap {
    padding-left: 0;
    padding-top: 6.25vw;
    padding-bottom: 6.25vw;
    margin-top: -7.8125vw;
    margin-bottom: -7.8125vw;
    position: absolute;
    top: 0;
    left: 0
}

.float-img .pivot {
    position: absolute;
    width: 55px;
    height: 55px;
    background: red;
    border-radius: 100%;
    z-index: 2;
    opacity: 0
}

.float-img .pivot.p1 {
    top: 0;
    left: 0
}

.float-img .pivot.p2 {
    top: 0;
    right: 0
}

.float-img .pivot.p3 {
    bottom: 0;
    left: 0
}

.float-img .pivot.p4 {
    bottom: 0;
    right: 0
}

.float-img-pivot {
    margin-left: -10vh
}

.float-img,
.staic-img {
    width: 29.6875vw;
    height: 37.27882vw
}

.float-img .video-wrap {
    overflow: hidden;
    position: relative
}

.float-img .video-wrap .video-body {
    height: 100%;
    width: 200%;
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}



.product-img .bg-img,
.product-img .bg-img .img {
    border-radius: 0 0 0 5px
}

.product-firsr-img .product-img .bg-img,
.product-firsr-img .product-img .bg-img .img {
    border-radius: 5px 0 0 5px
}

.mce .single-image-wrap[data-type=full] .bg-img,
.mce .single-image-wrap[data-type=full] .bg-img .img,
.page-header .bg-img,
.page-header .bg-img .img,
.section-bg-clip .bg-img,
.section-bg-clip .bg-img .img {
    border-radius: 0
}

.post[data-fav=true] .bg-img,
.post[data-fav=true] .bg-img .img {
    border-radius: 5px 0 0 5px
}

.page-footer-bg .bg-img,
.page-footer-bg .bg-img .img,
.under-ground .img {
    border-radius: 0
}

.col:last-child .float-img-pivot {
    margin: 0
}

.col:last-child .float-img-wrap {
    margin-left: 10vh
}

.col:last-child .staic-img {
    -webkit-transform: translate(6.25vw);
    transform: translate(6.25vw)
}

.col-wrap-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

.col-wrap-center .col {
    position: static
}

.figure {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .5
}

.float-img {
    opacity: 0;
    -webkit-transform: rotate(0deg) scale(.9);
    transform: rotate(0deg) scale(.9)
}

[data-shown="1"] .float-img {
    -webkit-transition: 1.5s cubic-bezier(.22, 1, .36, 1);
    transition: 1.5s cubic-bezier(.22, 1, .36, 1)
}

[data-shown="1"] .float-img {
    opacity: 1;
    -webkit-transform: rotate(-5deg) scale(1);
    transform: rotate(-5deg) scale(1)
}

[data-shown="1"] .float-img2 {
    opacity: 1;
    -webkit-transform: rotate(5deg) scale(1);
    transform: rotate(5deg) scale(1)
}

.section-mission {
    margin-top: -10vh
}

.editor-thumb {
    position: relative
}

.editor-thumb-title {
    position: relative;
    z-index: 2;
    margin-top: -.3em
}

.post-thumb-wrap {
    cursor: pointer
}

.slide-wrap {
    z-index: 2;
    position: relative;
    width: 100vw;
    overflow: hidden;
    padding-bottom: 10vh;
    margin-bottom: -10vh
}

.slide-wrap.is-dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.slide-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    padding-bottom: 10vh
}

.slide {
    width: 37.5vw
}

.post .in,
.slide .in {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.post,
.post-thumb {
    width: 100%
}

.post-thumb {
    display: block
}

.slide .post-thumb {
    pointer-events: none
}

.section-journal .editor-title {
    margin-bottom: -.35em
}

.cat,
.post-date,
.tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.post-date time {
    padding-right: 1em
}

.cat li,
.tag li {
    padding-right: .25em
}

.cat a {
    display: block;
    color: #fbf8f8;
    background: #003b54;
    border-radius: 1em;
    padding: 0 .5em
}

.post-info {
    padding-top: 2em
}

.post-title {
    padding: 1em 0
}

.post-read {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.post-read * {
    pointer-events: none
}

.post-read .t {
    font-weight: 600;
    padding-right: 1em
}

.loop {
    padding: 100px 0
}

.post-read .t {
    position: relative;
    z-index: 2
}

.post-read .icon {
    width: 1em;
    height: 2.58em;
    position: relative
}

.post-read .icon .i {
    position: relative;
    z-index: 2;
    -webkit-transform: scale(0);
    transform: scale(0)
}

.post-read .icon .bg {
    width: 4.5em;
    height: 4.5em;
    border-radius: 100%;
    background: #359b3e;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    margin-top: -2.25em;
    margin-left: -2.25em;
    -webkit-transform: scale(.14);
    transform: scale(.14)
}

.post-read .icon .bg,
.post-read .icon .i {
    -webkit-transition: all .3s cubic-bezier(.32, .94, .6, 1);
    transition: all .3s cubic-bezier(.32, .94, .6, 1)
}

.post-read:hover .icon .bg,
.post-read:hover .icon .i {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.product-slide-navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 1em
}

.product-slide-navi div {
    padding-right: 1em
}

.product-slide-navi .s {
    opacity: .5
}

.product-slide-navi .p {
    -webkit-transition: all 1s cubic-bezier(.32, .94, .6, 1);
    transition: all 1s cubic-bezier(.32, .94, .6, 1);
    opacity: .2;
    cursor: pointer
}

.product-slide-navi .p.active {
    opacity: .5;
    cursor: default
}

.product-slide-img-body {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.product-slide-img-slide {
    width: 100%;
    height: 100%;
    padding: 1px
}

.product-slide-img-wrap .float-img {
    overflow: hidden
}

.product-slide-wrap * {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.product-slide-text-body {
    position: relative
}

.product-slide-text-slide {
    opacity: 0;
    position: absolute;
    -webkit-transition: all .8s cubic-bezier(.48, .04, .52, .96);
    transition: all .8s cubic-bezier(.48, .04, .52, .96)
}

.product-slide-text-slide.active {
    opacity: 1;
    z-index: 2
}

.product-slide-wrap[data-enable=true] {
    cursor: -webkit-grab;
    cursor: grab
}

.product-slide-wrap.is-dragging[data-enable=true] {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.product-slide-origin {
    position: relative;
    z-index: 2
}

.product-slide-origin .body,
.product-slide-origin .col-wrap {
    min-height: 37.27882vw
}

.product-slide-wrap .section-bg {
    -webkit-transition: background .8s cubic-bezier(.48, .04, .52, .96);
    transition: background .8s cubic-bezier(.48, .04, .52, .96)
}

.product-slide-wrap[data-index="0"] .section-bg {
    background: #457834
}

.product-slide-wrap[data-index="1"] .section-bg {
    background: #003b54
}

.section-product .button-middle {
    background: rgba(0, 0, 0, .1)
}

.product-slide-control-to {
    cursor: pointer;
    position: absolute;
    top: 0
}

.text-slide-body {
    position: relative;
    height: 1em;
    overflow: hidden
}

.text-slide {
    height: 1em;
    position: absolute;
    top: 0;
    left: 0
}

.text-slide .t {
    -webkit-transform: translateY(120%);
    transform: translateY(120%)
}

.text-slide:first-child .t {
    -webkit-transform: translate(0);
    transform: translate(0)
}

.product-shopify-html img {
    width: 100px
}

pre {
    background: #eee;
    padding: 1em 1.5em;
    font-size: 12px;
    width: 30%;
    margin: 50px auto
}

.product-body {
    width: 30%;
    margin: 0 auto;
    padding-bottom: 100px
}

.product-gallary-control {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: -.5em;
    margin-right: -.5em;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.product-gallary-a {
    padding-right: .5em;
    padding-left: .5em;
    margin-top: 1em;
    width: 20%;
    height: 4.5em
}

.product-gallary-a * {
    pointer-events: none
}

.product-gallary-images {
    position: relative
}

.product-gallary-images .product-gallary-li {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.product-gallary-li .img {
    !opacity: 1
}

.product-gallary-li {
    !opacity: .5;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

.product-gallary-li.active {
    opacity: 1;
    z-index: 2
}

.product-gallary-control .product-gallary-li {
    opacity: 1
}

.product-gallary-control .product-gallary-li.active,
.active {
    opacity: .5;
    z-index: 2
}

.site-bnr {
    position: fixed;
    right: 3.125vw;
    bottom: 3.125vw;
    background: #359b3e;
    color: #fbf8f8;
    padding: 25px;
    -webkit-transition: all .8s cubic-bezier(.32, .94, .6, 1);
    transition: all .8s cubic-bezier(.32, .94, .6, 1);
    -webkit-transform: translateY(calc(101% + 3.125vw));
    transform: translateY(calc(101% + 3.125vw))
}

.site-bnr .site-bnr-head a {
    font-weight: 600;
    color: #fbf8f8;
    display: block;
    text-decoration: underline
}

.site-bnr-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 3em
}

.site-bnr-head {
    padding: 0 2em 0 1.5em;
    min-width: 16em
}

.site-bnr-head span {
    display: inline-block
}

.site-bnr-cart {
    background-color: #fbf8f8;
    color: #003b54
}

.site-bnr-cart .cart-subtotal {
    text-align: left
}

.site-bnr-cart .site-bnr-head {
    padding-left: 0
}

.site-bnr-ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.site-bnr-li {
    padding-right: .75em
}

.site-bnr-li:last-child {
    padding-right: 0
}

.img-cookie {
    width: 2.58em;
    height: 2.58em
}

.close {
    cursor: pointer;
    right: 0;
    top: 0;
    width: 25px;
    height: 25px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 2
}

.close,
.close .t {
    position: absolute
}

.close .t {
    width: 10px;
    height: 2px;
    background: #fbf8f8;
    top: 50%;
    left: 50%
}

.close .t1 {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg)
}

.close .t2 {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.is-loaded .enable.site-bnr-coookie,
.is-loaded .enable.site-bnr-item,
.is-loaded[data-enter="1"] .enable.site-bnr-cart {
    -webkit-transform: translate(0);
    transform: translate(0);
    -webkit-transition: all 1s cubic-bezier(.32, .94, .6, 1) 1s;
    transition: all 1s cubic-bezier(.32, .94, .6, 1) 1s
}

.bg-white .button-middle,
.button-middle {
    background: #003b54;
    width: 13.5em;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-radius: 2.25em;
    color: #fbf8f8
}

.bg-white .button-middle,
.button-has-icon .icon,
.button-middle {
    height: 4.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.button-has-icon .icon {
    width: 4.5em;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 700
}

.button-has-icon .txt {
    padding-left: 2em;
    padding-top: .05em;
    width: calc(100% - 4.5em)
}

.button-has-icon .txt:last-child {
    padding-right: 2em;
    padding-top: .05em;
    padding-left: 0;
    text-align: left
}

.button-has-icon {
    text-align: left
}

.button-has-icon .button-txt {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.button-path {
    width: 13.5em;
    height: 4.5em;
    display: block
}

.button-body {
    width: 100%;
    height: 100%;
    position: relative;
    display: block
}

.button-path svg {
    position: absolute;
    width: 150%;
    height: 200%;
    top: -50%;
    left: -25%
}

.button-path .f {
    stroke-width: 3px
}

.button-path[data-path-type=m] {
    width: 18em
}

.button-path[data-path-type=l] {
    width: 22.5em
}

.button-has-icon[target=_blank] .icon {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.button-small {
    height: 2.58em;
    width: 7.74em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 1.29em;
    cursor: pointer;
    text-align: center
}

.button-txt.ja,
.button-txt .ja {
    font-weight: 600
}

.button-txt {
    position: relative;
    z-index: 2;
    height: 100%;
    color: #fbf8f8;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.button-txt .o,
.button-txt .t {
    line-height: 1.5;
    height: 1.5em;
    vertical-align: middle
}

.button-txt .t {
    -webkit-transition: all .5s cubic-bezier(.32, .94, .6, 1);
    transition: all .5s cubic-bezier(.32, .94, .6, 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    white-space: nowrap
}

.button:hover .button-txt .t {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.page-header .button {
    margin: 3em auto 0
}

.flip .t {
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(.32, .94, .6, 1);
    transition: -webkit-transform 1.2s cubic-bezier(.32, .94, .6, 1);
    transition: transform 1.2s cubic-bezier(.32, .94, .6, 1);
    transition: transform 1.2s cubic-bezier(.32, .94, .6, 1), -webkit-transform 1.2s cubic-bezier(.32, .94, .6, 1);
    -webkit-transform: translateY(140%);
    transform: translateY(140%)
}

.bg-img .img {
    -webkit-transition: opacity 1.2s cubic-bezier(.32, .94, .6, 1);
    transition: opacity 1.2s cubic-bezier(.32, .94, .6, 1)
}

.bg-img.is-img-loaded .img {
    opacity: 1
}

.bg-img.is-img-loaded {
    background-color: transparent;
    -webkit-transition: background 0s 1.2s;
    transition: background 0s 1.2s
}

.budge .bg-img .img {
    opacity: 0;
    -webkit-transition: all 1.2s cubic-bezier(.32, .94, .6, 1);
    transition: all 1.2s cubic-bezier(.32, .94, .6, 1);
    -webkit-transform: scale(.6) rotate(90deg);
    transform: scale(.6) rotate(90deg)
}

.is-splashed .budge .bg-img.is-img-loaded .img {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg)
}

.is-splashed .flip .t {
    -webkit-transition: -webkit-transform 1.6s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform 1.6s cubic-bezier(.66, 0, .34, 1);
    transition: transform 1.6s cubic-bezier(.66, 0, .34, 1);
    transition: transform 1.6s cubic-bezier(.66, 0, .34, 1), -webkit-transform 1.6s cubic-bezier(.66, 0, .34, 1);
    -webkit-transform: translate(0);
    transform: translate(0)
}

[data-enter="0"] {
    overflow: hidden
}

#js-webgl {
    opacity: 0;
    -webkit-transition: opacity 1s cubic-bezier(.66, 0, .34, 1);
    transition: opacity 1s cubic-bezier(.66, 0, .34, 1)
}

.is-splashed #js-webgl {
    opacity: 1
}

.is-splashed[data-leave-type="1"] #js-webgl {
    visibility: hidden
}

[data-leave-type="2"][data-menu-open="1"] .page-origin {
    visibility: hidden !important
}

.is-splashed[data-leave-type="0"][data-leave="1"] .budge .bg-img .img,
.is-splashed[data-leave-type="0"][data-leave="1"] .budge .bg-img.is-img-loaded .img,
.is-splashed[data-leave-type="1"][data-leave="1"] .budge .bg-img .img,
.is-splashed[data-leave-type="1"][data-leave="1"] .budge .bg-img.is-img-loaded .img {
    opacity: 0;
    -webkit-transition: all .5s cubic-bezier(.4, 0, .68, .06);
    transition: all .5s cubic-bezier(.4, 0, .68, .06);
    -webkit-transform: scale(.6) rotate(30deg);
    transform: scale(.6) rotate(30deg)
}

.is-splashed[data-leave-type="0"][data-leave="1"] .flip .t,
.is-splashed[data-leave-type="1"][data-leave="1"] .flip .t {
    -webkit-transition: -webkit-transform .4s cubic-bezier(.4, 0, .68, .06);
    transition: -webkit-transform .4s cubic-bezier(.4, 0, .68, .06);
    transition: transform .4s cubic-bezier(.4, 0, .68, .06);
    transition: transform .4s cubic-bezier(.4, 0, .68, .06), -webkit-transform .4s cubic-bezier(.4, 0, .68, .06);
    -webkit-transform: translateY(-140%);
    transform: translateY(-140%)
}

.is-splashed[data-leave-type="0"][data-leave="1"] .section-bg.under-ground,
.is-splashed[data-leave-type="1"][data-leave="1"] .section-bg.under-ground {
    opacity: 0;
    -webkit-transition: opacity .5s cubic-bezier(.4, 0, .68, .06);
    transition: opacity .5s cubic-bezier(.4, 0, .68, .06)
}

[data-leave="0"] .flip .t {
    -webkit-transition: -webkit-transform 0s;
    transition: -webkit-transform 0s;
    transition: transform 0s;
    transition: transform 0s, -webkit-transform 0s;
    -webkit-transform: translateY(140%);
    transform: translateY(140%)
}

[data-leave="0"] .section-bg.under-ground {
    opacity: 1
}

[data-enter="1"] .flip .t {
    -webkit-transition: -webkit-transform 1.6s cubic-bezier(.32, .94, .6, 1) .2s;
    transition: -webkit-transform 1.6s cubic-bezier(.32, .94, .6, 1) .2s;
    transition: transform 1.6s cubic-bezier(.32, .94, .6, 1) .2s;
    transition: transform 1.6s cubic-bezier(.32, .94, .6, 1) .2s, -webkit-transform 1.6s cubic-bezier(.32, .94, .6, 1) .2s;
    -webkit-transform: translate(0);
    transform: translate(0)
}

.cart {
    pointer-events: none;
    right: 0;
    top: 0
}

.cart,
.svg-wave path {
    position: fixed;
    width: 100%;
    height: 100%
}

.svg-wave path {
    fill: #fbf8f8
}

.cart-origin {
    position: absolute;
    right: 0;
    top: 0;
    padding: 0 3.125vw;
    width: 43.75vw;
    height: 100vh;
    overflow: hidden;
    -webkit-transform: translate(101%);
    transform: translate(101%);
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    background-color: #fbf8f8
}

.cart-origin del,
del {
    text-decoration: line-through
}

.cart-bg {
    position: absolute;
    right: 0;
    top: 0;
    width: 43.75vw;
    height: 100vh;
    overflow: hidden;
    background-color: #fbf8f8;
    -webkit-transform: translate(101%);
    transform: translate(101%);
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

[data-cart-open="1"] .cart {
    pointer-events: auto
}

[data-cart-open="1"] .cart-bg,
[data-cart-open="1"] .cart-origin {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    -webkit-transform: translate(0);
    transform: translate(0)
}

.cart-close {
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0
}

.cart-header {
    height: 18vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative
}

.cart-header-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.cart-table-header {
    height: 1.5em;
    border-bottom: 1px solid #e1e3e5
}

.cart-table-body {
    position: relative;
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -ms-scroll-chaining: none;
    overscroll-behavior: none;
    height: calc(46vh - 1.5em)
}

.cart-table-td {
    white-space: nowrap
}

.cart-item {
    padding: 2em 0;
    border-bottom: 1px solid #e1e3e5
}

.cart-item,
.cart-item-count {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cart-item-count {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.cart-item-count input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
    width: 3em;
    text-align: center;
    font-weight: 500;
    color: #003b54
}

.cart-item-price {
    font-weight: 500
}

.cart-item-ouantity {
    width: 2em;
    height: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.product-addcart-enable,
[data-enable=true] .product-addcart-diseble {
    display: none
}

.product-addcart-diseble,
[data-enable=true] .product-addcart-enable {
    display: block
}

.cart-n {
    position: absolute;
    top: -.75em;
    right: -.75em;
    color: #fbf8f8;
    width: 2em;
    height: 2em;
    font-weight: 500;
    -webkit-transform: scale(.6);
    transform: scale(.6);
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform .6s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .6s cubic-bezier(.66, 0, .34, 1);
    transition: transform .6s cubic-bezier(.66, 0, .34, 1);
    transition: transform .6s cubic-bezier(.66, 0, .34, 1), -webkit-transform .6s cubic-bezier(.66, 0, .34, 1)
}

.cart-n .n {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%
}

.cart-n .bg {
    border-radius: 100%;
    background: #359b3e;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

[data-quantity="0"].cart-n {
    -webkit-transform: scale(0);
    transform: scale(0)
}

.cart-icon-wrap {
    margin: 0 1em;
    height: 4.5em;
    width: 4.5em;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    pointer-events: none
}

.cart-item-thumb {
    width: 10vh;
    height: 10vh;
    overflow: hidden;
    border-radius: 5px
}

.cart-item-thumb img {
    height: 10vh;
    width: auto;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}

.cart-header .cart-icon-wrap {
    height: auto;
    width: auto;
    margin: 0 -.25em;
    overflow: visible;
    z-index: 3;
    position: relative
}

.cart-header .cart-icon {
    position: relative;
    -webkit-transform: translate(0);
    transform: translate(0);
    top: auto;
    left: auto
}

.cart-table-tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.cart-item-info {
    padding: 0 2em
}

.cart-item-variant-loop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.cart-item-variant-loop .colon {
    padding: 0 .125em
}

.cart-item-title {
    font-weight: 500
}

.cart-item-remove {
    text-decoration: underline
}

.cart-item-header {
    width: calc(100% - 240px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.cart-item-count,
.cart-item-header {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.cart-item-count {
    width: 120px;
    text-align: left
}

.cart-item-price {
    width: 120px;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: right
}

.cart-footer {
    height: 36vh
}

.cart-subtotal .yen {
    font-weight: 500
}

.cart-subtotal {
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.cart-subtotal-body {
    width: 100%
}

.cart-checkout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.cart-clear-button {
    text-decoration: underline
}

.cart-empty {
    height: calc(100% - 18vh);
    padding-bottom: 18vh;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.cart-empty p {
    font-weight: 600;
    margin: 1em 0
}

.button.diseble,
[data-enable=false] {
    pointer-events: none
}

.site-menu {
    height: 100%;
    width: 100%;
    position: fixed;
    left: 0
}

.cart-icon-wrap {
    overflow: hidden
}

.cart-icon-wrap .cart-icon,
.site-menu,
.site-navi .t {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

.site-menu-body {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: 18vh 12.5vw
}

.site-menu-body,
.site-menu-lr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.site-menu-lr {
    z-index: 2;
    position: relative;
    width: 100%
}

.site-menu-l,
.site-menu-r {
    width: 50%
}

.site-menu a {
    color: #003b54;
    display: block
}

.site-menu-mainnavi {
    position: relative;
    z-index: 2;
    margin-top: -.125em
}

.site-menu-mainnavi a * {
    pointer-events: none
}

.site-menu-title {
    margin-bottom: .5em
}

.site-menu-pnavi a {
    overflow: hidden;
    font-weight: 500;
    margin-bottom: 1em;
    color: #003b54;
    width: 100%;
    height: 100%;
    position: relative;
    display: block
}

.num-links {
    text-align: left;
    margin-top: 2em
}

.num-links a {
    color: #003b54;
    display: block;
    font-weight: 500;
    border-bottom: 1px solid #e1e3e5;
    position: relative
}

.cart-body .num-links .txt {
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.site-menu-pnavi .b {
    position: absolute;
    height: 1px;
    width: 100%;
    background-color: #e1e3e5;
    display: block;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: center left;
    transform-origin: center left
}

.num-links .num,
.site-menu-pnavi .num {
    opacity: .5;
    position: absolute;
    top: 0;
    left: 0
}

.num-links .txt,
.site-menu-pnavi .txt {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 4em;
    padding: 0 1.5em
}

.num-links .txt,
.site-menu-l,
.site-menu-pnavi .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.site-menu-l {
    padding-right: 12.5vw;
    position: relative;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.site-menu-subnavi a {
    padding-bottom: .5em
}

.txt-a .t {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.txt-a span {
    display: block
}

.txt-a .txt {
    padding-right: .25em
}

.txt-a[target=_blank] .icon {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.site-menu-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    bottom: 0;
    left: 7vh;
    height: 18vh;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.site-menu-sns li {
    padding-right: .75em
}

.site-menu-sns a {
    width: 2.58em;
    height: 2.58em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 100%;
    background-color: #003b54;
    color: #fbf8f8;
    font-weight: 500
}

.site-menu-r {
    position: relative
}

.site-menu-mainnavi a {
    padding: .125em 0;
    -webkit-transition: color .8s cubic-bezier(.32, .94, .6, 1);
    transition: color .8s cubic-bezier(.32, .94, .6, 1)
}

.site-menu-mainnavi a.nuxt-link-exact-active {
    color: #003233
}

.i-ar-right {
    font-weight: 700
}

.site-menu-cards .card {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(100%, -50%) rotate(0deg);
    transform: translate(100%, -50%) rotate(0deg);
    width: 100%;
    left: -9999px;
    height: 100%;
    width: 29.6875vw;
    height: 37.27882vw;
    opacity: 0
}

.site-menu-cards .card.visible {
    left: 0
}

.site-menu-bg {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fbf8f8;
    -webkit-transform: translate(0);
    transform: translate(0)
}

.site-menu {
    pointer-events: none
}

.site-menu .clip .t {
    -webkit-transform: translateY(-130%);
    transform: translateY(-130%)
}

.site-menu-pnavi .b,
.site-menu .clip .t {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

[data-menu-open="1"] .site-menu-bg {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

[data-menu-open="1"] .site-menu {
    pointer-events: auto
}

[data-menu-open="1"] .site-menu .clip .t {
    -webkit-transform: translate(0);
    transform: translate(0);
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

[data-menu-open="1"] .site-navi a {
    pointer-events: none;
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

[data-menu-open="1"] .site-menu-pnavi .b {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

[data-menu-open="1"] .site-cart-icon .cart-icon {
    -webkit-transform: translate(-50%, 10vh);
    transform: translate(-50%, 10vh);
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

[data-menu-open="1"] .site-navi .t {
    -webkit-transform: translateY(10vh);
    transform: translateY(10vh);
    -webkit-transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: -webkit-transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1);
    transition: transform .8s cubic-bezier(.66, 0, .34, 1), -webkit-transform .8s cubic-bezier(.66, 0, .34, 1)
}

.site-menu-r[data-name=index] a[data-name=index] {
    color: #457834;
    pointer-events: none
}

.site-menu-r[data-name=about] a[data-name=about] {
    color: #457834;
    pointer-events: none
}

.site-menu-r[data-name=approach] a[data-name=approach] {
    color: #457834;
    pointer-events: none
}

.site-menu-r[data-name=journal] a[data-name=journal] {
    color: #457834;
    pointer-events: none
}

.site-menu-r[data-name=partnership] a[data-name=partnership] {
    color: #457834;
    pointer-events: none
}

.editor {
    word-break: break-word
}

.editor a {
    font-weight: 500;
    text-decoration: underline
}

.editor .h2 {
    margin: 5vh 0;
    line-height: 1.3
}

.editor .li,
.editor .table .tr {
    margin-bottom: 2em
}

.editor .li:last-child,
.editor .table .tr:last-child {
    margin-bottom: 0
}

.editor .h3,
.editor h3 {
    margin: 1.2em 0;
    line-height: 1.5
}

.editor h4 {
    font-weight: 600;
    margin-bottom: 1em
}

.editor p {
    margin-bottom: 2em;
    line-height: 1.9
}

.editor :last-child {
    margin-bottom: 0
}

.editor .logo-img {
    margin-top: 0
}

.editor ul li {
    font-weight: 600;
    padding-left: 2em;
    position: relative
}

.editor ul li:before {
    content: "";
    width: 8px;
    height: 8px;
    display: block;
    position: absolute;
    left: 0;
    top: calc(1em - 4px);
    background-color: #003b54;
    border-radius: 100%
}

.editor ul li .li-body {
    font-weight: 400;
    padding: 0 0 3em
}

.editor ul.pulldown-ul .pulldown-li:before {
    top: 2em
}

.editor strong {
    font-weight: 600
}

.editor .table .tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.editor .table .th {
    padding-right: 1em;
    min-width: 5em
}

.term-body .mce .editor .table .th {
    width: 9em
}

.term-body .mce .editor .table .td {
    width: calc(100% - 9em)
}

.term-body .mce strong {
    font-weight: 600
}

.editor-read p {
    line-height: 1.5;
    margin-bottom: 1em
}

.title {
    line-height: 1.3
}

.num-title .title {
    margin-bottom: 1em;
    line-height: 1.3
}

.num-flex .num-col:first-child {
    width: 60px;
    padding-top: .1em;
    color: #457834
}

.num-flex .num-col:last-child {
    width: calc(100% - 60px)
}

.num-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline
}

.num-content {
    margin-left: -60px;
    padding-right: 60px
}

.num-content.auto {
    padding-right: 0
}

.col:last-child .num-content {
    margin: 0;
    padding: 0
}

.post .num-body,
.post .num-title {
    margin-left: -60px
}

.num-navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: .5em 0 1em
}

.num-navi .num {
    font-weight: 500;
    padding-right: 1em
}

.num-navi .title {
    line-height: inherit
}

.side-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.side-layout .side {
    width: 25vw;
    padding-right: 6.25vw
}

.side-layout .main {
    width: calc(100% - 25vw)
}

.faq-section {
    padding-bottom: 10vh
}

.faq-section:last-child {
    padding-bottom: 0
}

.pulldown-header {
    padding: 1.5em 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.pulldown-title {
    width: calc(100% - 3em)
}

.pulldown-header * {
    pointer-events: none
}

.pulldown-toggle {
    height: 1em;
    width: 3em;
    position: relative;
    padding-right: 1em;
    padding-left: 1em
}

.pulldown-toggle .t {
    background-color: #003b54;
    height: 2px;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.pulldown-toggle .t2 {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg)
}

.pulldown-body {
    display: none
}


.page-bnr {
    height: 80vh;
    background-color: #fbf8f8
}

.page-bnr .budge .bg-img .img {
    background-size: 95%
}

.bnr-wrap {
    position: relative;
    z-index: 2;
    height: 100%;
    width: 100%
}

.bnr-body,
.bnr-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.bnr-body {
    padding-right: 60px
}

.bnr-svg {
    height: 60px;
    width: 60px
}

.bnr-svg path {
    stroke: #003b54;
    stroke-width: 2px;
    fill: none
}

.bnr-body .budge {
    position: relative;
    margin-bottom: 6em
}

.bnr-txt {
    padding: 0 .3em
}

.bnr-a {
    color: #003b54
}

.archive-body {
    width: 100%;
    padding-left: 18.75vw
}

.archive-ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: -10vh
}

.archive-ul .post {
    width: 37.5vw;
    margin-bottom: 10vh
}

.archive-ul .post[data-fav=true] {
    width: 100%
}

.archive-ul .post-info {
    max-width: 37.5vw;
    padding-right: 1em
}

.archive-ul .num-title .title {
    margin-bottom: .6em
}

.archive-ul .editor .h3,
.archive-ul .editor h3,
.page-description .editor .h3,
.page-description .editor h3 {
    margin: 0 0 1em;
    line-height: 1.5;
    text-align: left
}

.archive-approach-ul {
    margin: -6.25vw
}

.archive-approach-ul .post {
    width: 50%;
    padding: 0 6.25vw
}

.archive-approach-ul .post-full {
    width: 100%;
    margin-bottom: 15vh
}

.single-header,
.support-header {
    height: 70vh
}

.page-header-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh
}

.single-header .page-header-bg {
    height: 100vh;
    background-color: #d6f2e4
}

.page-header-bg .img {
    background-position: top
}

.single-header .budge {
    top: 18vh;
    right: 6.25vw;
    z-index: 2
}

.page-header .page-title,
.page-title-wrap .button,
.single-title {
    position: relative;
    z-index: 2
}

[data-type=single] .page-description .col-wrap {
    padding-top: 0
}

[data-type=single] .page-description .editor .h2 {
    margin: .5em 0
}

[data-type=single] .page-description .cat a {
    background-color: #00374f
}

.a-pagging-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 15vh;
    border-top: 1px solid #e1e3e5;
    border-bottom: 1px solid #e1e3e5
}

.a-pagging-body a {
    font-weight: 500
}

.mce {
    word-break: break-word;
    line-height: 2
}

.mce .twitter-tweet {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 100% !important;
    margin-top: 2em !important;
    margin-bottom: 2em !important
}

.mce .twitter-tweet iframe {
    -webkit-box-flex: unset !important;
    -ms-flex-positive: unset !important;
    flex-grow: unset !important;
    min-width: 500px
}

.mce b,
.mce strong {
    font-weight: 500
}

.mce a {
    text-decoration: underline;
    color: #457834
}

.mce em {
    font-style: italic
}

.mce ul>li {
    padding-left: 2.5em;
    position: relative;
    margin-bottom: 1em;
    line-height: 1.7
}

.mce ul>li:before {
    content: "";
    display: block;
    height: 8px;
    width: 8px;
    background: #003b54;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: .8em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.mce ol {
    counter-reset: item;
    list-style-type: none;
    line-height: 1.7
}

.mce ol>li {
    padding-left: 2.5em;
    position: relative;
    margin-bottom: 1em
}

.mce ol>li:before {
    width: 1.8em;
    height: 1.8em;
    line-height: 1.8em;
    text-align: center;
    border-radius: 100%;
    counter-increment: item;
    content: "0" counter(item) ".";
    position: absolute;
    left: 0;
    font-weight: 500
}

.mce ol ol>li {
    padding-left: 2em
}

.mce ol ol>li:before {
    width: 1.8em;
    height: 1.8em;
    line-height: 1.8em;
    text-align: center;
    border: none;
    border-radius: 100%;
    counter-increment: item;
    content: counter(item) ".";
    position: absolute;
    left: 0
}

.mce .single-slide {
    height: 80vh
}

.mce .single-border,
.mce .single-iframe,
.mce blockquote,
.mce ol,
.mce p,
.mce ul {
    margin: 2em 0
}

.mce .wp-caption,
.mce img {
    max-width: 100%;
    height: auto
}

.mce .bg-img,
.mce iframe {
    height: 100%;
    width: 100%
}

.mce .wp-caption-text {
    text-align: center;
    font-weight: 300;
    padding: 1em 0;
    margin: 0;
    line-height: 1.5
}

.mce *>:first-child,
.mce>:first-child {
    margin-top: 0;
    padding-top: 0
}

.mce *>:last-child,
.mce>:last-child {
    margin-bottom: 0;
    padding-bottom: 0
}

.mce li>p:last-child {
    margin: 0;
    padding-bottom: 1.5em !important
}

.mce ol:last-child {
    margin-bottom: 1.5em
}

.mce h2,
.mce h3,
.mce h4,
.mce h5,
.mce h6 {
    line-height: 1.3
}

.mce h2 {
    border-bottom: 1px solid #e1e3e5;
    margin-top: 2em;
    padding-bottom: 1em;
    margin-bottom: 1.25em
}

.mce h3 {
    margin-top: 2em;
    margin-bottom: 1em
}

.mce h4,
.mce h5,
.mce h6 {
    font-weight: 500;
    margin-top: 2.5em;
    margin-bottom: 1.25em
}

.mce .single-border {
    padding: 2em;
    border-radius: 5px;
    border: 1px solid #e1e3e5
}

.mce blockquote {
    padding: 2em;
    background: #e1e3e5;
    border-radius: 5px
}

.mce .border-box {
    padding: 1.5em;
    border: 1px solid #003b54
}

.mce .num-title {
    margin-bottom: 0
}

.mce .single-image-wrap {
    position: relative
}

.mce .single-image {
    margin: 1.5em 0
}

.mce .single-image-wrap[data-type=large] {
    max-width: 100vw;
    width: 62.5vw;
    margin-left: -6.25vw
}

.mce .single-image-wrap[data-type=full] {
    width: 100vw;
    margin: 4em 0 4em -25vw
}

.product-header .page-title {
    width: 100%
}

.product-header .page-title .o {
    width: 100%;
    padding: 0 6.25vw
}

.product-header {
    color: #fbf8f8
}

.product-header path {
    fill: #fbf8f8
}

.page-header-bg {
    height: 110vh
}

.product-header .lead {
    padding-top: 2em
}

.product-info .col:first-child {
    padding-right: 3.125vw
}

.product-info .col:last-child {
    padding-left: 3.125vw
}


.product-subtotal {
    text-align: left;
    margin: 2em 0;
}

.product-form-header,
.product-table-tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.product-table-tr {
    margin-right: 2em
}

.product-table-th {
    font-weight: 600;
    padding-right: 1em
}

.product-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.product-form .text {
    min-width: 6em
}

.product-form input,
.product-form select {
    width: 10em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    height: 3.94em;
    padding: 0 1em;
    border-radius: 5px;
    background: transparent;
    border: 1px solid #e1e3e5;
    color: #003b54;
    -webkit-transition: border .3s;
    transition: border .3s
}

.product-form input:focus,
.product-form select:focus {
    border: 1px solid #003b54
}

.product-img {
    padding-left: 18.75vw;
    position: relative;
    z-index: 2
}

.product-firsr-img .product-img {
    margin-top: -10vh
}

.product-firsr-img .section-bg {
    margin-top: 10vh
}

.illust-ul+.illust-ul {
    margin-top: 2em
}

.illust-li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
}

.illust-label {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    height: 18px;
    padding: 0 7px 0 4px;
    background-color: #8bc34a;
    color: #fff;
    font-size: 11px
}

.illust-label:before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    height: 0;
    border-top: none;
    border-bottom: 18px solid #8bc34a;
    border-right: 0;
    border-left: 10px solid transparent
}

.illust-img {
    position: relative
}

.illust-img .n {
    position: absolute;
    left: -1.5em;
    top: 0;
    font-weight: 500;
    z-index: 2
}

.illust-img .bg-img {
    width: 6.25vw;
    height: 6.25vw;
    border-radius: 100%;
    overflow: hidden
}

.illust-img .bg-img.bg-img-square {
    border-radius: 0
}

.pulldown-body {
    display: none
}

.pulldown-li.open .pulldown-body {
    display: block
}

.pulldown-li.open .pulldown-title {
    color: #457834
}

.pulldown-li.open .pulldown-toggle .t,
.pulldown-li.open:before {
    background-color: #457834
}

.pulldown-li.open .pulldown-toggle .t2 {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.illust-txt {
    padding-left: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.illust-txt p {
    margin-top: 10px
}

.body-video {
    width: 100%;
    padding-right: 18.75vw;
    position: relative;
    z-index: 2
}

.col-video-wrap {
    width: 100%;
    height: 100%
}

.col-video {
    -webkit-transform: translate(-18.75vw);
    transform: translate(-18.75vw);
    width: calc(100% + 9.375vw);
    z-index: 2;
    position: relative
}

.col-video-bg {
    position: absolute;
    z-index: 1;
    right: 6.25vw;
    top: -3.125vw;
    width: 100%
}

.marquee {
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-animation: marquee 20s linear infinite forwards;
    animation: marquee 20s linear infinite forwards
}

.carousel-wrap {
    position: relative;
    z-index: 2
}

.carousel-ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.carousel-w {
    width: 31.25vw
}

.carousel-h {
    width: 25vw
}

.carousel-li {
    padding: 0 3.125vw
}

.carousel-title {
    position: absolute;
    bottom: 0;
    left: 18.75vw;
    z-index: 3
}

.nowrap-title {
    white-space: nowrap;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

.nowrap-title .marquee-li {
    padding: 0 .125em
}

.news-ul a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #e1e3e5
}

.news-ul span {
    display: block
}

.news-ul .date {
    opacity: .5;
    width: 10em
}

.news-ul .title {
    padding-right: 5em;
    width: calc(100% - 12.58em)
}

.news-ul .icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 2.58em;
    height: 2.58em;
    background-color: #003b54;
    color: #fbf8f8;
    border-radius: 100%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    overflow: hidden
}

.hover-a .icon {
    overflow: hidden;
    border-right: 100px
}

.hover-a .icon:before {
    display: block
}

.hover-a.enter .icon:before {
    -webkit-animation: hover_a .8s cubic-bezier(.66, 0, .34, 1) forwards;
    animation: hover_a .8s cubic-bezier(.66, 0, .34, 1) forwards;
    -webkit-animation-play-state: running;
    animation-play-state: running
}

@-webkit-keyframes hover_a {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    50% {
        -webkit-transform: translate(200%);
        transform: translate(200%)
    }

    51% {
        -webkit-transform: translate(-200%);
        transform: translate(-200%)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes hover_a {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    50% {
        -webkit-transform: translate(200%);
        transform: translate(200%)
    }

    51% {
        -webkit-transform: translate(-200%);
        transform: translate(-200%)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

.video-wrap {
    overflow: hidden
}

.video-wrap,
.video-wrap .video-body {
    width: 100%;
    height: 100%
}

.video-wrap .video-thumb {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.video-wrap .video-body {
    position: relative;
    z-index: 2;
    opacity: 0
}

.video-wrap .video-body[data-visible="1"] {
    opacity: 1
}

.product-shopify-html .message {
    padding: 1.5em;
    border: 1px solid #003b54;
    border-radius: 5px;
    margin-bottom: 2em
}

.product-shopify-html .message .title {
    border-bottom: 1px solid #e1e3e5;
    padding-bottom: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.product-shopify-html .message .title .i {
    display: block;
    padding-top: .1em;
    padding-right: 1em
}

@-webkit-keyframes anim_rotate {
    0% {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }

    to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@keyframes anim_rotate {
    0% {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }

    to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@-webkit-keyframes marquee {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    to {
        -webkit-transform: translate(-50%);
        transform: translate(-50%)
    }
}

@keyframes marquee {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    to {
        -webkit-transform: translate(-50%);
        transform: translate(-50%)
    }
}

@-webkit-keyframes marquee_reverse {
    0% {
        -webkit-transform: translate(-50%);
        transform: translate(-50%)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes marquee_reverse {
    0% {
        -webkit-transform: translate(-50%);
        transform: translate(-50%)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

[data-cart-open="0"] .rotate,
[data-menu-open="0"] .rotate,
[data-visible="1"] .rotate {
    -webkit-animation: anim_rotate 30s linear infinite forwards;
    animation: anim_rotate 30s linear infinite forwards;
    will-change: transform
}

[data-cart-open="0"] .marquee-reverse,
[data-menu-open="0"] .marquee-reverse,
[data-visible="1"] .marquee-reverse {
    -webkit-animation: marquee_reverse 20s linear infinite forwards;
    animation: marquee_reverse 20s linear infinite forwards;
    will-change: transform
}

[data-cart-open="0"] .nowrap-title .marquee,
[data-menu-open="0"] .nowrap-title .marquee,
[data-visible="1"] .nowrap-title .marquee {
    -webkit-animation: marquee 40s linear infinite forwards;
    animation: marquee 40s linear infinite forwards;
    will-change: transform
}

[data-cart-open="1"] .marquee,
[data-menu-open="1"] .marquee,
[data-visible="0"] .marquee {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    will-change: auto
}

[data-cart-open="1"] .rotate,
[data-menu-open="1"] .rotate,
[data-visible="0"] .rotate {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    will-change: auto
}

.js-para {
    z-index: 1
}

.js-para,
.js-para-body {
    position: absolute;
    width: calc(100% + 100px);
    height: calc(100% + 100px);
    top: -50px;
    left: -50px
}

.debug {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0
}

.footer-text-left {
    float: left
}

.footer-text-right {
    float: right;
    margin-right: 14px
}

@media screen and (min-width:641px) {
    .pc {
        display: block
    }

    .sp {
        display: none
    }
}

@font-face {
    font-family: i;
    src: url(https://client.utopiaagriculture.com/fonts/i.a637b89.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: block
}

[class*=" i-"],
[class^=i-] {
    font-family: i !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.i-fb:before {
    content: "\e901"
}

.i-facebook:before {
    content: "\e901"
}

.i-tw:before {
    content: "\e902"
}

.i-twitter:before {
    content: "\e902"
}

.i-ins:before {
    content: "\e912"
}

.i-instagram:before {
    content: "\e912"
}

.i-plus:before {
    content: "\e90f"
}

.i-minus:before {
    content: "\e910"
}

.i-email:before {
    content: "\e911"
}

.i-notifications-on:before {
    content: "\e913"
}

.i-account:before {
    content: "\e900"
}

.i-k-ar-down:before {
    content: "\e903"
}

.i-k-ar-left:before {
    content: "\e904"
}

.i-k-ar-right:before {
    content: "\e905"
}

.i-k-ar-up:before {
    content: "\e906"
}

.i-cart:before {
    content: "\e907"
}

.i-ar-left:before {
    content: "\e908"
}

.i-ar-right:before {
    content: "\e909"
}

.i-ar-up:before {
    content: "\e90a"
}

.i-ar-down:before {
    content: "\e90b"
}

.i-north:before {
    content: "\e90c"
}

.i-clear:before {
    content: "\e90d"
}

.i-spinner:before {
    content: "\e90e"
}

@font-face {
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://client.utopiaagriculture.com/fonts/YakuHanJP-Regular.515cafc.eot);
    src: url(https://client.utopiaagriculture.com/fonts/YakuHanJP-Regular.d5553a9.woff2) format("woff2"), url(https://client.utopiaagriculture.com/fonts/YakuHanJP-Regular.2aef5cc.woff) format("woff");
    unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanJP;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://client.utopiaagriculture.com/fonts/YakuHanJP-Bold.dd871ad.eot);
    src: url(https://client.utopiaagriculture.com/fonts/YakuHanJP-Bold.87a8ef2.woff2) format("woff2"), url(https://client.utopiaagriculture.com/fonts/YakuHanJP-Bold.a085d86.woff) format("woff");
    unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01, U+ff08-ff09, U+ff1a-ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

.ja {
    font-family: YakuHanJP, heebo, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif
}

.mce {
    font-family: heebo, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif
}

.serif {
    font-family: itc-benguiat-condensed, serif;
    letter-spacing: -.02em;
    line-height: .9;
    margin-top: -.07em
}

.w500 {
    font-weight: 500
}

.w600 {
    font-weight: 600
}

.button,
.editor,
.f-body,
.mce.editor,
body {
    /*	  font-size: calc(.7rem + .5vw); */
    letter-spacing: .02em
}

.f-xs {
    font-size: calc(.5rem + .5vw)
}

.f-s {
    /*	  font-size: calc(.6rem + .5vw) */
}

.cart-icon-body .i {
    font-size: calc(.7rem + .5vw)
}

.cart-icon-body .i-account,
.mce {
    font-size: calc(.8rem + .5vw)
}

.f-m {
    font-size: calc(.9rem + .5vw)
}

.cursor-body .i,
.mce h5,
.post-info h3 {
    font-size: calc(1rem + .5vw)
}

.f-l,
.h4,
.mce h4 {
    font-size: calc(1.3rem + .5vw)
}

.button-has-icon .i,
.editor .h3,
.editor h3,
.f-ll,
.h3,
.mce h3,
.ui-arrow {
    font-size: calc(1.7rem + .5vw)
}

.f-ll.serif,
.f-ll .serif {
    font-size: calc(2.1rem + .5vw)
}

.f-lll,
.mce h2 {
    font-size: calc(2.4rem + .5vw)
}

.emoji,
.f-xl {
    font-size: calc(2.9rem + .5vw)
}

.f-xxl {
    font-size: calc(5rem + .5vw)
}

.f-xxxl {
    font-size: 5.75vw
}

.f-xxxxl {
    font-size: 8vw
}

.f-xxxxxl {
    font-size: 10vw
}

.h1 {
    font-size: 10.5vw
}

.product-title .page-title {
    font-size: 0
}

@media (orientation:landscape) and (max-width:1024px),
screen and (max-width:1024px) {
    .serif {
        line-height: .8
    }

    .cart-table .f-xs,
    .site-bnr-body .button,
    .site-bnr-body .f-xs,
    .site-bnr-head,
    .site-bnr-head a {
        font-size: 1.3rem
    }

    .site-bnr-body .button-txt {
        font-size: 1.15rem
    }

    .cart-icon-body .i,
    .subscribe-button-body .i-ar-right {
        font-size: 1.35rem
    }

    .cart-icon-body .i-account {
        font-size: 1.5rem
    }

    .button,
    .editor,
    .mce,
    .mce.editor,
    body {
        font-size: 1.35rem;
        letter-spacing: .02em
    }

    .f-s,
    .f-xs,
    .post-info h3 {
        font-size: 1.35rem
    }

    .budge-text.f-l,
    .f-m {
        font-size: 1.5rem
    }

    .cursor-body .i {
        font-size: 1.6rem
    }

    .button-has-icon .i,
    .editor .h3,
    .editor h3,
    .f-l,
    .f-ll,
    .h3,
    .h4,
    .mce h3,
    .mce h4,
    .ui-arrow {
        font-size: 1.9rem
    }

    .emoji,
    .f-lll,
    .f-xl,
    .mce h2 {
        font-size: 2.1rem
    }
}

@media (orientation:landscape) and (max-width:900px),
screen and (max-width:640px) {
    .serif {
        line-height: .8
    }

    .cart-table .f-xs,
    .site-bnr-body .button,
    .site-bnr-body .f-xs,
    .site-bnr-head,
    .site-bnr-head a,
    .subscribe-output {
        font-size: 1.3rem
    }

    .cart-icon-body .i,
    .subscribe-button-body .i-ar-right {
        font-size: 1.35rem
    }

    .cart-icon-body .i-account {
        font-size: 1.5rem
    }

    .button,
    .editor,
    .mce,
    .mce.editor,
    body {
        font-size: 1.35rem;
        letter-spacing: .02em
    }

    .f-s,
    .f-xs,
    .post-info h3 {
        font-size: 1.35rem
    }

    .budge-text.f-l,
    .f-m {
        font-size: 1.5rem
    }

    .cursor-body .i {
        font-size: 1.6rem
    }

    .product-form input,
    .product-form select,
    .subscribe input {
        font-size: 16px
    }

    .button-has-icon .i,
    .editor .h3,
    .editor h3,
    .f-l,
    .f-ll,
    .h3,
    .h4,
    .mce h3,
    .mce h4,
    .ui-arrow {
        font-size: 1.9rem
    }

    .section-company .h2 {
        font-size: 1.35rem;
        padding-top: 2em;
        font-weight: 600
    }

    .section-company .editor .table .tr {
        margin-bottom: 1em
    }

    .emoji,
    .f-lll,
    .f-xl,
    .mce h2 {
        font-size: 2.1rem
    }

    .f-xxxl {
        font-size: 9.33345vw
    }

    .page-bnr .h1 {
        font-size: 13.3335vw
    }

    .f-xxxxl,
    .f-xxxxxl {
        font-size: 16.0002vw
    }

    .h1 {
        font-size: 17.33355vw
    }
}

@media screen and (max-width:320px) {

    .cart-table .f-xs,
    .site-bnr-body .button,
    .site-bnr-body .f-xs,
    .site-bnr-head,
    .site-bnr-head a {
        font-size: 1.2rem
    }

    .cart-icon-body .i,
    .subscribe-button-body .i-ar-right {
        font-size: 1.25rem
    }

    .cart-icon-body .i-account {
        font-size: 1.4rem
    }

    .button,
    .editor,
    .mce,
    .mce.editor,
    body {
        font-size: 1.25rem;
        letter-spacing: .02em
    }

    .f-s,
    .f-xs,
    .post-info h3 {
        font-size: 1.25rem
    }

    .budge-text.f-l,
    .f-m {
        font-size: 1.4rem
    }

    .cursor-body .i {
        font-size: 1.5rem
    }

    .button-has-icon .i,
    .editor .h3,
    .editor h3,
    .f-l,
    .f-ll,
    .h3,
    .h4,
    .mce h3,
    .mce h4,
    .ui-arrow {
        font-size: 1.8rem
    }

    .emoji,
    .f-lll,
    .f-xl,
    .mce h2 {
        font-size: 2rem
    }

    .site-menu-mainnavi a {
        font-size: 2.3rem
    }

    .f-xxxl {
        font-size: 6vw
    }

    .page-bnr .h1 {
        font-size: 10vw
    }

    .f-xxxxl,
    .f-xxxxxl {
        font-size: 12vw
    }

    .h1 {
        font-size: 13vw
    }
}

.is-any {
    overflow: hidden
}

.is-any .window {
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -ms-scroll-chaining: none;
    overscroll-behavior: none
}

.is-any .button-path svg,
.is-any .js-anchor-to-down,
.is-any .js-scroll-bar-wrap,
.is-any .js-scroll-height,
.is-any .site-cursor {
    display: none !important
}

.is-any .button-path .button-body {
    overflow: hidden;
    border-radius: 100px;
    background: #003b54;
    background: #359b3e
}

.is-any .button-small .button-body {
    background: #2a843e
}

.is-any .bg-pgreen .button-path .button-body {
    background: #3c6f3b
}

.is-any [data-index="1"].bg-pgreen .button-path .button-body {
    background: #003b54
}

.is-any .bg-dgreen .button-path .button-body {
    background: #031619
}

.is-any .float-img {
    opacity: 1;
    -webkit-transform: rotate(-5deg) scale(1);
    transform: rotate(-5deg) scale(1)
}

.is-any .float-img2 {
    -webkit-transform: rotate(5deg) scale(1);
    transform: rotate(5deg) scale(1)
}

.is-any .float-img3 {
    -webkit-transform: rotate(-5deg) scale(1);
    transform: rotate(-5deg) scale(1)
}

.is-any .slide-wrap {
    overflow: visible;
    width: 62.5vw;
    margin: 0 auto
}

.is-any .slide-body {
    margin: -5vh;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.is-any .slide {
    width: 50%;
    padding: 0 5vh 5vh
}

.is-any .post-thumb {
    pointer-events: auto
}

.is-any .page-header-body {
    display: block
}

.is-any .page-title {
    position: absolute;
    width: 100%;
    left: 0;
    top: 36vh
}

.is-any .page-lead {
    line-height: 1.5
}

.is-any .page-title-origin {
    position: static
}

.is-any .page-header .budge {
    top: auto;
    bottom: 10vh
}

.is-any .page-title-origin {
    margin-bottom: 0
}

.is-any .section-bg,
.is-any .svg-bg {
    height: 100%
}

.is-any .js-fade {
    opacity: 1
}

.is-any .js-para,
.is-any .js-para-body {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.is-any [data-type="404"] .budge {
    display: none
}

.is-any [data-type="404"] .page-title-wrap .button {
    position: absolute;
    bottom: 6.25vw;
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}

.is-any .carousel.marquee {
    -webkit-animation-play-state: paused !important;
    animation-play-state: paused !important;
    -webkit-animation: none;
    animation: none
}

.is-any .bg-img .img {
    -webkit-transform: none;
    transform: none
}

.is-any[data-trantision="1"] .page-footer {
    visibility: visible
}

.show-m,
.show-t {
    display: none
}

.is-mobile .show-m,
.is-tablet .show-t {
    display: block
}

@media (orientation:landscape) and (max-width:1366px),
screen and (max-width:1024px) {
    .is-tablet .page-header .budge {
        right: 6.25vw;
        bottom: 6.25vw !important
    }

    .is-tablet .section-bg.under-ground {
        height: calc(100% + 6.25vw) !important;
        margin-top: -6.25vw
    }

    .is-tablet .spr[data-n="0"] {
        height: 0
    }

    .is-tablet .spr[data-n=".5"] {
        height: 15px
    }

    .is-tablet .spr[data-n="1"] {
        height: 30px
    }

    .is-tablet .spr[data-n="1.5"] {
        height: 45px
    }

    .is-tablet .spr[data-n="2"] {
        height: 60px
    }

    .is-tablet .spr[data-n="2.5"] {
        height: 75px
    }

    .is-tablet .spr[data-n="3"] {
        height: 90px
    }

    .is-tablet .spr[data-n="3.5"] {
        height: 105px
    }

    .is-tablet .spr[data-n="4"] {
        height: 120px
    }

    .is-tablet .spr[data-n="4.5"] {
        height: 135px
    }

    .is-tablet .spr[data-n="5"] {
        height: 150px
    }

    .is-tablet .spr[data-n="5.5"] {
        height: 165px
    }

    .is-tablet .spr[data-n="6"] {
        height: 180px
    }

    .is-tablet .spr[data-n="6.5"] {
        height: 195px
    }

    .is-tablet .spr[data-n="7"] {
        height: 210px
    }

    .is-tablet .spr[data-n="7.5"] {
        height: 225px
    }

    .is-tablet .spr[data-n="8"] {
        height: 240px
    }

    .is-tablet .spr[data-n="8.5"] {
        height: 255px
    }

    .is-tablet .spr[data-n="9"] {
        height: 270px
    }

    .is-tablet .spr[data-n="9.5"] {
        height: 285px
    }

    .is-tablet .spr[data-n="10"] {
        height: 300px
    }
}

@media screen and (max-width:1024px) {
    .lead {
        padding-top: 1.5em
    }
}

@media screen and (max-width:768px) {
    .spr[data-n="0"] {
        height: 0
    }

    .spr[data-n=".5"] {
        height: 15px
    }

    .spr[data-n="1"] {
        height: 30px
    }

    .spr[data-n="1.5"] {
        height: 45px
    }

    .spr[data-n="2"] {
        height: 60px
    }

    .spr[data-n="2.5"] {
        height: 75px
    }

    .spr[data-n="3"] {
        height: 90px
    }

    .spr[data-n="3.5"] {
        height: 105px
    }

    .spr[data-n="4"] {
        height: 120px
    }

    .spr[data-n="4.5"] {
        height: 135px
    }

    .spr[data-n="5"] {
        height: 150px
    }

    .spr[data-n="5.5"] {
        height: 165px
    }

    .spr[data-n="6"] {
        height: 180px
    }

    .spr[data-n="6.5"] {
        height: 195px
    }

    .spr[data-n="7"] {
        height: 210px
    }

    .spr[data-n="7.5"] {
        height: 225px
    }

    .spr[data-n="8"] {
        height: 240px
    }

    .spr[data-n="8.5"] {
        height: 255px
    }

    .spr[data-n="9"] {
        height: 270px
    }

    .spr[data-n="9.5"] {
        height: 285px
    }

    .spr[data-n="10"] {
        height: 300px
    }

    .spr[data-tb="0"] {
        height: 0
    }

    .spr[data-tb=".5"] {
        height: 15px
    }

    .spr[data-tb="1"] {
        height: 30px
    }

    .spr[data-tb="1.5"] {
        height: 45px
    }

    .spr[data-tb="2"] {
        height: 60px
    }

    .spr[data-tb="2.5"] {
        height: 75px
    }

    .spr[data-tb="3"] {
        height: 90px
    }

    .spr[data-tb="3.5"] {
        height: 105px
    }

    .spr[data-tb="4"] {
        height: 120px
    }

    .spr[data-tb="4.5"] {
        height: 135px
    }

    .spr[data-tb="5"] {
        height: 150px
    }

    .spr[data-tb="5.5"] {
        height: 165px
    }

    .spr[data-tb="6"] {
        height: 180px
    }

    .spr[data-tb="6.5"] {
        height: 195px
    }

    .spr[data-tb="7"] {
        height: 210px
    }

    .spr[data-tb="7.5"] {
        height: 225px
    }

    .spr[data-tb="8"] {
        height: 240px
    }

    .spr[data-tb="8.5"] {
        height: 255px
    }

    .spr[data-tb="9"] {
        height: 270px
    }

    .spr[data-tb="9.5"] {
        height: 285px
    }

    .spr[data-tb="10"] {
        height: 300px
    }

    .site-navi {
        display: none
    }

    .body,
    .slide-wrap {
        width: 70vw !important
    }

    .col:last-child .float-img-wrap {
        margin-left: 6.25vw
    }

    .float-img-pivot {
        margin-left: -6.25vw
    }

    .section-bg.under-ground {
        margin-top: -6.25vw;
        height: calc(100% + 6.25vw)
    }

    .product-slide-origin .body,
    .product-slide-origin .col-wrap {
        min-height: 50vw
    }

    .slide-body,
    .slide-wrap {
        padding-bottom: 0
    }

    .slide-body {
        margin: -1.5625vw !important;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .slide {
        width: 50%;
        padding: 0 1.5625vw 6.25vw !important
    }

    .lead {
        white-space: nowrap
    }

    .product-firsr-img .section-bg {
        margin-top: 60px
    }

    .product-firsr-img .product-img {
        margin-top: -60px
    }

    .product-img {
        padding-left: 15vw
    }

    .editor-header .budge {
        -webkit-transform: translate(-7.5vw, -120%);
        transform: translate(-7.5vw, -120%)
    }

    .editor-header .budge.static {
        -webkit-transform: translate(-7.5vw);
        transform: translate(-7.5vw)
    }

    .float-img,
    .staic-img {
        width: 34.375vw;
        height: 45.83333vw
    }

    .num-flex {
        display: block
    }

    .num-content {
        margin-left: 0;
        padding-right: 0
    }

    .num-flex .num-col:last-child {
        width: 100%
    }

    .num-title .title {
        padding-top: .5em
    }

    .archive-body {
        padding-left: 0
    }

    .archive-ul {
        margin: -1.5625vw
    }

    .archive-ul .post {
        padding: 0 1.5625vw 6.25vw;
        margin-bottom: 0;
        width: 50%
    }

    .cat,
    .post-date,
    .tag {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .post .num-body,
    .post .num-title {
        margin-left: 0
    }

    .page-bnr {
        height: 66.66667vw
    }

    .side-layout .side {
        display: none
    }

    .side-layout {
        display: block
    }

    .side-layout .main,
    .side-layout .side {
        width: 100%
    }

    .post[data-fav=true] .bg-img,
    .post[data-fav=true] .bg-img .img {
        border-radius: 5px
    }

    .mce .single-image-wrap[data-type=large] {
        width: 100%;
        margin-left: 0
    }

    .mce .single-image-wrap[data-type=full] {
        width: 100vw;
        margin: 4.5em 0 4.5em -15vw
    }

    .mce .twitter-tweet iframe {
        min-width: 100%
    }

    .product-name {
        width: 100% !important;
        margin: 0px !important;
    }
}

@media screen and (max-width:1024px) {
    .cart-origin {
        min-width: 80vw
    }
}

.is-any .site-cart-icon,
.is-any .site-logo,
.is-any .site-navi,
.is-any .site-toggle {
    -webkit-transition: all .6s;
    transition: all .6s
}

.is-any[data-scroll-dir="1"] .site-cart-icon,
.is-any[data-scroll-dir="1"] .site-logo,
.is-any[data-scroll-dir="1"] .site-navi,
.is-any[data-scroll-dir="1"] .site-toggle {
    -webkit-transform: translateY(-150px);
    transform: translateY(-150px)
}

.is-mobile .page-footer-bg {
    width: 100%;
    height: 21.3333333vw !important
}

.is-mobile .subpage-footer-bg {
    width: 100%;
    height: 31.5068493vw !important
}

@media (orientation:landscape) and (max-width:900px),
screen and (max-width:640px) {

    .post-footer,
    .site-menu-pnavi .num {
        display: none !important
    }

    .page-bnr,
    .page-body,
    .page-description {
        opacity: 1;
        -webkit-transition: opacity .6s;
        transition: opacity .6s
    }

    [data-trantision="1"] .page-bnr,
    [data-trantision="1"] .page-body,
    [data-trantision="1"] .page-description {
        opacity: 0
    }

    .spr[data-n="0"] {
        height: 0
    }

    .spr[data-n=".5"] {
        height: 2.5vw
    }

    .spr[data-n="1"] {
        height: 5vw
    }

    .spr[data-n="1.5"] {
        height: 7.5vw
    }

    .spr[data-n="2"] {
        height: 10vw
    }

    .spr[data-n="2.5"] {
        height: 12.5vw
    }

    .spr[data-n="3"] {
        height: 15vw
    }

    .spr[data-n="3.5"] {
        height: 17.5vw
    }

    .spr[data-n="4"] {
        height: 20vw
    }

    .spr[data-n="4.5"] {
        height: 22.5vw
    }

    .spr[data-n="5"] {
        height: 25vw
    }

    .spr[data-n="5.5"] {
        height: 27.5vw
    }

    .spr[data-n="6"] {
        height: 30vw
    }

    .spr[data-n="6.5"] {
        height: 32.5vw
    }

    .spr[data-n="7"] {
        height: 35vw
    }

    .spr[data-n="7.5"] {
        height: 37.5vw
    }

    .spr[data-n="8"] {
        height: 40vw
    }

    .spr[data-n="8.5"] {
        height: 42.5vw
    }

    .spr[data-n="9"] {
        height: 45vw
    }

    .spr[data-n="9.5"] {
        height: 47.5vw
    }

    .spr[data-n="10"] {
        height: 50vw
    }

    .spr[data-tb="0"] {
        height: 0
    }

    .spr[data-tb=".5"] {
        height: 2.5vw
    }

    .spr[data-tb="1"] {
        height: 5vw
    }

    .spr[data-tb="1.5"] {
        height: 7.5vw
    }

    .spr[data-tb="2"] {
        height: 10vw
    }

    .spr[data-tb="2.5"] {
        height: 12.5vw
    }

    .spr[data-tb="3"] {
        height: 15vw
    }

    .spr[data-tb="3.5"] {
        height: 17.5vw
    }

    .spr[data-tb="4"] {
        height: 20vw
    }

    .spr[data-tb="4.5"] {
        height: 22.5vw
    }

    .spr[data-tb="5"] {
        height: 25vw
    }

    .spr[data-tb="5.5"] {
        height: 27.5vw
    }

    .spr[data-tb="6"] {
        height: 30vw
    }

    .spr[data-tb="6.5"] {
        height: 32.5vw
    }

    .spr[data-tb="7"] {
        height: 35vw
    }

    .spr[data-tb="7.5"] {
        height: 37.5vw
    }

    .spr[data-tb="8"] {
        height: 40vw
    }

    .spr[data-tb="8.5"] {
        height: 42.5vw
    }

    .spr[data-tb="9"] {
        height: 45vw
    }

    .spr[data-tb="9.5"] {
        height: 47.5vw
    }

    .spr[data-tb="10"] {
        height: 50vw
    }

    .spr[data-mb="0"] {
        height: 0
    }

    .spr[data-mb=".5"] {
        height: 2.5vw
    }

    .spr[data-mb="1"] {
        height: 5vw
    }

    .spr[data-mb="1.5"] {
        height: 7.5vw
    }

    .spr[data-mb="2"] {
        height: 10vw
    }

    .spr[data-mb="2.5"] {
        height: 12.5vw
    }

    .spr[data-mb="3"] {
        height: 15vw
    }

    .spr[data-mb="3.5"] {
        height: 17.5vw
    }

    .spr[data-mb="4"] {
        height: 20vw
    }

    .spr[data-mb="4.5"] {
        height: 22.5vw
    }

    .spr[data-mb="5"] {
        height: 25vw
    }

    .spr[data-mb="5.5"] {
        height: 27.5vw
    }

    .spr[data-mb="6"] {
        height: 30vw
    }

    .spr[data-mb="6.5"] {
        height: 32.5vw
    }

    .spr[data-mb="7"] {
        height: 35vw
    }

    .spr[data-mb="7.5"] {
        height: 37.5vw
    }

    .spr[data-mb="8"] {
        height: 40vw
    }

    .spr[data-mb="8.5"] {
        height: 42.5vw
    }

    .spr[data-mb="9"] {
        height: 45vw
    }

    .spr[data-mb="9.5"] {
        height: 47.5vw
    }

    .spr[data-mb="10"] {
        height: 50vw
    }

    .body,
    .slide-wrap {
        width: 80vw !important
    }

    .product-header,
    .subpage-header {
        margin-bottom: -10vh
    }

    .page-header-bg {
        height: 100%
    }

    .site-logo-icon {
        width: 18px
    }

    .site-header {
        padding-left: 0;
        padding-right: 0;
        height: 75px;
        position: static;
        height: auto
    }

    .site-logo {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 5;
        height: 75px
    }

    .site-global-navi .cart-icon-wrap {
        position: fixed;
        right: 75px;
        top: 0;
        z-index: 4
    }

    .site-global-navi .toggle {
        position: fixed;
        right: 0;
        top: 0;
        z-index: 5
    }

    [data-menu-open="1"] .site-header .cart-icon-wrap .cart-icon {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

    .cart-icon {
        height: 75px;
        width: 37.5px
    }

    .toggle,
    .ui-arrow {
        height: 75px;
        width: 75px
    }

    .site-logo {
        padding-left: 2em
    }

    .cart-n {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }

    .cart-icon-wrap {
        height: 75px;
        width: calc(36px + 1em);
        margin: 0
    }

    .cart-icon {
        padding: 0
    }

    .cart-icon-body {
        width: 36px;
        height: 36px
    }

    .cart-header .cart-icon {
        -webkit-transform: translate(0) !important;
        transform: translate(0) !important
    }

    .cart-header {
        height: calc(75px + 2em);
        margin-right: -1em;
        padding-bottom: 2em
    }

    .cart-footer {
        height: calc(150px + 4em)
    }

    .cart-origin {
        width: 100%;
        padding: 0 1em
    }

    .cart-header .cart-icon-wrap {
        margin: 0
    }

    .cart-origin .cart-account {
        margin-right: .5em
    }

    .cart-item-count input {
        width: 1.5em
    }

    .cart-item-ouantity {
        width: 3em;
        height: 3em
    }

    .cart-item-count,
    .cart-item-price {
        width: 80px
    }

    .cart-item-header {
        width: calc(100% - 160px)
    }

    .cart-item {
        padding: 1em 0
    }

    .cart-item-info {
        padding: 0 0 0 1em
    }

    .cart-item-thumb {
        width: 40px;
        height: 40px
    }

    .cart-item-thumb img {
        height: 40px
    }

    .cart-item-header {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }

    .cart-item-remove {
        margin-top: .5em
    }

    .cart-origin .button-path {
        margin: 0
    }

    .cart-empty {
        height: calc(100% - 225px - 4em);
        padding-bottom: 0
    }

    .cart-table-body {
        height: 225px
    }

    .site-menu-body {
        padding: 0 0 0 10vw
    }

    .site-menu-l {
        width: 40%;
        padding-right: 1em
    }

    .site-menu-r {
        width: 60%;
        padding-left: 1em
    }

    .site-menu-l-footer {
        padding-top: 3em
    }

    .site-menu-mainnavi {
        margin-top: -.125em
    }

    .site-menu-subnavi a {
        padding: .25em 0;
        white-space: nowrap
    }

    .site-menu-pnavi .txt {
        padding: 0;
        line-height: 1
    }

    .site-menu-subnavi .o {
        width: 120%
    }

    .site-bnr {
        padding: 5vw;
        right: 0;
        bottom: 0;
        width: 100%
    }

    .site-bnr-body {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .img-cookie {
        width: 36px;
        height: 36px
    }

    .button-small.button-path {
        width: auto;
        margin: 0
    }

    .button-small .button-body {
        padding: 0 1em;
        width: 9em
    }

    .site-bnr-head {
        padding: 0 0 0 1em;
        width: calc(100% - 10em - 36px);
        min-width: 0;
        line-height: 1.4
    }

    .site-bnr-head span {
        padding-bottom: .25em
    }

    .site-bnr-li {
        padding-right: .5em
    }

    .float-img-wrap {
        margin: 0;
        padding: 0;
        top: 25vw;
        z-index: -1
    }

    .col:last-child .float-img-wrap,
    .float-img-pivot {
        margin-left: 10vw
    }

    .float-img,
    .staic-img {
        width: 60vw;
        height: 80vw
    }

    .slide-body {
        margin: 0 !important;
        padding-bottom: 10vw
    }

    .slide {
        width: 100% !important;
        padding: 0 0 10vw !important
    }

    .slide:last-child {
        padding-bottom: 0 !important
    }

    .button-path {
        margin: 0 auto
    }

    .bg-dgreen .button-path .button-body {
        background: #003b54 !important
    }

    .bg-pgreen .button-path .button-body {
        background: rgba(0, 0, 0, .1) !important
    }

    .button-has-icon .txt {
        padding-left: 1.5em
    }

    .button-path[data-path-type=l],
    .button-path[data-path-type=m] {
        width: auto
    }

    .editor-body {
        padding-bottom: 1em
    }

    .editor-body .thin {
        width: 100%;
        padding-right: 0
    }

    .editor .h2 {
        margin: 1em 0
    }

    .editor .h3,
    .editor h3 {
        text-align: center;
        margin: .75em 0
    }

    .editor p {
        line-height: 1.7;
        margin-bottom: 1.5em
    }

    .editor :first-child {
        margin-top: 0
    }

    .editor-header .budge {
        -webkit-transform: translate(-12vw, -120%);
        transform: translate(-12vw, -120%)
    }

    .editor-header .budge.static {
        -webkit-transform: translate(-12vw);
        transform: translate(-12vw)
    }

    .page-description .col-wrap {
        padding-top: 10vw
    }

    .page-title {
        top: 112.5px !important;
        padding: 0 5vw
    }

    .support-header {
        position: relative;
        height: 100vh
    }

    .support-header .page-title {
        top: 50% !important;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .editor-title {
        margin-left: 0 !important;
        margin-bottom: .25em
    }

    .float-img-wrap {
        position: relative;
        top: auto
    }

    .editor-title,
    .section-about .editor-title,
    .text-slide {
        text-align: center;
        width: 100%
    }

    .section-about {
        margin-top: -10vh
    }

    .col-wrap {
        position: relative
    }

    .col-wrap-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .col-title {
        margin-bottom: 5vw
    }

    .col {
        width: 100%;
        position: static
    }

    .product-slide-text-body {
        min-height: 18em
    }

    .section-approach {
        min-height: 209.866667vw;
        margin-bottom: -40vw
    }

    .section-approach .section-bg-clip {
        width: 100% !important;
        height: 209.866667vw !important
    }

    .budge {
        width: 100px;
        height: 100px
    }

    .budge2,
    .budge3 {
        width: 80px;
        height: 80px
    }

    .budge4 {
        width: 110px;
        height: 110px
    }

    .tag a {
        text-decoration: underline
    }

    .post-title {
        font-weight: 600
    }

    .bnr-body {
        padding-right: 0
    }

    .bnr-body .budge {
        width: 60px;
        height: 60px
    }

    .bnr-svg {
        width: 30px;
        height: 30px;
        margin: 0 15px
    }

    .bnr-txt {
        padding: 0
    }

    .section-bg.under-ground {
        height: calc(100% + 10vw) !important;
        margin-top: -10vw
    }

    .editor-title.text-slide-title {
        margin-bottom: -.5em
    }

    .produ ct-slide-origin .body,
    .product-slide-origin .col-wrap {
        min-height: 0
    }

    .section-mission {
        margin-top: -10vw
    }

    .col:last-child .float-img-wrap,
    .col:last-child .staic-img,
    .float-img,
    .float-img-pivot,
    .staic-img {
        -webkit-transform: translate(0);
        transform: translate(0);
        margin: 0 auto
    }

    .col:last-child .staic-img,
    .staic-img {
        margin: 5vw auto 10vw
    }

    .illust-img .bg-img {
        width: 20vw;
        height: 20vw
    }

    .section-img {
        width: calc(100% + 20vw);
        margin-left: -10vw
    }

    .section-img .bg-img {
        height: 75vw;
        width: 100%
    }

    .figure {
        position: relative;
        padding-bottom: 1.5em
    }

    .archive-ul {
        display: block
    }

    .archive-approach-ul {
        margin: 0
    }

    .archive-approach-ul .post {
        width: 100%;
        padding: 0
    }

    .num-flex .num-col:first-child {
        width: 0
    }

    .num-flex .num-col:last-child {
        width: 100%
    }

    .num-content {
        padding-right: 0
    }

    .num-content,
    .post .num-body,
    .post .num-title {
        margin-left: 0
    }

    .archive-ul {
        margin-bottom: -10vw
    }

    .archive-ul .post {
        padding: 0 0 10vw;
        width: 100%
    }

    .archive-ul .post-info {
        max-width: 9999px;
        padding-right: 0
    }

    .page-description .col:first-child {
        padding-right: 0
    }

    .page-description .col:last-child {
        padding-left: 0
    }

    .archive-body {
        padding-left: 0
    }

    .single-header .page-header-bg {
        background-color: #d6f2e4
    }

    .mce .single-image-wrap[data-type=full],
    .mce .single-image-wrap[data-type=large] {
        max-width: 100vw;
        width: 100vw;
        margin: 0 0 0 -10vw
    }

    .faq-section {
        padding-bottom: 10vw
    }

    .site-bnr-ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .site-bnr-cart .site-bnr-head {
        width: calc(100% - 9em)
    }

    .product-firsr-img .section-bg {
        margin-top: 10vw
    }

    .product-firsr-img .product-img {
        margin-top: -10vw
    }

    .product-img {
        padding-left: 10vw
    }

    [data-type=products-single] .editor h3 {
        text-align: left
    }

    .col-video-wrap {
        margin-bottom: 10vw;
        margin-top: 10vw
    }

    .col-video {
        -webkit-transform: translate(0);
        transform: translate(0);
        width: 100%;
        z-index: 2;
        position: relative
    }

    .col-video-bg {
        right: -10vw;
        top: -10vw
    }

    .col-thin .col:first-child {
        padding-right: 0
    }

    .product-info .col:first-child {
        padding-right: 0;
        margin-bottom: 2em
    }

    .product-info .col:last-child {
        padding-left: 0
    }

    .product-subtotal {
        margin: 0 0 1.5em
    }

    .product-form,
    .product-form-header {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .product-form-header {
        width: 100%
    }

    .product-table-tr {
        margin-right: 0;
        margin-bottom: 1.5em;
        width: 40%;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .product-table-td {
        !text-align: right
    }

    .product-form input,
    .product-form select {
        height: 50px;
        max-width: 8em
    }

    .product-form-footer {
        width: 100%
    }

    .news-ul a {
        display: block;
        position: relative
    }

    .news-ul .date,
    .news-ul .title {
        width: 100%;
        padding-right: calc(36px + 1em)
    }

    .news-ul .date {
        padding-bottom: .5em
    }

    .news-ul .icon {
        position: absolute;
        right: 0;
        top: 3.25em;
        width: 36px;
        height: 36px
    }

    .carousel-origin {
        overflow: hidden;
        height: 40vw
    }

    .carousel-wrap {
        overflow: scroll;
        padding-bottom: 2em
    }

    .carousel {
        width: auto !important
    }

    .carousel-li {
        padding: 0 0 0 5vw
    }

    .carousel-li:last-child {
        padding: 0 5vw
    }

    .carousel-w {
        width: 40vw
    }

    .carousel-h {
        width: 30vw
    }

    .product-gallary-control {
        margin: .5em -.5em 0
    }

    .product-gallary-a {
        width: 25%;
        margin: 0;
        padding: .5em
    }

    .page-footer-l {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .sns {
        display: block;
        width: 50%
    }

    .sns-icons a {
        width: 2em
    }

    .sns-icons {
        margin-left: -.5em;
        padding-left: 0
    }

    .page-footer-logo {
        width: 30vw
    }

    .page-footer-l .spr {
        width: 20vw
    }

    .sitemap {
        display: block
    }

    .sitemap-l {
        padding-bottom: 1em
    }

    .sitemap-l,
    .sitemap-r {
        width: 100%
    }

    .sns-icons {
        padding-top: .5em
    }

    .page-footer-l,
    .subscribe-wrap {
        padding-bottom: 20vw
    }

    .address {
        padding-left: calc(5vw - 1em);
        padding-right: 10vw
    }

    .subscribe input {
        height: 50px;
        border-radius: 5px
    }

    .subscribe-button {
        width: 36px;
        height: 36px;
        border-radius: 36px;
        -webkit-transform: translate(-7px, -50%);
        transform: translate(-7px, -50%)
    }

    .subscribe-output {
        padding-right: 50px
    }

    .subscribe-button-body {
        width: 36px;
        height: 36px
    }

    .mce .bg-img,
    .mce .bg-img .img,
    .site-bnr {
        border-radius: 0
    }

    .section-data .editor-header .budge {
        display: none
    }
}

@media screen and (max-width:320px) {

    .cart-item-thumb,
    .site-menu-pnavi .b,
    .site-menu-title,
    [data-path-type=l] .icon {
        display: none
    }

    .cart-item-info {
        padding: 0
    }

    .site-menu-mainnavi a {
        padding: .25em 0
    }

    .site-menu-lr {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .site-menu-l-footer {
        padding-top: 0
    }

    .site-menu-l,
    .site-menu-r {
        width: 100%;
        padding: 0
    }

    .site-menu-r {
        padding-bottom: 1em
    }

    [data-path-type=l].button-has-icon .txt {
        width: 100%;
        padding-left: 0
    }

    [data-path-type=l].button-has-icon .txt .t {
        text-align: center;
        display: block;
    }
}

@media screen and (max-width:640px) {
    .pc {
        display: none
    }

    .sp {
        display: block
    }
}

@media screen and (max-width:395px) {
    .product-title .site-bnr-li {
        font-size: 1.2rem !important;
        padding-right: .4em !important
    }
}

.alert-body {
    background-color: #003b54;
    color: #fbf8f8;
    padding: 25px
}

.alert a {
    color: #fbf8f8;
    text-decoration: underline
}

.alert {
    position: fixed;
    z-index: 9;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 100%
}

@media screen {
    .window {
        background-image: url(/assets/img/noscript/home.png);
        background-size: cover;
        background-position: 50%
    }

    .page-origin,
    .site-bnr {
        display: none
    }

    .alert {
        display: block !important
    }

    .alert-noscript {
        display: none;
    }
}

.is-desktop.is-safari .page-title .h1 {
    line-height: 1.15
}

.is-desktop.is-safari .page-title .h1 .clip .t {
    padding-bottom: 0
}

.dummyDiv {
    width: 100%;
    float: left;
    display: none;
}

.product-form-product-template {
    padding-top: 0px;
}

.buyDiv {
    display: inline-block;
    width: 100%;
    float: left;
    height: 390px;

}

.buyDiv ul {
    overflow: hidden;
    height: 310px;
    overflow-y: scroll;
    z-index: 10;
    padding: 10px;
    border: 1px solid #eeeeee;
}

.buyDiv ul li {
    width: 100%;
    height: 50px;
    display: inline-block;
    margin-bottom: 10px;
    border-bottom: 1px solid #eeeeee;
}

.buyDiv ul li .title {
    width: 55%;
    float: left;
    font-weight: var(--font-weight-body--bolder);
    padding-top: 8px;
}

.buyDiv ul li .sold_out {

    float: right;
    text-align: center;
    font-weight: var(--font-weight-body--bolder);
    padding-top: 8px;
    margin-left: 5%;
    margin-right: 5%;
    width: 35%;
}

.buyDiv ul li input {
    margin-left: 5%;
    width: 0%;
    float: left;
    height: 30px !important;
}

.buyDiv ul li .product-form__cart-submit {
    margin-left: 5%;
    margin-right: 5%;
    width: 35%;
    float: left;
    padding: 0px !important;
    min-height: 30px !important;
    height: 30px !important;
}

.product-form__cart-submit {

    background-color: rgba(0, 59, 84, 0.35) !important;
    /*    background-color: rgba(0, 59, 84, 0.2) !important;*/
    color: white !important;
    border-radius: 100px !important;

}

#up,
#down {
    width: 100%;
    height: 40px;
    color: var(--color-body) !important;
    background-color: var(--color-text) !important;
    z-index: 100;
    position: relative;
    text-align: center;
    font-weight: var(--font-weight-body--bolder);
    padding-top: 8px;
}

#up,
#down:hover {
    cursor: pointer;
}

.not {
    opacity: 0.2;
}

#up {
    border-radius: 30px 30px 0px 0px !important;
    margin: 5px 0px 0px 0px;
}

#down {
    border-radius: 0px 0px 30px 30px !important;
    margin: 0px 0px 40px 0px;
}

.btn,
.shopify-payment-button .shopify-payment-button__button--unbranded {
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 0.9em);
}

.body .grid__item {
    padding-left: 0px;
}

.strong {
    color: var(--color-body-text);
    font-size: 13.5px !important;
    font-weight: var(--font-weight-body--bolder);
}

#Quantity-product-template {
    width: 50px;
}

.label {
    padding-top: 10px;
}

.mb20 {
    margin-top: 2em;
    margin-bottom: 1.5em;
}

.product-gallary-control a {
    padding-right: .5em;
    padding-left: .5em;
    margin-top: 1em;
    width: 5.5em;
    height: 4.0em;
}

.product-gallary-control a div,
.product-gallary-li {
    border-radius: 5px;
    overflow: hidden;
}

@media only screen and (min-width: 748px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    .buyDiv ul li {
        width: 100%;
        height: 50px;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 749px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .buyDiv {
        margin: 0px 0px 0px 0px;
        height: 380px;

    }

    .buyDiv ul {
        height: 280px;
        padding: 10px;
        border: 1px solid #eeeeee;
    }

    .main {
        width: 95%;
        margin: 0% 2.5%;
    }

    .body .page-width {
        width: 100% !important;

    }

    .slide-wrap {
        /*.body, */
        width: 90% !important;
    }

    .mtSp10 {
        margin-top: 10px;
    }
}

@media only screen and (min-width: 772px) and (max-width: 900px) {

    .medium-up--one-half,
    body .page-width {
        width: 100%;
    }
}

.startText {
    margin: 10px 0px;
}

.label {
    margin-bottom: 1em;
    margin-top: 1.2em;

}

#shopify-section-product-recommendations {
    display: none;
}

@media screen and (min-width:901px) {
    body .page-width {
        width: 100%;
    }
}

.product-form__item {
    width: 80px;
    max-width: 80px;
    float: left;
}

.product-form input,
.product-form select {
    width: 80px;
    max-width: 80px;
}

.product-form__item--submit {
    width: 200px;
    max-width: 200px;
    margin-left: 20px;
}

.product-form__controls-group--submit {
    margin-top: 5px;
}

.slide-wrap {
    /* .body,  */
    width: 90% !important;
}

.product-form {
    padding-top: 10px !important;
}

.product-info .col:first-child {
    margin-bottom: 15px;
}

.return {
    text-align: right !important;
    margin-top: 3.2em !important;
}

.return a {
    display: inline-flex !important;
}

.return a:hover {
    opacity: 0.6;
    cursor: pointer;
}

.snsImg {
    width: calc(.9rem + .5vw) !important;
    height: auto !important;
}

.footer {
    display: inline-block:important;
}


.product-gallary-control a {
    width: 20%;
    height: 5.5em;
}

@media only screen and (min-width: 880px) and (max-width: 1060px) {
    .product-gallary-control a {
        width: 25%;
        height: 3.8em;
    }
}

@charset "UTF-8";

/*============================================================================
  Debut | Built with Shopify Slate

  Some things to know about this file:
    - Sass is compiled on Shopify's server so you don't need to convert it to CSS yourself
    - The output CSS is compressed and comments are removed
    - You cannot use native CSS/Sass @imports in this file without a build script
==============================================================================*/
/*================ SASS HELPERS ================*/
/*================ #Mixins ================*/
/*============================================================================
  Prefix mixin for generating vendor prefixes.
  Based on https://github.com/thoughtbot/bourbon/blob/master/app/assets/stylesheets/addons/_prefixer.scss

  Usage:
    // Input:
    .element {
      @include prefix(transform, scale(1), ms webkit spec);
    }

    // Output:
    .element {
      -ms-transform: scale(1);
      -webkit-transform: scale(1);
      transform: scale(1);
    }
==============================================================================*/
/*================ Media Query Mixin ================*/
/*================ Responsive Show/Hide Helper ================*/
/*================ Responsive Text Alignment Helper ================*/
/*============================================================================
  Convert pixels (unitless) to ems
  eg. for a relational value of 12px write calc-font-size(12) when the parent is 16px
  if the parent is another value say 24px write calc-font-size(12, 24)
  Based on https://github.com/thoughtbot/bourbon/blob/master/app/assets/stylesheets/functions/_px-to-em.scss
==============================================================================*/
/*============================================================================
  Flexbox prefix mixins from Bourbon
    https://github.com/thoughtbot/bourbon/blob/master/app/assets/stylesheets/css3/_flex-box.scss
==============================================================================*/
/*================ VARIABLES ================*/
/*============================================================================
  Grid Breakpoints and Class Names
    - Do not change the variable names
    - Breakpoint pixel values are used in the window.theme.breakpoints object
==============================================================================*/
/*============================================================================
  Generate breakpoint-specific column widths and push classes
    - Default column widths: $grid-breakpoint-has-widths: ($small, $medium-up);
    - Default is no push classes
==============================================================================*/
/*================ Color Variables ================*/
/*================ Sizing Variables ================*/
/*================ Footer Variables ================*/
/*================ Z-Index ================*/
/*================ SVG ================*/
/*================ Drawers ================*/
/*================ Hero Slider ================*/
/*================ Typography ================*/
/*================ Gift Cards ================*/
/*================ Z-index ================*/
/*================ Product video ================*/
/*================ Image placeholder ================*/
/*================ VENDOR ================*/
/*============================================================================
  Slick Slider 1.6.0

  - If upgrading Slick's styles, use the following variables/functions
    instead of the slick defaults (from slick-theme.scss)
  - This file includes default slick.scss styles (at Slick Slider SCSS)
    and slick-theme.scss (at Slick Slider Theme). Upgrade each area individually.
  - Remove `outline: none` from `.slick-dots li button`
==============================================================================*/
/*================ Slick Slider SCSS ================*/
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/*================ Slick Slider Theme ================*/
.slick-loading .slick-list {
    background: #fff var(--slick-img-url) center center no-repeat;
}

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    background: transparent;
    color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
    font-family: "slick-icons, sans-serif";
    font-size: 20px;
    line-height: 1;
    color: #000;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
    left: -25px;
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px;
}

.slick-prev:before {
    content: "←";
}

[dir="rtl"] .slick-prev:before {
    content: "→";
}

.slick-next {
    right: -25px;
}

[dir="rtl"] .slick-next {
    left: -25px;
    right: auto;
}

.slick-next:before {
    content: "→";
}

[dir="rtl"] .slick-next:before {
    content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button,
.slick-dots li a {
    border: 0;
    background: transparent;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before,
.slick-dots li a:hover:before,
.slick-dots li a:focus:before {
    opacity: 1;
}

.slick-dots li button:before,
.slick-dots li a:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "•";
    width: 20px;
    height: 20px;
    font-family: "slick-icons, sans-serif";
    font-size: 6px;
    line-height: 20px;
    text-align: center;
    color: #fff;
    opacity: 0.25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    color: #fff;
    opacity: 0.75;
}

/*================ GLOBAL ================*/
/*============================================================================
  #Normalize
  Based on normalize.css v3.0.2 | MIT License | git.io/normalize
==============================================================================*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

input,
textarea,
select,
.disclosure__toggle {
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

a {
    background-color: transparent;
}

b,
strong {
    font-weight: var(--font-weight-body--bolder);
}

em {
    font-style: italic;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    max-width: 100%;
    border: 0;
}

button,
input,
optgroup,
select,
.disclosure__toggle,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

input[type="search"],
input[type="number"],
input[type="email"],
input[type="password"] {
    -webkit-appearance: none;
    -moz-appearance: none;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

textarea {
    overflow: auto;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/*============================================================================
  Fast Tap
  enables no-delay taps (FastClick-esque) on supporting browsers
==============================================================================*/
a,
button,
[role="button"],
input,
label,
select,
.disclosure__toggle,
textarea {
    touch-action: manipulation;
}

/*============================================================================
  #Grid
==============================================================================*/
/*============================================================================
  Grid Setup
    1. Allow the grid system to be used on lists.
    2. Remove any margins and paddings that might affect the grid system.
    3. Apply a negative `margin-left` to negate the columns' gutters.
==============================================================================*/
/*============================================================================
  Reversed grids allow you to structure your source in the opposite
  order to how your rendered layout will appear.
==============================================================================*/
.grid--rev {
    direction: rtl;
    text-align: left;
}

.grid--rev>.grid__item {
    direction: ltr;
    text-align: left;
    float: right;
}

/*============================================================================
  Grid Columns
    - Create width classes, prepended by the breakpoint name.
==============================================================================*/
/*================ Grid push classes ================*/
/*================ Clearfix helper on uniform grids ================*/
/*================ Build Base Grid Classes ================*/
/* Whole */
.one-whole {
    width: 100%;
}

/* Halves */
.one-half {
    width: 50%;
}

/* Thirds */
.one-third {
    width: 33.33333%;
}

.two-thirds {
    width: 66.66667%;
}

/* Quarters */
.one-quarter {
    width: 25%;
}

.two-quarters {
    width: 50%;
}

.three-quarters {
    width: 75%;
}

/* Fifths */
.one-fifth {
    width: 20%;
}

.two-fifths {
    width: 40%;
}

.three-fifths {
    width: 60%;
}

.four-fifths {
    width: 80%;
}

/* Sixths */
.one-sixth {
    width: 16.66667%;
}

.two-sixths {
    width: 33.33333%;
}

.three-sixths {
    width: 50%;
}

.four-sixths {
    width: 66.66667%;
}

.five-sixths {
    width: 83.33333%;
}

/* Eighths */
.one-eighth {
    width: 12.5%;
}

.two-eighths {
    width: 25%;
}

.three-eighths {
    width: 37.5%;
}

.four-eighths {
    width: 50%;
}

.five-eighths {
    width: 62.5%;
}

.six-eighths {
    width: 75%;
}

.seven-eighths {
    width: 87.5%;
}

/* Tenths */
.one-tenth {
    width: 10%;
}

.two-tenths {
    width: 20%;
}

.three-tenths {
    width: 30%;
}

.four-tenths {
    width: 40%;
}

.five-tenths {
    width: 50%;
}

.six-tenths {
    width: 60%;
}

.seven-tenths {
    width: 70%;
}

.eight-tenths {
    width: 80%;
}

.nine-tenths {
    width: 90%;
}

/* Twelfths */
.one-twelfth {
    width: 8.33333%;
}

.two-twelfths {
    width: 16.66667%;
}

.three-twelfths {
    width: 25%;
}

.four-twelfths {
    width: 33.33333%;
}

.five-twelfths {
    width: 41.66667%;
}

.six-twelfths {
    width: 50%;
}

.seven-twelfths {
    width: 58.33333%;
}

.eight-twelfths {
    width: 66.66667%;
}

.nine-twelfths {
    width: 75%;
}

.ten-twelfths {
    width: 83.33333%;
}

.eleven-twelfths {
    width: 91.66667%;
}

.show {
    display: block !important;
}

.hide {
    display: none !important;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

/*================ Build Responsive Grid Classes ================*/
@media only screen and (max-width: 749px) {

    /* Whole */
    .small--one-whole {
        width: 100%;
    }

    /* Halves */
    .small--one-half {
        width: 50%;
    }

    /* Thirds */
    .small--one-third {
        width: 33.33333%;
    }

    .small--two-thirds {
        width: 66.66667%;
    }

    /* Quarters */
    .small--one-quarter {
        width: 25%;
    }

    .small--two-quarters {
        width: 50%;
    }

    .small--three-quarters {
        width: 75%;
    }

    /* Fifths */
    .small--one-fifth {
        width: 20%;
    }

    .small--two-fifths {
        width: 40%;
    }

    .small--three-fifths {
        width: 60%;
    }

    .small--four-fifths {
        width: 80%;
    }

    /* Sixths */
    .small--one-sixth {
        width: 16.66667%;
    }

    .small--two-sixths {
        width: 33.33333%;
    }

    .small--three-sixths {
        width: 50%;
    }

    .small--four-sixths {
        width: 66.66667%;
    }

    .small--five-sixths {
        width: 83.33333%;
    }

    /* Eighths */
    .small--one-eighth {
        width: 12.5%;
    }

    .small--two-eighths {
        width: 25%;
    }

    .small--three-eighths {
        width: 37.5%;
    }

    .small--four-eighths {
        width: 50%;
    }

    .small--five-eighths {
        width: 62.5%;
    }

    .small--six-eighths {
        width: 75%;
    }

    .small--seven-eighths {
        width: 87.5%;
    }

    /* Tenths */
    .small--one-tenth {
        width: 10%;
    }

    .small--two-tenths {
        width: 20%;
    }

    .small--three-tenths {
        width: 30%;
    }

    .small--four-tenths {
        width: 40%;
    }

    .small--five-tenths {
        width: 50%;
    }

    .small--six-tenths {
        width: 60%;
    }

    .small--seven-tenths {
        width: 70%;
    }

    .small--eight-tenths {
        width: 80%;
    }

    .small--nine-tenths {
        width: 90%;
    }

    /* Twelfths */
    .small--one-twelfth {
        width: 8.33333%;
    }

    .small--two-twelfths {
        width: 16.66667%;
    }

    .small--three-twelfths {
        width: 25%;
    }

    .small--four-twelfths {
        width: 33.33333%;
    }

    .small--five-twelfths {
        width: 41.66667%;
    }

    .small--six-twelfths {
        width: 50%;
    }

    .small--seven-twelfths {
        width: 58.33333%;
    }

    .small--eight-twelfths {
        width: 66.66667%;
    }

    .small--nine-twelfths {
        width: 75%;
    }

    .small--ten-twelfths {
        width: 83.33333%;
    }

    .small--eleven-twelfths {
        width: 91.66667%;
    }

    .grid--uniform .small--one-half:nth-child(2n+1),
    .grid--uniform .small--one-third:nth-child(3n+1),
    .grid--uniform .small--one-quarter:nth-child(4n+1),
    .grid--uniform .small--one-fifth:nth-child(5n+1),
    .grid--uniform .small--one-sixth:nth-child(6n+1),
    .grid--uniform .small--two-sixths:nth-child(3n+1),
    .grid--uniform .small--three-sixths:nth-child(2n+1),
    .grid--uniform .small--one-eighth:nth-child(8n+1),
    .grid--uniform .small--two-eighths:nth-child(4n+1),
    .grid--uniform .small--four-eighths:nth-child(2n+1),
    .grid--uniform .small--five-tenths:nth-child(2n+1),
    .grid--uniform .small--one-twelfth:nth-child(12n+1),
    .grid--uniform .small--two-twelfths:nth-child(6n+1),
    .grid--uniform .small--three-twelfths:nth-child(4n+1),
    .grid--uniform .small--four-twelfths:nth-child(3n+1),
    .grid--uniform .small--six-twelfths:nth-child(2n+1) {
        clear: both;
    }

    .small--show {
        display: block !important;
    }

    .small--hide {
        display: none !important;
    }

    .small--text-left {
        text-align: left !important;
    }

    .small--text-right {
        text-align: right !important;
    }

    .small--text-center {
        text-align: center !important;
    }
}

@media only screen and (min-width: 750px) {

    /* Whole */
    .medium-up--one-whole {
        width: 100%;
    }

    /* Halves */
    .medium-up--one-half {
        width: 50%;
    }

    /* Thirds */
    .medium-up--one-third {
        width: 33.33333%;
    }

    .medium-up--two-thirds {
        width: 66.66667%;
    }

    /* Quarters */
    .medium-up--one-quarter {
        width: 25%;
    }

    .medium-up--two-quarters {
        width: 50%;
    }

    .medium-up--three-quarters {
        width: 75%;
    }

    /* Fifths */
    .medium-up--one-fifth {
        width: 20%;
    }

    .medium-up--two-fifths {
        width: 40%;
    }

    .medium-up--three-fifths {
        width: 60%;
    }

    .medium-up--four-fifths {
        width: 80%;
    }

    /* Sixths */
    .medium-up--one-sixth {
        width: 16.66667%;
    }

    .medium-up--two-sixths {
        width: 33.33333%;
    }

    .medium-up--three-sixths {
        width: 50%;
    }

    .medium-up--four-sixths {
        width: 66.66667%;
    }

    .medium-up--five-sixths {
        width: 83.33333%;
    }

    /* Eighths */
    .medium-up--one-eighth {
        width: 12.5%;
    }

    .medium-up--two-eighths {
        width: 25%;
    }

    .medium-up--three-eighths {
        width: 37.5%;
    }

    .medium-up--four-eighths {
        width: 50%;
    }

    .medium-up--five-eighths {
        width: 62.5%;
    }

    .medium-up--six-eighths {
        width: 75%;
    }

    .medium-up--seven-eighths {
        width: 87.5%;
    }

    /* Tenths */
    .medium-up--one-tenth {
        width: 10%;
    }

    .medium-up--two-tenths {
        width: 20%;
    }

    .medium-up--three-tenths {
        width: 30%;
    }

    .medium-up--four-tenths {
        width: 40%;
    }

    .medium-up--five-tenths {
        width: 50%;
    }

    .medium-up--six-tenths {
        width: 60%;
    }

    .medium-up--seven-tenths {
        width: 70%;
    }

    .medium-up--eight-tenths {
        width: 80%;
    }

    .medium-up--nine-tenths {
        width: 90%;
    }

    /* Twelfths */
    .medium-up--one-twelfth {
        width: 8.33333%;
    }

    .medium-up--two-twelfths {
        width: 16.66667%;
    }

    .medium-up--three-twelfths {
        width: 25%;
    }

    .medium-up--four-twelfths {
        width: 33.33333%;
    }

    .medium-up--five-twelfths {
        width: 41.66667%;
    }

    .medium-up--six-twelfths {
        width: 50%;
    }

    .medium-up--seven-twelfths {
        width: 58.33333%;
    }

    .medium-up--eight-twelfths {
        width: 66.66667%;
    }

    .medium-up--nine-twelfths {
        width: 75%;
    }

    .medium-up--ten-twelfths {
        width: 83.33333%;
    }

    .medium-up--eleven-twelfths {
        width: 91.66667%;
    }

    .grid--uniform .medium-up--one-half:nth-child(2n+1),
    .grid--uniform .medium-up--one-third:nth-child(3n+1),
    .grid--uniform .medium-up--one-quarter:nth-child(4n+1),
    .grid--uniform .medium-up--one-fifth:nth-child(5n+1),
    .grid--uniform .medium-up--one-sixth:nth-child(6n+1),
    .grid--uniform .medium-up--two-sixths:nth-child(3n+1),
    .grid--uniform .medium-up--three-sixths:nth-child(2n+1),
    .grid--uniform .medium-up--one-eighth:nth-child(8n+1),
    .grid--uniform .medium-up--two-eighths:nth-child(4n+1),
    .grid--uniform .medium-up--four-eighths:nth-child(2n+1),
    .grid--uniform .medium-up--five-tenths:nth-child(2n+1),
    .grid--uniform .medium-up--one-twelfth:nth-child(12n+1),
    .grid--uniform .medium-up--two-twelfths:nth-child(6n+1),
    .grid--uniform .medium-up--three-twelfths:nth-child(4n+1),
    .grid--uniform .medium-up--four-twelfths:nth-child(3n+1),
    .grid--uniform .medium-up--six-twelfths:nth-child(2n+1) {
        clear: both;
    }

    .medium-up--show {
        display: block !important;
    }

    .medium-up--hide {
        display: none !important;
    }

    .medium-up--text-left {
        text-align: left !important;
    }

    .medium-up--text-right {
        text-align: right !important;
    }

    .medium-up--text-center {
        text-align: center !important;
    }
}

/*================ Build Grid Push Classes ================*/
@media only screen and (max-width: 749px) {

    /* Halves */
    .small--push-one-half {
        left: 50%;
    }

    /* Thirds */
    .small--push-one-third {
        left: 33.33333%;
    }

    .small--push-two-thirds {
        left: 66.66667%;
    }

    /* Quarters */
    .small--push-one-quarter {
        left: 25%;
    }

    .small--push-two-quarters {
        left: 50%;
    }

    .small--push-three-quarters {
        left: 75%;
    }

    /* Fifths */
    .small--push-one-fifth {
        left: 20%;
    }

    .small--push-two-fifths {
        left: 40%;
    }

    .small--push-three-fifths {
        left: 60%;
    }

    .small--push-four-fifths {
        left: 80%;
    }

    /* Sixths */
    .small--push-one-sixth {
        left: 16.66667%;
    }

    .small--push-two-sixths {
        left: 33.33333%;
    }

    .small--push-three-sixths {
        left: 50%;
    }

    .small--push-four-sixths {
        left: 66.66667%;
    }

    .small--push-five-sixths {
        left: 83.33333%;
    }

    /* Eighths */
    .small--push-one-eighth {
        left: 12.5%;
    }

    .small--push-two-eighths {
        left: 25%;
    }

    .small--push-three-eighths {
        left: 37.5%;
    }

    .small--push-four-eighths {
        left: 50%;
    }

    .small--push-five-eighths {
        left: 62.5%;
    }

    .small--push-six-eighths {
        left: 75%;
    }

    .small--push-seven-eighths {
        left: 87.5%;
    }

    /* Tenths */
    .small--push-one-tenth {
        left: 10%;
    }

    .small--push-two-tenths {
        left: 20%;
    }

    .small--push-three-tenths {
        left: 30%;
    }

    .small--push-four-tenths {
        left: 40%;
    }

    .small--push-five-tenths {
        left: 50%;
    }

    .small--push-six-tenths {
        left: 60%;
    }

    .small--push-seven-tenths {
        left: 70%;
    }

    .small--push-eight-tenths {
        left: 80%;
    }

    .small--push-nine-tenths {
        left: 90%;
    }

    /* Twelfths */
    .small--push-one-twelfth {
        left: 8.33333%;
    }

    .small--push-two-twelfths {
        left: 16.66667%;
    }

    .small--push-three-twelfths {
        left: 25%;
    }

    .small--push-four-twelfths {
        left: 33.33333%;
    }

    .small--push-five-twelfths {
        left: 41.66667%;
    }

    .small--push-six-twelfths {
        left: 50%;
    }

    .small--push-seven-twelfths {
        left: 58.33333%;
    }

    .small--push-eight-twelfths {
        left: 66.66667%;
    }

    .small--push-nine-twelfths {
        left: 75%;
    }

    .small--push-ten-twelfths {
        left: 83.33333%;
    }

    .small--push-eleven-twelfths {
        left: 91.66667%;
    }
}

@media only screen and (min-width: 750px) {

    /* Halves */
    .medium-up--push-one-half {
        left: 50%;
    }

    /* Thirds */
    .medium-up--push-one-third {
        left: 33.33333%;
    }

    .medium-up--push-two-thirds {
        left: 66.66667%;
    }

    /* Quarters */
    .medium-up--push-one-quarter {
        left: 25%;
    }

    .medium-up--push-two-quarters {
        left: 50%;
    }

    .medium-up--push-three-quarters {
        left: 75%;
    }

    /* Fifths */
    .medium-up--push-one-fifth {
        left: 20%;
    }

    .medium-up--push-two-fifths {
        left: 40%;
    }

    .medium-up--push-three-fifths {
        left: 60%;
    }

    .medium-up--push-four-fifths {
        left: 80%;
    }

    /* Sixths */
    .medium-up--push-one-sixth {
        left: 16.66667%;
    }

    .medium-up--push-two-sixths {
        left: 33.33333%;
    }

    .medium-up--push-three-sixths {
        left: 50%;
    }

    .medium-up--push-four-sixths {
        left: 66.66667%;
    }

    .medium-up--push-five-sixths {
        left: 83.33333%;
    }

    /* Eighths */
    .medium-up--push-one-eighth {
        left: 12.5%;
    }

    .medium-up--push-two-eighths {
        left: 25%;
    }

    .medium-up--push-three-eighths {
        left: 37.5%;
    }

    .medium-up--push-four-eighths {
        left: 50%;
    }

    .medium-up--push-five-eighths {
        left: 62.5%;
    }

    .medium-up--push-six-eighths {
        left: 75%;
    }

    .medium-up--push-seven-eighths {
        left: 87.5%;
    }

    /* Tenths */
    .medium-up--push-one-tenth {
        left: 10%;
    }

    .medium-up--push-two-tenths {
        left: 20%;
    }

    .medium-up--push-three-tenths {
        left: 30%;
    }

    .medium-up--push-four-tenths {
        left: 40%;
    }

    .medium-up--push-five-tenths {
        left: 50%;
    }

    .medium-up--push-six-tenths {
        left: 60%;
    }

    .medium-up--push-seven-tenths {
        left: 70%;
    }

    .medium-up--push-eight-tenths {
        left: 80%;
    }

    .medium-up--push-nine-tenths {
        left: 90%;
    }

    /* Twelfths */
    .medium-up--push-one-twelfth {
        left: 8.33333%;
    }

    .medium-up--push-two-twelfths {
        left: 16.66667%;
    }

    .medium-up--push-three-twelfths {
        left: 25%;
    }

    .medium-up--push-four-twelfths {
        left: 33.33333%;
    }

    .medium-up--push-five-twelfths {
        left: 41.66667%;
    }

    .medium-up--push-six-twelfths {
        left: 50%;
    }

    .medium-up--push-seven-twelfths {
        left: 58.33333%;
    }

    .medium-up--push-eight-twelfths {
        left: 66.66667%;
    }

    .medium-up--push-nine-twelfths {
        left: 75%;
    }

    .medium-up--push-ten-twelfths {
        left: 83.33333%;
    }

    .medium-up--push-eleven-twelfths {
        left: 91.66667%;
    }
}

/*================ #Helper Classes ================*/
.clearfix {
    *zoom: 1;
}

.clearfix::after {
    content: '';
    display: table;
    clear: both;
}

.visually-hidden {
    position: absolute !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.visually-hidden--inline {
    margin: 0;
    height: 1em;
}

.visually-hidden--static {
    position: static !important;
}

.js-focus-hidden:focus {
    outline: none;
}

.no-js:not(html) {
    display: none;
}

.no-js .no-js:not(html) {
    display: block;
}

.no-js .js {
    display: none;
}

.hide {
    display: none !important;
}

/*============================================================================
  Skip to content button
    - Overrides .visually-hidden when focused
==============================================================================*/
.skip-link:focus {
    clip: auto;
    width: auto;
    height: auto;
    margin: 0;
    color: var(--color-text);
    background-color: var(--color-bg);
    padding: 10px;
    opacity: 1;
    z-index: 10000;
    transition: none;
}

/*=============== Lazy loading ===================*/
.box {
    background: no-repeat;
    background-color: #f7f7f7;
    background-size: contain;
}

.ratio-container {
    position: relative;
}

.ratio-container:after {
    content: '';
    display: block;
    height: 0;
    width: 100%;
    /* 16:9 = 56.25% = calc(9 / 16 * 100%) */
    padding-bottom: 50%;
    content: "";
}

.ratio-container>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*=============== Critical CSS ===================*/
.main-content {
    opacity: 1;
}

.main-content .shopify-section {
    display: inherit;
}

.critical-hidden {
    display: inherit;
}

/*================ #Basic Styles ================*/
.page-width {
    *zoom: 1;
    max-width: 1200px;
    margin: 0 auto;
}

.page-width::after {
    content: '';
    display: table;
    clear: both;
}

.main-content {
    display: block;
    padding-top: 35px;
}

@media only screen and (min-width: 750px) {
    .main-content {
        padding-top: 55px;
    }
}

.section-header {
    margin-bottom: 35px;
}

@media only screen and (min-width: 750px) {
    .section-header {
        margin-bottom: 55px;
    }
}

/*================ Typography ================*/
blockquote {
    font-size: calc(((18) / (var(--font-size-base))) * 1em);
    font-style: normal;
    text-align: center;
    padding: 0 30px;
    margin: 0;
}

.rte blockquote {
    border-color: var(--color-border);
    border-width: 1px 0;
    border-style: solid;
    padding: 30px 0;
    margin-bottom: 27.5px;
}

blockquote p+cite {
    margin-top: 27.5px;
}

blockquote cite {
    display: block;
    font-size: 0.85em;
    font-weight: var(--font-weight-body);
}

blockquote cite::before {
    content: '\2014 \0020';
}

code,
pre {
    font-family: Consolas, monospace;
    font-size: 1em;
}

pre {
    overflow: auto;
}

input,
textarea,
select,
.disclosure__toggle {
    font-size: calc(var(--font-size-base) * 1px);
    font-family: var(--font-stack-body);
    font-style: var(--font-style-body);
    font-weight: var(--font-weight-body);
    color: var(--color-text);
    line-height: 1.5;
}

@media only screen and (max-width: 989px) {

    input,
    textarea,
    select,
    .disclosure__toggle,
    button {
        font-size: 16px;
    }
}

/*================ Headings ================*/
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    margin: 0 0 17.5px;
    font-family: var(--font-stack-header);
    font-style: var(--font-style-header);
    font-weight: var(--font-weight-header);
    line-height: 1.2;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a,
h6 a,
.h6 a {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}

h3,
.h3 {
    font-size: calc(((var(--font-size-header)) / (var(--font-size-base))) * 1em);
    text-transform: none;
    letter-spacing: 0;
}

@media only screen and (max-width: 749px) {

    h3,
    .h3 {
        font-size: calc(((var(--font-h3-mobile)) / (var(--font-size-base))) * 1em);
    }
}


h4,
.h4 {
    font-size: calc(((var(--font-h4-desktop)) / (var(--font-size-base))) * 1em);
}

@media only screen and (max-width: 749px) {

    h4,
    .h4 {
        font-size: calc(((var(--font-h4-mobile)) / (var(--font-size-base))) * 1em);
    }
}


h5,
.h5 {
    font-size: calc(((var(--font-h5-desktop)) / (var(--font-size-base))) * 1em);
}

@media only screen and (max-width: 749px) {

    h5,
    .h5 {
        font-size: calc(((var(--font-h5-mobile)) / (var(--font-size-base))) * 1em);
    }
}


h6,
.h6 {
    font-size: calc(((var(--font-h6-desktop)) / (var(--font-size-base))) * 1em);
}

@media only screen and (max-width: 749px) {

    h6,
    .h6 {
        font-size: calc(((var(--font-h6-mobile)) / (var(--font-size-base))) * 1em);
    }
}

/*================ RTE headings ================*/
.rte {
    color: var(--color-body-text);
    margin-bottom: 35px;
}

.rte:last-child {
    margin-bottom: 0;
}

.rte h1,
.rte h2,
.rte h3,
.rte .h3,
.rte h4,
.rte .h4,
.rte h5,
.rte .h5,
.rte h6,
.rte .h6 {
    margin-top: 55px;
    margin-bottom: 27.5px;
}

.rte h1:first-child,
.rte h2:first-child,
.rte h3:first-child,
.rte .h3:first-child,
.rte h4:first-child,
.rte .h4:first-child,
.rte h5:first-child,
.rte .h5:first-child,
.rte h6:first-child,
.rte .h6:first-child {
    margin-top: 0;
}

.rte li {
    margin-bottom: 4px;
    list-style: inherit;
}

.rte li:last-child {
    margin-bottom: 0;
}

.rte-setting {
    margin-bottom: 19.44444px;
}

.rte-setting:last-child {
    margin-bottom: 0;
}

/*================ Misc styles ================*/
.fine-print {
    font-size: calc(((14) / (var(--font-size-base))) * 1em);
    font-style: italic;
}

.txt--minor {
    font-size: 80%;
}

.txt--emphasis {
    font-style: italic;
}

.address {
    margin-bottom: 55px;
}

/*================ Hero and slideshow headers ================*/
.mega-title,
.mega-subtitle {
    color: var(--color-overlay-title-text);
}

.hero .mega-title,
.hero .mega-subtitle {
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}

@media only screen and (min-width: 750px) {

    .mega-title,
    .mega-subtitle {
        text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    }
}

.mega-title {
    margin-bottom: 8px;
}

.mega-title--large {
    font-size: calc(((var(--font-size-header) + 8) / (var(--font-size-base))) * 1em);
}

@media only screen and (min-width: 750px) {
    .mega-title--large {
        font-size: calc(((var(--font-mega-title-large-desktop)) / (var(--font-size-base))) * 1em);
    }
}

@media only screen and (min-width: 750px) {
    .mega-subtitle {
        font-size: calc(((var(--font-size-base) + 4) / (var(--font-size-base))) * 1em);
        margin: 0 auto;
    }

    .text-center .mega-subtitle {
        max-width: 75%;
    }
}

.mega-subtitle p {
    color: var(--color-overlay-title-text);
}

.mega-subtitle a {
    color: var(--color-overlay-title-text);
    border-bottom: 1px solid currentColor;
}

.mega-subtitle a:hover,
.mega-subtitle a:focus {
    color: var(--color-overlay-text-focus);
}

.mega-subtitle--large {
    font-size: calc(((var(--font-size-base) + 2) / (var(--font-size-base))) * 1em);
    font-weight: var(--font-weight-header);
}

@media only screen and (min-width: 750px) {
    .mega-subtitle--large {
        font-size: calc(((var(--font-size-base) + 8) / (var(--font-size-base))) * 1em);
    }
}

/*============================================================================
  Animation Classes and Keyframes
==============================================================================*/
.is-transitioning {
    display: block !important;
    visibility: visible !important;
}

/*================ #Icons ================*/
svg.icon:not(.icon--full-color) .icon-error__symbol,
symbol.icon:not(.icon--full-color) .icon-error__symbol {
    fill: #ffffff;
}

/*================ Payment Icons ================*/
.payment-icons {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    cursor: default;
}

@media only screen and (max-width: 749px) {
    .payment-icons {
        line-height: 40px;
    }
}

.payment-icons .icon {
    width: 38px;
    height: 24px;
    fill: inherit;
}

/*================ Social Icons ================*/
.social-icons .icon {
    width: 23px;
    height: 23px;
}

@media only screen and (min-width: 750px) {
    .social-icons .icon {
        width: 25px;
        height: 25px;
    }
}

.social-icons .icon.icon--wide {
    width: 40px;
}

/*================ Spinner Icon ================*/
.icon-spinner {
    -moz-animation: spin 500ms infinite linear;
    -o-animation: spin 500ms infinite linear;
    -webkit-animation: spin 500ms infinite linear;
    animation: spin 500ms infinite linear;
}

/*================ Error Icons ================*/
.icon-error {
    fill: #d20000;
    width: calc(var(--font-size-base) - 2px);
    height: calc(var(--font-size-base) - 2px);
    margin-top: 0.1em;
    flex-shrink: 0;
}

/*================ #Lists ================*/
ul,
ol {
    margin: 0;
    padding: 0;
}

ol {
    list-style: decimal;
}

/*================ #Rich Text Editor ================*/
.rte img {
    height: auto;
}

.rte table {
    table-layout: fixed;
}

.rte ul,
.rte ol {
    margin: 0 0 17.5px 35px;
}

.rte ul.list--inline,
.rte ol.list--inline {
    margin-left: 0;
}

.rte ul {
    list-style: disc outside;
}

.rte ul ul {
    list-style: circle outside;
}

.rte ul ul ul {
    list-style: square outside;
}

.rte a:not(.btn) {
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}

.text-center.rte ul,
.text-center.rte ol,
.text-center .rte ul,
.text-center .rte ol {
    margin-left: 0;
    list-style-position: inside;
}

.scrollable-wrapper {
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*================ #Links and Buttons ================*/




a[href^="tel"] {
    color: inherit;
}

/*================ Buttons ================*/
.btn,
.shopify-payment-button .shopify-payment-button__button--unbranded {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    width: auto;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 2px;
    padding: 8px 15px;
    background-color: var(--color-btn-primary);
    color: var(--color-btn-primary-text);
    font-family: var(--font-stack-header);
    font-style: var(--font-style-header);
    font-weight: var(--font-weight-header);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    white-space: normal;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
}

@media only screen and (min-width: 750px) {

    .btn,
    .shopify-payment-button .shopify-payment-button__button--unbranded {
        padding: 10px 18px;
    }
}

.btn .icon-arrow-right,
.shopify-payment-button .shopify-payment-button__button--unbranded .icon-arrow-right,
.btn .icon-arrow-left,
.shopify-payment-button .shopify-payment-button__button--unbranded .icon-arrow-left {
    height: 9px;
}

.btn[disabled],
.shopify-payment-button .shopify-payment-button__button--unbranded[disabled],
.btn[aria-disabled],
.shopify-payment-button .shopify-payment-button__button--unbranded[aria-disabled] {
    cursor: default;
    opacity: 0.5;
}

.btn--secondary {
    background-color: transparent;
    color: var(--color-btn-primary);
    border-color: var(--color-btn-primary);
}


.btn--secondary-accent {
    background-color: var(--color-body);
    color: var(--color-btn-primary);
    border-color: var(--color-btn-primary);
}


.btn--small {
    padding: 8px 10px;
    font-size: calc(((12) / (var(--font-size-base))) * 1em);
    line-height: 1;
}

.btn--tertiary {
    background-color: transparent;
    color: var(--color-small-button-text-border);
    border-color: var(--color-small-button-text-border);
}


/*================ Button variations ================*/
@media only screen and (max-width: 749px) {
    .btn--small-wide {
        padding-left: 50px;
        padding-right: 50px;
    }
}

.btn--link {
    background-color: transparent;
    border: 0;
    margin: 0;
    color: var(--color-text);
    text-align: left;
}

.btn--link .icon {
    vertical-align: middle;
}

.btn--narrow {
    padding-left: 15px;
    padding-right: 15px;
}

.btn--has-icon-after .icon {
    margin-left: 10px;
}

.btn--has-icon-before .icon {
    margin-right: 10px;
}

/*================ Force an input/button to look like a text link ================*/
.text-link {
    display: inline;
    border: 0 none;
    background: none;
    padding: 0;
    margin: 0;
}

.text-link--accent {
    color: var(--color-btn-primary);
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}


/*================ Return to collection/blog links ================*/
.return-link-wrapper {
    margin-top: 82.5px;
    margin-bottom: 0;
}

@media only screen and (max-width: 749px) {
    .return-link-wrapper {
        margin-top: 55px;
    }
}

.full-width-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

/*================ #Tables ================*/
table {
    margin-bottom: 27.5px;
}

table a {
    border-bottom: 1px solid currentColor;
}

th {
    font-family: var(--font-stack-header);
    font-style: var(--font-style-header);
    font-weight: var(--font-weight-body--bold);
}

th,
td {
    text-align: left;
    border: 1px solid var(--color-border);
    padding: 10px 14px;
}

tbody th,
tfoot th {
    font-weight: normal;
}

/*============================================================================
  Responsive tables, defined with .responsive-table on table element.
==============================================================================*/
@media only screen and (max-width: 749px) {
    .responsive-table thead {
        display: none;
    }

    .responsive-table th,
    .responsive-table td {
        float: left;
        clear: left;
        width: 100%;
        text-align: right;
        padding: 27.5px;
        border: 0;
        margin: 0;
    }

    .responsive-table th::before,
    .responsive-table td::before {
        content: attr(data-label);
        float: left;
        text-align: center;
        font-size: 12px;
        padding-right: 10px;
        font-weight: normal;
    }

    .responsive-table__row+.responsive-table__row,
    tfoot>.responsive-table__row:first-child {
        position: relative;
        margin-top: 10px;
        padding-top: 55px;
    }

    .responsive-table__row+.responsive-table__row::after,
    tfoot>.responsive-table__row:first-child::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 27.5px;
        right: 27.5px;
        border-bottom: 1px solid var(--color-border);
    }
}

/*================ #Images and Iframes ================*/
svg:not(:root) {
    overflow: hidden;
}

.video-wrapper {
    position: relative;
    overflow: hidden;
    max-width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    height: auto;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*================ Adds a background color pulsating animation ================*/
[data-image-loading-animation] {
    background-color: var(--global-color-image-loader-primary);
    -moz-animation: image-loader 2s 400ms infinite;
    -o-animation: image-loader 2s 400ms infinite;
    -webkit-animation: image-loader 2s 400ms infinite;
    animation: image-loader 2s 400ms infinite;
}

.no-js [data-image-loading-animation] {
    animation-name: none;
}

/*================ Forms ================*/
form {
    margin: 0;
}

fieldset {
    border: 1px solid var(--color-border-form);
    margin: 0 0 55px;
    padding: 27.5px;
}

legend {
    border: 0;
    padding: 0;
}

button {
    cursor: pointer;
}

input[type="submit"] {
    cursor: pointer;
}

label {
    display: block;
    margin-bottom: 5px;
}

@media only screen and (max-width: 749px) {
    label {
        font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    }
}

[type="radio"]+label,
[type="checkbox"]+label {
    display: inline-block;
    margin-bottom: 0;
}

label[for] {
    cursor: pointer;
}

input,
textarea,
select,
.disclosure__toggle {
    border: 1px solid var(--color-border-form);
    background-color: var(--color-text-field);
    color: var(--color-text-field-text);
    max-width: 100%;
    line-height: 1.2;
    border-radius: 2px;
}

input:focus,
textarea:focus,
select:focus,
.disclosure__toggle:focus {
    border-color: var(--color-border-form-darker);
}

input[disabled],
textarea[disabled],
select[disabled],
.disclosure__toggle[disabled] {
    cursor: default;
    background-color: #f4f4f4;
    border-color: #f4f4f4;
}

input.input--error::-webkit-input-placeholder,
textarea.input--error::-webkit-input-placeholder,
select.input--error::-webkit-input-placeholder,
.input--error.disclosure__toggle::-webkit-input-placeholder {
    color: #d20000;
    opacity: 0.5;
}

input.input--error::-moz-placeholder,
textarea.input--error::-moz-placeholder,
select.input--error::-moz-placeholder,
.input--error.disclosure__toggle::-moz-placeholder {
    color: #d20000;
    opacity: 0.5;
}

input.input--error:-ms-input-placeholder,
textarea.input--error:-ms-input-placeholder,
select.input--error:-ms-input-placeholder,
.input--error.disclosure__toggle:-ms-input-placeholder {
    color: #d20000;
    opacity: 0.5;
}

input.input--error::-ms-input-placeholder,
textarea.input--error::-ms-input-placeholder,
select.input--error::-ms-input-placeholder,
.input--error.disclosure__toggle::-ms-input-placeholder {
    color: #d20000;
    opacity: 1;
}

input.hidden-placeholder::-webkit-input-placeholder,
textarea.hidden-placeholder::-webkit-input-placeholder,
select.hidden-placeholder::-webkit-input-placeholder,
.hidden-placeholder.disclosure__toggle::-webkit-input-placeholder {
    color: transparent;
}

input.hidden-placeholder::-moz-placeholder,
textarea.hidden-placeholder::-moz-placeholder,
select.hidden-placeholder::-moz-placeholder,
.hidden-placeholder.disclosure__toggle::-moz-placeholder {
    color: transparent;
}

input.hidden-placeholder:-ms-input-placeholder,
textarea.hidden-placeholder:-ms-input-placeholder,
select.hidden-placeholder:-ms-input-placeholder,
.hidden-placeholder.disclosure__toggle:-ms-input-placeholder {
    color: transparent;
}

input.hidden-placeholder::-ms-input-placeholder,
textarea.hidden-placeholder::-ms-input-placeholder,
select.hidden-placeholder::-ms-input-placeholder,
.hidden-placeholder.disclosure__toggle::-ms-input-placeholder {
    opacity: 1;
}

.product-form input,
.product-form textarea,
.product-form select,
.product-form .disclosure__toggle {
    min-height: 44px;
}

textarea {
    min-height: 100px;
}

/*================ Error styles ================*/
input.input--error,
select.input--error,
.input--error.disclosure__toggle,
textarea.input--error {
    border-color: #d20000;
    background-color: #fff8f8;
    color: #d20000;
    margin-bottom: 11.66667px;
}

.input-error-message {
    display: flex;
    line-height: 1.3;
    color: var(--color-body-text);
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    margin-bottom: 11.66667px;
}

@media only screen and (max-width: 749px) {
    .input-error-message {
        margin-bottom: 19.44444px;
    }
}

.input-error-message .icon {
    width: 1em;
    height: 1em;
    margin-right: calc((10 / (var(--font-size-base))) * 1em);
}


select,
.disclosure__toggle {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-position: right center;
    background-image: var(--svg-select-icon);
    background-repeat: no-repeat;
    background-position: right 10px center;
    line-height: 1.2;
    padding-right: 28px;
    text-indent: 0.01px;
    text-overflow: '';
    cursor: pointer;
    padding-top: 8px;
    padding-left: 15px;
    padding-bottom: 8px;
}

@media only screen and (min-width: 750px) {

    select,
    .disclosure__toggle {
        padding-top: 10px;
        padding-left: 18px;
        padding-bottom: 10px;
    }
}

.select-group {
    position: relative;
    z-index: 2;
}

.select-group select,
.select-group .disclosure__toggle {
    background-image: none;
    background-color: transparent;
}

.select-group .icon {
    height: calc(8em / 16);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: calc(8em / 16);
    z-index: -1;
}

.select-label {
    font-size: calc(((12) / (var(--font-size-base))) * 1em);
    text-transform: uppercase;
}

optgroup {
    font-weight: var(--font-weight-body--bold);
}

option {
    color: var(--color-text);
    background-color: var(--color-body);
}

select::-ms-expand,
.disclosure__toggle::-ms-expand {
    display: none;
}

/*================ Form labels ================*/
.label--hidden {
    position: absolute;
    height: 0;
    width: 0;
    margin-bottom: 0;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

::-webkit-input-placeholder {
    color: var(--color-text-field-text);
    opacity: 0.6;
}

::-moz-placeholder {
    color: var(--color-text-field-text);
    opacity: 0.6;
}

:-ms-input-placeholder {
    color: var(--color-text-field-text);
    opacity: 0.6;
}

::-ms-input-placeholder {
    color: var(--color-text-field-text);
    opacity: 1;
}

/*================ Labels ================*/
.label--error {
    color: #d20000;
}

input,
textarea {
    padding: 8px 15px;
}

@media only screen and (min-width: 750px) {

    input,
    textarea {
        padding: 10px 18px;
    }
}

/*================ Vertical forms ================*/
.form-vertical input,
.form-vertical select,
.form-vertical .disclosure__toggle,
.form-vertical textarea {
    display: block;
    width: 100%;
    margin-bottom: 19.44444px;
}

.form-vertical input.input--error,
.form-vertical select.input--error,
.form-vertical .input--error.disclosure__toggle,
.form-vertical textarea.input--error {
    margin-bottom: 11.66667px;
}

.form-vertical [type="radio"],
.form-vertical [type="checkbox"] {
    display: inline-block;
    width: auto;
    margin-right: 5px;
}

.form-vertical [type="submit"],
.form-vertical .btn,
.form-vertical .shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-payment-button .form-vertical .shopify-payment-button__button--unbranded {
    display: inline-block;
    width: auto;
}

/*================ Single field forms ================*/
.form-single-field {
    margin: 0 auto 55px;
    max-width: 35rem;
}

.form-single-field .input--error {
    margin-bottom: 0;
}

/*================ Form feedback messages ================*/
.note,
.form-message {
    padding: 8px;
    margin: 0 0 27.5px;
    border: 1px solid var(--color-border-form);
}

@media only screen and (min-width: 750px) {

    .note,
    .form-message {
        padding: 10px;
    }
}

.form-message--success {
    border: 1px solid #1F873D;
    background-color: #f8fff9;
    color: #1F873D;
    display: block;
    width: 100%;
}

.form-message--error {
    color: #651818;
    border: 1px solid #d20000;
    background-color: #fff8f8;
    padding: 1rem 1.3rem;
    text-align: left;
    width: 100%;
}

.form-message--error li {
    list-style-type: disc;
    list-style-position: inside;
}

.form-message--error .form-message__title {
    font-size: 1.2em;
}

.form-message--error .form-message__link,
.form-message--error a {
    display: inline-block;
    text-decoration: underline;
    text-decoration-skip-ink: auto;
    color: #651818;
}


/*================ Input Groups ================*/
.input-group {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
}

.form-vertical .input-group {
    margin-bottom: 55px;
}

.input-group--nowrap {
    flex-wrap: nowrap;
}

.input-group--error {
    margin-bottom: 11.66667px;
}

.input-group__field,
.input-group__field input,
.input-group__btn .btn,
.input-group__btn .shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-payment-button .input-group__btn .shopify-payment-button__button--unbranded {
    min-height: 42px;
}

@media only screen and (min-width: 750px) {

    .input-group__field,
    .input-group__field input,
    .input-group__btn .btn,
    .input-group__btn .shopify-payment-button .shopify-payment-button__button--unbranded,
    .shopify-payment-button .input-group__btn .shopify-payment-button__button--unbranded {
        min-height: 46px;
    }
}

.input-group__field {
    -ms-flex-preferred-size: 15rem;
    -webkit-flex-basis: 15rem;
    -moz-flex-basis: 15rem;
    flex-basis: 15rem;
    flex-grow: 9999;
    margin-bottom: 1rem;
    border-radius: 2px 0 0 2px;
    text-align: left;
}

.input-group__field input {
    width: 100%;
}

.form-vertical .input-group__field {
    margin: 0;
}

.input-group__field--connected {
    margin-bottom: 0;
}

.input-group__field--connected input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group__btn {
    flex-grow: 1;
}

.input-group__btn .btn,
.input-group__btn .shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-payment-button .input-group__btn .shopify-payment-button__button--unbranded {
    width: 100%;
    border-radius: 0 2px 2px 0;
}

/*================ #Site Nav and Dropdowns ================*/
.site-nav--centered {
    padding-bottom: 22px;
}

/*================ Site Nav Links ================*/
.site-nav__link.site-nav--active-dropdown {
    border: 1px solid var(--color-border);
    border-bottom: 1px solid transparent;
    z-index: 2;
}



@media only screen and (max-width: 989px) {
    .site-nav__link--button {
        font-size: calc(var(--font-size-base) * 1px);
    }
}



/*================ Dropdowns ================*/
.site-nav--has-dropdown {
    position: relative;
}

.site-nav--has-centered-dropdown {
    position: static;
}

.site-nav__dropdown {
    display: none;
    position: absolute;
    padding: 11px 30px 11px 0;
    margin: 0;
    z-index: 7;
    text-align: left;
    border: 1px solid var(--color-border);
    background: var(--color-bg);
    left: -1px;
    top: 41px;
}

.site-nav__dropdown .site-nav__link {
    padding: 4px 15px 5px;
}

.site-nav--active-dropdown .site-nav__dropdown {
    display: block;
}

.site-nav__dropdown li {
    display: block;
}

.site-nav__dropdown--right:not(.site-nav__dropdown--centered) {
    right: 0;
    left: unset;
}

.site-nav__dropdown--left:not(.site-nav__dropdown--centered) {
    left: 0;
}

.site-nav__dropdown--centered {
    width: 100%;
    padding: 0;
    text-align: center;
}

/*================ Child list ================*/
.site-nav__childlist {
    display: inline-block;
    background: var(--color-bg);
    padding: 11px 17px;
    text-align: left;
}

.site-nav__childlist-grid {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: auto;
    margin-bottom: -15px;
}

.site-nav__childlist-item {
    -webkit-flex: 0 1 auto;
    -moz-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    margin-bottom: 15px;
}

.site-nav__child-link--parent {
    font-weight: var(--font-weight-body--bold);
    margin: 4px 0;
}

body.prevent-scrolling {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

.page-width {
    padding-left: 55px;
    padding-right: 55px;
}

@media only screen and (max-width: 749px) {
    .page-width {
        padding-left: 22px;
        padding-right: 22px;
    }
}

.page-container {
    transition: all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1);
    position: relative;
    overflow: hidden;
}

@media only screen and (min-width: 750px) {
    .page-container {
        -ms-transform: translate3d(0, 0, 0);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

hr {
    margin: 55px 0;
    border: 0;
    border-bottom: 1px solid var(--color-border);
}

.hr--small {
    padding: 10px 0;
    margin: 0;
}

.hr--invisible {
    border-bottom: 0;
}

.border-top {
    border-top: 1px solid var(--color-border);
}

.empty-page-content {
    padding: 125px 55px;
}

@media only screen and (max-width: 749px) {
    .empty-page-content {
        padding-left: 22px;
        padding-right: 22px;
    }
}

.grid--half-gutters {
    margin-left: -15px;
}

.grid--half-gutters>.grid__item {
    padding-left: 15px;
}

.grid--double-gutters {
    margin-left: -60px;
}

.grid--double-gutters>.grid__item {
    padding-left: 60px;
}

.grid--flush-bottom {
    margin-bottom: -55px;
    overflow: auto;
}

.grid--flush-bottom>.grid__item {
    margin-bottom: 55px;
}

@-webkit-keyframes spin {
    0% {
        -ms-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -ms-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spin {
    0% {
        -ms-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -ms-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-ms-keyframes spin {
    0% {
        -ms-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -ms-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -ms-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -ms-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes image-loader {
    0% {
        background-color: var(--global-color-image-loader-primary);
    }

    50% {
        background-color: var(--global-color-image-loader-primary);
    }

    100% {
        background-color: var(--global-color-image-loader-primary);
    }
}

@-moz-keyframes image-loader {
    0% {
        background-color: var(--global-color-image-loader-primary);
    }

    50% {
        background-color: var(--global-color-image-loader-primary);
    }

    100% {
        background-color: var(--global-color-image-loader-primary);
    }
}

@-ms-keyframes image-loader {
    0% {
        background-color: var(--global-color-image-loader-primary);
    }

    50% {
        background-color: var(--global-color-image-loader-primary);
    }

    100% {
        background-color: var(--global-color-image-loader-primary);
    }
}

@keyframes image-loader {
    0% {
        background-color: var(--global-color-image-loader-primary);
    }

    50% {
        background-color: var(--global-color-image-loader-primary);
    }

    100% {
        background-color: var(--global-color-image-loader-primary);
    }
}

.drawer {
    display: none;
    position: fixed;
    -webkit-overflow-scrolling: touch;
    z-index: 9;
}

.js-drawer-open-top .drawer {
    display: block;
}

.drawer--top {
    width: 100%;
    -ms-transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.js-drawer-open-top .drawer--top {
    -ms-transform: translateY(0%);
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    display: flex;
    max-height: 100vh;
}

.drawer-page-content::after {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 8;
    transition: all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1);
}

.js-drawer-open .drawer-page-content::after {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.drawer__title,
.drawer__close {
    display: table-cell;
    vertical-align: middle;
}

.drawer__close-button {
    background: none;
    border: 0 none;
    position: relative;
    right: -15px;
    height: 100%;
    width: 60px;
    padding: 0 20px;
    color: inherit;
    font-size: calc(((18) / (var(--font-size-base))) * 1em);
}

.drawer__close-button:active,
.drawer__close-button:focus {
    background-color: rgba(0, 0, 0, 0.6);
}

.grid--view-items {
    overflow: auto;
    margin-bottom: -35px;
}

.grid-view-item {
    margin: 0 auto 35px;
}

.custom__item .grid-view-item {
    margin-bottom: 0;
}

.grid-view-item__title {
    margin-bottom: 0;
    color: var(--color-text);
}

.grid-view-item__meta {
    margin-top: 8px;
}

@media only screen and (max-width: 749px) {

    .grid-view-item__title,
    .grid-view-item__meta {
        font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
    }
}

.grid-view-item__link {
    display: block;
}

.grid-view-item__vendor {
    margin-top: 4px;
    color: var(--color-body-text);
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    text-transform: uppercase;
}

@media only screen and (max-width: 749px) {
    .grid-view-item__vendor {
        font-size: calc(((var(--font-size-base) - 3) / (var(--font-size-base))) * 1em);
    }
}

.grid-view-item__image-wrapper {
    margin: 0 auto 15px;
    position: relative;
    width: 100%;
}

.grid-view-item__image {
    display: block;
    margin: 0 auto;
    width: 100%;
}

.grid-view-item__image-wrapper .grid-view-item__image {
    position: absolute;
    top: 0;
}

.grid-view-item__image.lazyload {
    opacity: 0;
}

.list-view-item {
    margin-bottom: 22px;
}

.list-view-item:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 750px) {
    .list-view-item {
        border-bottom: 1px solid var(--color-border);
        padding-bottom: 22px;
    }

    .list-view-item:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }
}

.list-view-item__link {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.list-view-item__image {
    max-height: 95px;
}

.list-view-item__image-column {
    display: table-cell;
    vertical-align: middle;
    width: 130px;
    min-height: 44px;
}

@media only screen and (max-width: 749px) {
    .list-view-item__image-column {
        width: 85px;
    }
}

.list-view-item__image-wrapper {
    position: relative;
    margin-right: 35px;
}

@media only screen and (max-width: 749px) {
    .list-view-item__image-wrapper {
        margin-right: 17.5px;
    }
}

.list-view-item__title-column {
    display: table-cell;
    vertical-align: middle;
}

.list-view-item__title {
    color: var(--color-text);
    min-width: 100px;
    font-family: var(--font-stack-header);
    font-style: var(--font-style-header);
    font-weight: var(--font-weight-header);
    font-size: calc(((var(--font-size-base) + 2) / (var(--font-size-base))) * 1em);
}

@media only screen and (max-width: 749px) {
    .list-view-item__title {
        font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
    }
}

.list-view-item__vendor {
    color: var(--color-body-text);
    font-size: 0.9em;
    font-weight: var(--font-weight-body);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.list-view-item__price-column {
    display: table-cell;
    text-align: right;
    vertical-align: middle;
    width: 20%;
    font-size: calc(((var(--font-size-base) + 1) / (var(--font-size-base))) * 1em);
}

@media only screen and (max-width: 749px) {
    .list-view-item__price-column {
        font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
    }
}

.list-view-item__price-column .price {
    align-items: flex-end;
}

.list-view-item__price-column .price dd {
    margin: 0 0 0 0.5em;
}

.list-view-item__price-column .price__regular,
.list-view-item__price-column .price__sale {
    flex-basis: 100%;
    justify-content: flex-end;
    margin-right: 0;
}

/*============================================================================
  Slick slider overrides
==============================================================================*/
.slick-dotted.slick-slider {
    margin-bottom: 0;
}

/*================ Slick dots and prev/next pagination ================*/
.slideshow__arrows .slick-dots {
    margin: 0 0.75rem;
}

.slideshow__arrows .slick-dots li {
    margin: 0;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    margin-left: 6px;
}

.slideshow__arrows .slick-dots li:first-of-type {
    margin-left: 0;
}

@media only screen and (min-width: 750px) {
    .slideshow__arrows .slick-dots li {
        width: 12px;
        height: 12px;
        margin-left: 8px;
    }
}

.slideshow__arrows .slick-dots li button,
.slideshow__arrows .slick-dots li a {
    position: relative;
    padding: 0;
    width: 10px;
    height: 10px;
}

@media only screen and (min-width: 750px) {

    .slideshow__arrows .slick-dots li button,
    .slideshow__arrows .slick-dots li a {
        width: 12px;
        height: 12px;
    }
}

.slideshow__arrows .slick-dots li button::before,
.slideshow__arrows .slick-dots li a::before {
    text-indent: -9999px;
    background-color: transparent;
    border-radius: 100%;
    background-color: currentColor;
    width: 10px;
    height: 10px;
    opacity: 0.4;
    transition: all 0.2s;
}

@media only screen and (min-width: 750px) {

    .slideshow__arrows .slick-dots li button::before,
    .slideshow__arrows .slick-dots li a::before {
        width: 12px;
        height: 12px;
    }
}

.slideshow__arrows .slick-dots li.slick-active button::before,
.slideshow__arrows .slick-dots li.slick-active a::before,
.slideshow__arrows .slick-dots li.slick-active-mobile button::before,
.slideshow__arrows .slick-dots li.slick-active-mobile a::before {
    opacity: 1;
}

.slideshow__arrows .slick-dots li button:active::before,
.slideshow__arrows .slick-dots li .slick-active a::before,
.slideshow__arrows .slick-dots li .slick-active-mobile a::before {
    opacity: 0.7;
}

/*================ Index sections ================*/
.index-section {
    padding-top: 35px;
    padding-bottom: 35px;
}

@media only screen and (min-width: 750px) {
    .index-section {
        padding-top: 55px;
        padding-bottom: 55px;
    }
}

.index-section:first-child {
    padding-top: 0;
    border-top: 0;
}

.index-section:last-child {
    padding-bottom: 0;
}

.index-section--flush+.index-section--flush {
    margin-top: -70px;
}

@media only screen and (min-width: 750px) {
    [class*="index-section--flush"]+[class*="index-section--flush"] {
        margin-top: -110px;
    }
}

.index-section--flush:first-child {
    margin-top: -35px;
}

@media only screen and (min-width: 750px) {
    [class*="index-section--flush"]:first-child {
        margin-top: -55px;
    }
}

.index-section--flush:last-child {
    margin-bottom: -35px;
}

@media only screen and (min-width: 750px) {
    [class*="index-section--flush"]:last-child {
        margin-bottom: -55px;
    }
}

@media only screen and (max-width: 749px) {
    .index-section--featured-product:first-child {
        margin-top: -12px;
    }
}

@media only screen and (max-width: 749px) {
    .index-section--slideshow+.index-section--flush {
        margin-top: 0.4rem;
    }
}

.placeholder-svg {
    display: block;
    fill: var(--color-blankstate);
    background-color: var(--color-blankstate-background);
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    border: 1px solid var(--color-blankstate-border);
}

.placeholder-noblocks {
    padding: 40px;
    text-align: center;
}

.placeholder-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.placeholder-background .icon {
    border: 0;
}

.image-bar__content .placeholder-svg {
    position: absolute;
    top: 0;
    left: 0;
}

.plyr.plyr--full-ui.plyr--video {
    color: var(--color-text);
    background-color: transparent;
    /* stylelint-disable-next-line */
    /* stylelint-disable-next-line */
    /* stylelint-disable-next-line */
}

.plyr.plyr--full-ui.plyr--video .plyr__video-wrapper {
    background-color: transparent;
}

.plyr.plyr--full-ui.plyr--video .plyr__poster {
    background-color: var(--color-video-bg);
}

.plyr.plyr--full-ui.plyr--video:fullscreen .plyr__video-wrapper .plyr.plyr--full-ui.plyr--video:fullscreen .plyr__poster {
    background-color: #000;
}

.plyr.plyr--full-ui.plyr--video:-webkit-full-screen .plyr__video-wrapper,
.plyr.plyr--full-ui.plyr--video:-webkit-full-screen .plyr__poster {
    background-color: #000;
}

.plyr.plyr--full-ui.plyr--video:-moz-full-screen .plyr__video-wrapper,
.plyr.plyr--full-ui.plyr--video:-moz-full-screen .plyr__poster {
    background-color: #000;
}

.plyr.plyr--full-ui.plyr--video:-ms-fullscreen .plyr__video-wrapper,
.plyr.plyr--full-ui.plyr--video:-ms-fullscreen .plyr__poster {
    background-color: #000;
}

.plyr.plyr--full-ui.plyr--video .plyr--fullscreen-fallback .plyr__video-wrapper,
.plyr.plyr--full-ui.plyr--video .plyr--fullscreen-fallback .plyr__poster {
    background-color: #000;
}

.plyr.plyr--full-ui.plyr--video .plyr__control.plyr__control--overlaid {
    background-color: var(--color-bg);
    border-color: rgba(var(--color-text-rgb), 0.05);
}

.plyr.plyr--full-ui.plyr--video .plyr__control.plyr__control--overlaid.plyr__tab-focus,
.plyr.plyr--full-ui.plyr--video .plyr__control.plyr__control--overlaid:hover {
    color: rgba(var(--color-text-rgb), 0.55);
}

.plyr.plyr--full-ui.plyr--video .plyr__controls {
    background-color: var(--color-bg);
    border-color: rgba(var(--color-text-rgb), 0.05);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']::-moz-range-thumb {
    box-shadow: 2px 0 0 0 var(--color-bg);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']::-ms-thumb {
    box-shadow: 2px 0 0 0 var(--color-bg);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']::-webkit-slider-thumb {
    box-shadow: 2px 0 0 0 var(--color-bg);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']::-webkit-slider-runnable-track {
    background-image: linear-gradient(to right, currentColor var(--value, 0), rgba(var(--color-text-rgb), 0.6) var(--value, 0));
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']::-moz-range-track {
    background-color: rgba(var(--color-text-rgb), 0.6);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']::-ms-fill-upper {
    background-color: rgba(var(--color-text-rgb), 0.6);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range'].plyr__tab-focus::-webkit-slider-runnable-track {
    box-shadow: 0 0 0 4px rgba(var(--color-text-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range'].plyr__tab-focus::-moz-range-track {
    box-shadow: 0 0 0 4px rgba(var(--color-text-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range'].plyr__tab-focus::-ms-track {
    box-shadow: 0 0 0 4px rgba(var(--color-text-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']:active::-moz-range-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-text-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']:active::-ms-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-text-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress input[type='range']:active::-webkit-slider-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-text-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress .plyr__tooltip {
    background-color: var(--color-text);
    color: var(--color-bg);
}

.plyr.plyr--full-ui.plyr--video .plyr__progress .plyr__tooltip::before {
    border-top-color: var(--color-text);
}

.plyr.plyr--full-ui.plyr--video.plyr--loading .plyr__progress__buffer {
    background-image: linear-gradient(-45deg, rgba(var(--color-text-rgb), 0.6) 25%, transparent 25%, transparent 50%, rgba(var(--color-text-rgb), 0.6) 50%, rgba(var(--color-text-rgb), 0.6) 75%, transparent 75%, transparent);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range'] {
    color: var(--color-bg);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']::-moz-range-thumb {
    box-shadow: 2px 0 0 0 var(--color-text);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']::-ms-thumb {
    box-shadow: 2px 0 0 0 var(--color-text);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']::-webkit-slider-thumb {
    box-shadow: 2px 0 0 0 var(--color-text);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']::-webkit-slider-runnable-track {
    background-image: linear-gradient(to right, currentColor var(--value, 0), rgba(var(--color-bg-rgb), 0.6) var(--value, 0));
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']::-moz-range-track,
.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']::-ms-fill-upper {
    background-color: rgba(var(--color-bg-rgb), 0.6);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range'].plyr__tab-focus::-webkit-slider-runnable-track {
    box-shadow: 0 0 0 4px rgba(var(--color-bg-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range'].plyr__tab-focus::-moz-range-track {
    box-shadow: 0 0 0 4px rgba(var(--color-bg-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range'].plyr__tab-focus::-ms-track {
    box-shadow: 0 0 0 4px rgba(var(--color-bg-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']:active::-moz-range-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-bg-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']:active::-ms-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-bg-rgb), 0.25);
}

.plyr.plyr--full-ui.plyr--video .plyr__volume input[type='range']:active::-webkit-slider-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-bg-rgb), 0.25);
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__controls-area {
    background: var(--color-bg);
    border-color: rgba(var(--color-text-rgb), 0.05);
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button {
    color: var(--color-text);
}



.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:active,
.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control.focus-visible:focus {
    color: rgba(var(--color-text-rgb), 0.55);
    background: rgba(var(--color-text-rgb), 0.05);
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:not(:last-child):after {
    border-color: rgba(var(--color-text-rgb), 0.05);
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster {
    background: var(--color-bg);
    border-color: rgba(var(--color-text-rgb), 0.05);
}



/*================ TEMPLATES ================*/
/*============= Templates | Password =============*/
.password-page {
    display: table;
    height: 100%;
    width: 100%;
    color: var(--color-body-text);
    background-color: var(--color-body);
    background-size: cover;
}

.password-form-message {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.password-header {
    height: 85px;
    display: table-row;
}

.password-header__inner {
    display: table-cell;
    vertical-align: middle;
}

.password-login {
    padding: 0 30px;
    text-align: right;
}

.password-logo .logo {
    color: var(--color-text);
    font-weight: var(--font-weight-header);
    max-width: 100%;
}

.password-content {
    text-align: center;
}

.password-content--rte {
    margin-bottom: 35px;
}

.password-content__title {
    display: block;
    margin-bottom: 82.5px;
}

.password-main {
    display: table-row;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.password-main__inner {
    display: table-cell;
    vertical-align: middle;
    padding: 27.5px 55px;
}

.password-message {
    max-width: 500px;
    margin: 82.5px auto 27.5px;
}

.password__form-heading {
    margin-bottom: 55px;
}

.password-powered-by {
    margin-top: 82.5px;
}

.password-social-sharing {
    margin-top: 82.5px;
}

.product-single {
    overflow-anchor: none;
}

.product-single__title {
    margin-bottom: 0.5rem;
}

.product__price,
.featured-product__price {
    font-size: 1.25em;
}

.product__policies {
    margin: 0.4rem 0 1rem 0;
    font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
}

/*================ Add to cart form ================*/
.product-form {
    width: auto;
    padding-top: 2rem;
}

.product-form__controls-group {
    display: flex;
    flex-wrap: wrap;
}

.product-form__controls-group--submit {
    margin-top: 0px;
}

.product-form__controls-group~.product-form__controls-group--submit {
    margin-top: 15px;
}

.product-form__item {
    flex-grow: 0;
    flex-basis: 100%;
    margin-bottom: 10px;
    padding: 0;
}

@media only screen and (min-width: 990px) {
    .product-form__item {
        flex-basis: 50%;
        padding: 0 5px;
    }

    .product-single--large-image .product-form__item {
        flex-basis: 100%;
    }
}

.product-form__item label {
    display: block;
}

.product-form__item--submit {
    -webkit-flex: 1 1 300px;
    -moz-flex: 1 1 300px;
    -ms-flex: 1 1 300px;
    flex: 1 1 300px;
}

.product-form__item--no-variants {
    max-width: 400px;
}

.product-form__item--payment-button {
    -ms-flex-preferred-size: 100%;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
}

@media only screen and (min-width: 990px) {

    .product-single--small-media .product-form__item--payment-button,
    .product-single--full-media .product-form__item--payment-button {
        display: inline-flex;
        -ms-flex-align: start;
        -webkit-align-items: flex-start;
        -moz-align-items: flex-start;
        -ms-align-items: flex-start;
        -o-align-items: flex-start;
        align-items: flex-start;
    }
}

.product-form__item--payment-button.product-form__item--no-variants {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    -ms-align-items: stretch;
    -o-align-items: stretch;
    align-items: stretch;
}

.product-form--variant-sold-out .shopify-payment-button {
    display: none;
}

.product-form--payment-button-no-variants {
    max-width: 25rem;
}

.product-form__variants {
    display: none;
}

.no-js .product-form__variants {
    display: block;
}

.product-form__input {
    display: block;
    width: 100%;
}

.product-form__input.input--error {
    margin-bottom: 0;
}

.product-form__input--quantity {
    max-width: 5rem;
}

.product-form__error-message-wrapper {
    display: flex;
    flex-basis: 100%;
    padding: 0.5rem 0;
    margin: 0 calc((5 / (var(--font-size-base))) * 1em) 20px;
}

.product-form__controls-group~.product-form__error-message-wrapper {
    margin-bottom: 0;
}

.product-form__error-message-wrapper--has-payment-button {
    padding: 0.5rem 0;
}

.product-form__error-message-wrapper--hidden {
    display: none;
}

.product-form__error-message {
    margin-left: 0.5rem;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    line-height: 1.2;
    color: var(--color-body-text);
}

.product-form__cart-submit,
.shopify-payment-button .shopify-payment-button__button--unbranded {
    display: block;
    width: 100%;
    line-height: 1.4;
    padding-left: 5px;
    padding-right: 5px;
    white-space: normal;
    margin-top: 0;
    margin-bottom: 10px;
    min-height: 55px;
}

.product-single--small-media .product-form__cart-submit,
.product-single--small-media .shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-payment-button .product-single--small-media .shopify-payment-button__button--unbranded,
.product-single--full-media .product-form__cart-submit,
.product-single--full-media .shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-payment-button .product-single--full-media .shopify-payment-button__button--unbranded {
    -webkit-flex: 50%;
    -moz-flex: 50%;
    -ms-flex: 50%;
    flex: 50%;
    margin-right: 10px;
}

.product-single--small-media .shopify-payment-button,
.product-single--full-media .shopify-payment-button {
    -webkit-flex: 50%;
    -moz-flex: 50%;
    -ms-flex: 50%;
    flex: 50%;
}



.shopify-payment-button .shopify-payment-button__button--branded {
    border-radius: 2px;
    overflow: hidden;
}

.shopify-payment-button .shopify-payment-button__more-options {
    margin: 16px 0 10px;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    text-decoration: underline;
}



@media only screen and (min-width: 750px) {
    .product-form__cart-submit--small {
        max-width: 300px;
    }
}

.product-single__description {
    margin-top: 30px;
}

.product__quantity-error .icon {
    margin-right: 1rem;
}

/*================ Product Images ================*/
.product-single__thumbnail {
    display: block;
    margin: -2px 0 8px;
    min-height: 44px;
    position: relative;
    border: 2px solid transparent;
}

.product-single__thumbnail.active-thumb {
    border-color: var(--color-text);
}

.product-single__thumbnail-image {
    max-width: 100%;
    display: block;
    margin: 0 auto;
    padding: 2px;
}

.product-single__thumbnail-badge {
    width: 22px;
    height: 22px;
    position: absolute;
    right: 6px;
    top: 6px;
    pointer-events: none;
}

@media only screen and (min-width: 750px) {
    .product-single__thumbnail-badge {
        width: 26px;
        height: 26px;
    }
}

.product-single__thumbnail-badge .icon {
    fill: var(--color-bg);
    width: 100%;
    height: 100%;
    vertical-align: baseline;
}

.product-single__thumbnail-badge .icon-3d-badge-full-color-outline,
.product-single__thumbnail-badge .icon-video-badge-full-color-outline {
    stroke: rgba(var(--color-text-rgb), 0.05);
}

.product-single__thumbnail-badge .icon-3d-badge-full-color-element,
.product-single__thumbnail-badge .icon-video-badge-full-color-element {
    fill: var(--color-text);
}

.product-featured-media {
    display: block;
    margin: 0 auto;
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(100% - 8px);
}

.no-js .product-featured-media {
    position: relative;
}

.zoomImg {
    background-color: var(--color-body);
}

@media only screen and (max-width: 749px) {
    .product-single__media-group {
        margin-bottom: 30px;
    }

    .product-single__media--has-thumbnails {
        margin-bottom: 30px;
    }
}

.product-single__media-group--full {
    margin-bottom: 30px;
}

.product-single__media-wrapper {
    margin: 0 auto;
    width: 100%;
}

.product-single__media {
    margin: 0 auto;
    min-height: 1px;
    width: 100%;
    height: 100%;
    position: relative;
}

.product-single__media iframe,
.product-single__media model-viewer,
.product-single__media .shopify-model-viewer-ui,
.product-single__media img,
.product-single__media>video,
.product-single__media .plyr,
.product-single__media .media-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
}

.product-single__media iframe,
.product-single__media .media-video,
.product-single__media model-viewer,
.product-single__media .shopify-model-viewer-ui,
.product-single__media .media-item,
.product-single__media .plyr,
.product-single__media .plyr__video-wrapper {
    height: 100%;
}

.product-single__media--video {
    background-color: var(--color-video-bg);
}

.product-single__view-in-space {
    background-color: rgba(var(--color-text-rgb), 0.08);
    border: none;
    width: 100%;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: block;
    font-size: calc(((var(--font-size-base)) / (var(--font-size-base))) * 1em);
    color: var(--color-text);
}

.product-single__view-in-space[data-shopify-xr-hidden] {
    visibility: hidden;
}

@media only screen and (min-width: 750px) {
    .product-single__view-in-space[data-shopify-xr-hidden] {
        display: none;
    }
}

.product-single__view-in-space:hover .product-single__view-in-space-text,
.product-single__view-in-space:focus .product-single__view-in-space-text {
    border-bottom-color: var(--color-text);
}

.product-single__view-in-space svg.icon {
    height: calc((25 / (var(--font-size-base))) * 1em);
    width: calc((25 / (var(--font-size-base))) * 1em);
    margin-top: -3px;
    margin-right: 2.43px;
    fill: transparent;
}

.product-single__view-in-space svg.icon .icon-3d-badge-full-color-outline {
    stroke: none;
}

.product-single__view-in-space svg.icon .icon-3d-badge-full-color-element {
    fill: var(--color-text);
    opacity: 1;
}

.product-single__view-in-space-text {
    border-bottom: 1px solid transparent;
}

@media only screen and (max-width: 749px) {
    .template-product .main-content {
        padding-top: 22px;
    }

    .product-single__media-group {
        position: relative;
    }

    .thumbnails-wrapper {
        position: relative;
        top: 10px;
        text-align: center;
        margin: 0 2px 30px 2px;
    }

    .thumbnails-slider__btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .thumbnails-slider__btn .icon {
        height: 14px;
        width: 14px;
    }

    .thumbnails-slider__prev {
        left: -15px;
    }

    .thumbnails-slider__next {
        right: -15px;
    }

    .product-single__thumbnail {
        margin: 0 auto;
    }
}

.product-single__thumbnails {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
    margin-left: -9px;
    margin-right: -9px;
}

@media only screen and (max-width: 749px) {
    .product-single__thumbnails {
        margin-top: 0;
        justify-content: center;
    }

    .slider-active .product-single__thumbnails {
        display: block;
        margin: 0 auto;
        max-width: 75%;
        overflow: hidden;
    }
}

@media only screen and (max-width: 749px) {
    .product-single__thumbnails-slider-track {
        position: relative;
        left: 0;
        top: 0;
        display: block;
    }

    .product-single__thumbnails-slider-track:before,
    .product-single__thumbnails-slider-track:after {
        content: "";
        display: table;
    }

    .product-single__thumbnails-slider-track:after {
        clear: both;
    }
}

@media only screen and (min-width: 750px) {
    .product-single__thumbnails-slider-track {
        display: flex;
        flex-wrap: wrap;
    }
}

.product-single__thumbnails-item {
    flex: 0 0 25%;
    padding-left: 5px;
}

@media only screen and (max-width: 749px) {
    .product-single__thumbnails-item.slick-slide {
        padding-bottom: 10px;
        padding-left: 2.5px;
        padding-right: 2.5px;
        vertical-align: middle;
    }

    .thumbnails-slider--active .product-single__thumbnails-item.slick-slide {
        padding-top: 5px;
        padding-bottom: 5px;
    }
}

@media only screen and (min-width: 750px) {
    .product-single__thumbnails-item {
        padding-left: 5px;
        padding-right: 5px;
    }
}

@media only screen and (max-width: 749px) {
    .product-single__thumbnails-item-slide {
        display: block;
        float: left;
        height: 100%;
        min-height: 1px;
        padding: 5px 2.5px;
    }
}

@media only screen and (min-width: 750px) {
    .product-single__thumbnails-item--small {
        flex: 0 0 50%;
    }
}

@media only screen and (min-width: 990px) {
    .product-single__thumbnails-item--small {
        flex: 0 0 33.33333%;
    }
}

@media only screen and (min-width: 750px) {
    .product-single__thumbnails-item--medium {
        flex: 0 0 33.33333%;
    }
}

@media only screen and (min-width: 990px) {
    .product-single__thumbnails-item--medium {
        flex: 0 0 25%;
    }
}

@media only screen and (min-width: 750px) {
    .product-single__thumbnails-item--large {
        flex: 0 0 25%;
    }
}

@media only screen and (min-width: 990px) {
    .product-single__thumbnails-item--large {
        flex: 0 0 20%;
    }
}

@media only screen and (min-width: 750px) {
    .product-single__thumbnails-item--full {
        flex: 0 0 20%;
    }
}

@media only screen and (min-width: 990px) {
    .product-single__thumbnails-item--full {
        flex: 0 0 12.5%;
    }
}

/*================ Template | Collections ================*/
.collection-hero {
    position: relative;
    overflow: hidden;
    margin-top: -55px;
    margin-bottom: 22px;
}

@media only screen and (min-width: 750px) {
    .collection-hero {
        margin-bottom: 35px;
    }
}

.collection-description {
    margin-bottom: 22px;
    margin-top: 22px;
}

@media only screen and (min-width: 750px) {
    .collection-description {
        margin-bottom: 35px;
        margin-top: 35px;
    }
}

.collection-hero__image {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 300px;
    opacity: 1;
}

@media only screen and (max-width: 749px) {
    .collection-hero__image {
        height: 180px;
    }
}

.collection-hero__title-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-image-overlay);
    opacity: var(--opacity-image-overlay);
}

.collection-hero__title {
    position: absolute;
    color: var(--color-overlay-title-text);
    width: 100%;
    text-align: center;
    left: 0;
    right: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media only screen and (min-width: 750px) {
    .collection-hero__title {
        font-size: calc(((var(--font-size-header) + 6) / (var(--font-size-base))) * 1em);
    }
}

.template-blog .social-sharing {
    margin-bottom: 17.5px;
}

.blog-list-view .pagination {
    padding-top: 0;
}

.blog-filter {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
}

.blog-filter .icon-chevron-down {
    fill: var(--color-text-field-text);
    width: calc(10em / 16);
    height: calc(10em / 16);
    right: 0.7rem;
}

.blog-filter__label {
    margin: 0 1rem 0 0;
}

.cart-header {
    margin-bottom: 0.7rem;
    text-align: center;
}

@media only screen and (min-width: 750px) {
    .cart-header {
        margin-bottom: 1.7rem;
    }
}

.cart-header__title {
    margin-bottom: 0.5rem;
}

@media only screen and (min-width: 750px) {
    .cart-header__title {
        margin-bottom: 1rem;
    }
}

/*================ Cart page ================*/
.cart {
    color: var(--color-body-text);
}

.cart th,
.cart td {
    border: 0;
}

.cart td {
    padding-top: 22px;
    padding-bottom: 22px;
}

@media only screen and (min-width: 750px) {
    .cart td {
        padding-left: 22px;
        padding-right: 22px;
    }
}

.cart th {
    font-family: var(--font-stack-body);
    font-weight: var(--font-weight-body);
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    text-transform: uppercase;
    padding: 27.5px 22px;
}

@media only screen and (max-width: 749px) {

    .cart td:nth-child(3),
    .cart th:nth-child(2) {
        padding-left: 0;
        padding-right: 0;
    }
}

.cart td:first-child,
.cart th:first-child {
    padding-left: 0;
}

.cart td:first-child.cart__removed-product,
.cart th:first-child.cart__removed-product {
    padding: 1rem 0 1.2rem 0.5rem;
}

.cart td:last-child,
.cart th:last-child {
    padding-right: 0;
}

.cart dd {
    margin-left: 0;
}

.cart__meta {
    width: 50%;
}

@media only screen and (min-width: 750px) {
    .cart__meta {
        width: 40%;
    }
}

@media only screen and (min-width: 990px) {
    .cart__meta {
        width: 45%;
    }
}

.cart__product-information {
    display: flex;
}

.cart__image-wrapper {
    padding-right: 1.5rem;
    flex: 5rem 0 0;
}

@media only screen and (min-width: 750px) {
    .cart__image-wrapper {
        padding-right: 2.5rem;
        flex: 8rem 0 0;
    }
}

@media only screen and (min-width: 990px) {
    .cart__image-wrapper {
        padding-right: 3rem;
        flex: 9rem 0 0;
    }
}

.product-details {
    padding: calc((5 / (var(--font-size-base))) * 1em) 0 0;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
}

.product-details.hide+.cart__remove {
    margin-top: 0;
}

.product-details__item {
    margin-bottom: 0.15em;
}

.product-details__item--variant-option:not(.hide)+.product-details__item--property {
    margin-top: 0.8rem;
}

.product-details__item-label {
    font-weight: var(--font-weight-body--bold);
}

.cart__qty {
    margin-top: calc((15 / (var(--font-size-base))) * 1em);
}

@media only screen and (min-width: 750px) {
    .cart__qty {
        margin-top: 0;
    }
}

.cart__qty-label {
    position: absolute !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.cart__qty-input {
    text-align: center;
    width: 60px;
    padding-left: calc((5 / (var(--font-size-base))) * 1em);
    padding-right: calc((5 / (var(--font-size-base))) * 1em);
}

.cart__qty-error-message-wrapper,
.cart__error-message-wrapper {
    line-height: 1.2;
}

.cart__qty-error-message-wrapper .icon-error,
.cart__error-message-wrapper .icon-error {
    margin-top: 0;
}

.cart__qty-error-message-wrapper--desktop {
    display: none;
}

@media only screen and (min-width: 750px) {
    .cart__qty-error-message-wrapper--desktop {
        display: block;
    }
}

.cart__qty-error-message-wrapper--mobile {
    display: block;
}

@media only screen and (min-width: 750px) {
    .cart__qty-error-message-wrapper--mobile {
        display: none;
    }
}

.cart__qty-error-message,
.cart__error-message {
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    color: var(--color-body-text);
    vertical-align: middle;
}

.cart__error-message-wrapper {
    margin-top: 1rem;
}

@media only screen and (min-width: 750px) {
    .cart__error-message-wrapper {
        margin-top: 0.8rem;
    }
}

.cart__row {
    border-bottom: 1px solid var(--color-border);
}

.cart__row p {
    margin-bottom: 0;
}

.cart__row p+p {
    margin-top: 10px;
}

.cart__row td {
    vertical-align: top;
}

@media only screen and (min-width: 750px) {
    .cart__row td {
        vertical-align: middle;
    }
}

.cart__row--heading {
    color: var(--color-text);
    letter-spacing: 0.3px;
}

.cart__removed-product-details {
    font-weight: var(--font-weight-body--bold);
}

.cart-subtotal__title {
    font-size: calc(((var(--font-size-base) + 2) / (var(--font-size-base))) * 1em);
}

.cart-subtotal__price {
    padding-left: 27.5px;
}

@media only screen and (min-width: 750px) {
    .cart-subtotal__price {
        padding-left: 55px;
        min-width: 150px;
        display: inline-block;
    }
}

.cart__footer {
    padding-top: 17.5px;
}

.cart__buttons-container {
    display: flex;
    flex-direction: column;
    max-width: 20rem;
    margin: 0 auto;
}

@media only screen and (min-width: 750px) {
    .cart__buttons-container {
        display: block;
        max-width: none;
    }
}

.cart__submit-controls {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media only screen and (min-width: 750px) {
    .cart__submit-controls {
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-align: start;
        -webkit-align-items: flex-start;
        -moz-align-items: flex-start;
        -ms-align-items: flex-start;
        -o-align-items: flex-start;
        align-items: flex-start;
        -webkit-justify-content: flex-end;
        -ms-justify-content: flex-end;
        justify-content: flex-end;
    }
}

.cart__submit {
    margin-bottom: 0;
    min-height: 44px;
    width: 100%;
}

.cart__submit+.cart__submit {
    margin-top: 10px;
    margin-left: 0;
}

@media only screen and (min-width: 750px) {
    .cart__submit {
        min-height: auto;
        width: auto;
    }

    .cart__submit+.cart__submit {
        margin-top: 0;
        margin-left: 10px;
    }
}

.cart__shipping {
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    padding: 10px 0 20px;
    margin-bottom: 25px;
}

.cart-note__label,
.cart-note__input {
    display: block;
}

@media only screen and (max-width: 749px) {

    .cart-note__label,
    .cart-note__input {
        margin: 0 auto;
    }
}

.cart-note__label {
    margin-bottom: 15px;
}

.cart-note__input {
    min-height: 50px;
    width: 100%;
}

@media only screen and (max-width: 749px) {
    .cart-note__input {
        margin-bottom: 40px;
    }
}

.cart__product-title {
    border-bottom: none;
    color: var(--color-body-text);
}


.cart__image {
    max-height: 95px;
    display: block;
    margin: 0 auto;
}

.cart__remove {
    margin-top: calc((8 / (var(--font-size-base))) * 1em);
}

.cart__price {
    text-align: right;
    padding-right: 0;
    font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
    width: 50%;
}

.cart__price dl {
    margin: 0;
}

@media only screen and (min-width: 750px) {
    .cart__price {
        width: 25%;
    }
}

.cart__quantity-td {
    width: 20%;
}

.cart__final-price {
    width: 15%;
}

@media only screen and (max-width: 749px) {
    .cart-message {
        padding-top: 20px;
    }

    .cart__qty-label {
        position: inherit !important;
        overflow: auto;
        clip: auto;
        width: auto;
        height: auto;
        margin: 0;
        display: inline-block;
        vertical-align: middle;
        font-size: calc(((13) / (var(--font-size-base))) * 1em);
        margin-right: 5px;
    }
}

.cart--no-cookies .cart__continue-btn {
    display: none;
}

.cart--no-cookies .cart--empty-message {
    display: none;
}

.cookie-message {
    display: none;
    padding-bottom: 25px;
}

.cart--no-cookies .cookie-message {
    display: block;
}

.additional-checkout-buttons {
    margin-top: 1rem;
}

.additional-checkout-buttons input[type="image"] {
    padding: 0;
    border: 0;
    background: transparent;
}

[data-shopify-buttoncontainer] {
    justify-content: flex-end;
}

.myaccount {
    display: flex;
    flex-wrap: wrap;
}

@media only screen and (min-width: 990px) {
    .myaccount__order-history {
        -webkit-flex: 1 0 66.66667%;
        -moz-flex: 1 0 66.66667%;
        -ms-flex: 1 0 66.66667%;
        flex: 1 0 66.66667%;
    }
}

@media only screen and (min-width: 990px) {
    .myaccount__account-details {
        -webkit-flex: 1 0 33.33333%;
        -moz-flex: 1 0 33.33333%;
        -ms-flex: 1 0 33.33333%;
        flex: 1 0 33.33333%;
    }
}

.order-table {
    border: 1px solid var(--color-border);
}

.order-table a {
    border-bottom: 1px solid currentColor;
}

.order-table th,
.order-table td {
    border: 0;
}

.order-table tbody th,
.order-table tfoot th {
    font-weight: normal;
    text-transform: none;
    letter-spacing: 0;
}

.order-table tbody tr+tr {
    border-top: 1px solid var(--color-border);
}

.order-table thead {
    border-bottom: 1px solid var(--color-body-text);
}

.order-table tfoot {
    border-top: 1px solid var(--color-body-text);
}

.order-table tfoot tr:first-child th,
.order-table tfoot tr:first-child td {
    padding-top: 1.25em;
}

.order-table tfoot tr:nth-last-child(2) th,
.order-table tfoot tr:nth-last-child(2) td {
    padding-bottom: 1.25em;
}

.order-table tfoot tr:last-child th,
.order-table tfoot tr:last-child td {
    border-top: 1px solid var(--color-body-text);
    font-weight: var(--font-weight-body--bold);
    padding-top: 1.25em;
    padding-bottom: 1.25em;
    text-transform: uppercase;
}

@media only screen and (min-width: 750px) {
    .order-table thead th {
        text-transform: uppercase;
        padding-top: 1.25em;
        padding-bottom: 1.25em;
    }

    .order-table tbody tr th,
    .order-table tbody tr td {
        padding-top: 1.25em;
        padding-bottom: 1.25em;
    }

    .order-table tfoot tr td,
    .order-table tfoot tr th {
        vertical-align: bottom;
    }
}

@media only screen and (max-width: 749px) {
    .order-table {
        border: 0;
    }

    .order-table thead {
        display: none;
    }

    .order-table th,
    .order-table td {
        float: left;
        clear: left;
        width: 100%;
        text-align: right;
        padding: 0.5rem 0;
        border: 0;
        margin: 0;
    }

    .order-table th::before,
    .order-table td::before {
        content: attr(data-label);
        float: left;
        text-align: left;
        padding-right: 2em;
        max-width: 80%;
    }

    .order-table tbody tr th:first-child {
        padding-top: 1.25em;
    }

    .order-table tbody tr td:last-child {
        padding-bottom: 1.25em;
    }

    .order-table tbody th::before,
    .order-table tbody td::before {
        font-weight: var(--font-weight-body--bold);
    }
}

@media only screen and (max-width: 749px) {
    .order-table__product {
        display: flex;
        justify-content: space-between;
    }
}

.order-discount {
    color: var(--color-sale-text);
    display: block;
    line-height: 1.2em;
}

.order-discount .icon-saletag {
    fill: currentColor;
    width: 1em;
    height: 1em;
    margin-right: 0.4em;
}

.order-discount--title {
    text-transform: uppercase;
    word-break: break-word;
    padding-right: 1em;
}

.order-discount--list {
    margin: 0.8em 0 0 1.3em;
    list-style: none;
    padding: 0;
}

.order-discount__item {
    text-indent: -1.3em;
}

.order-discount__item+.order-discount__item {
    margin-top: 0.6em;
}

@media only screen and (max-width: 749px) {
    .order-discount-wrapper {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
}

.order-discount-card-wrapper {
    display: flex;
    justify-content: center;
}

@media only screen and (min-width: 750px) {
    .order-discount-card-wrapper {
        justify-content: flex-end;
    }
}

.order-discount--cart {
    font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
    padding-right: 0;
}

@media only screen and (min-width: 750px) {
    .order-discount--cart {
        font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    }
}

.order-discount--cart-total {
    padding-left: 27.5px;
}

@media only screen and (min-width: 750px) {
    .order-discount--cart-total {
        padding-left: 55px;
        min-width: 150px;
    }
}

/*================ MODULES ================*/
.site-header {
    position: relative;
    background-color: var(--color-body);
}

@media only screen and (max-width: 749px) {
    .site-header {
        border-bottom: 1px solid var(--color-border);
    }
}

@media only screen and (min-width: 750px) {
    .site-header {
        /*  padding: 0 55px; */
        padding: 0 3.5vh 0 7vh;
    }

    .site-header.logo--center {
        padding-top: 30px;
    }
}

.site-header__logo {
    margin: 15px 0;
}

.logo-align--center .site-header__logo {
    text-align: center;
    margin: 0 auto;
}

@media only screen and (max-width: 749px) {
    .logo-align--center .site-header__logo {
        text-align: left;
        margin: 15px 0;
    }
}

@media only screen and (max-width: 749px) {
    .site-header__logo {
        padding-left: 22px;
        text-align: left;
    }

    .site-header__logo img {
        margin: 0;
    }
}

.site-header__logo-link {
    display: inline-block;
    word-break: break-word;
}

@media only screen and (min-width: 750px) {
    .logo-align--center .site-header__logo-link {
        margin: 0 auto;
    }
}

.site-header__logo-image {
    display: block;
}

@media only screen and (min-width: 750px) {
    .site-header__logo-image {
        margin: 0 auto;
    }
}

.site-header__logo-image img {
    width: 100%;
}

.site-header__logo-image--centered img {
    margin: 0 auto;
}

.site-header__logo img {
    display: block;
}

.site-header__icons {
    position: relative;
    white-space: nowrap;
}

@media only screen and (max-width: 749px) {
    .site-header__icons {
        width: auto;
        padding-right: 13px;
    }

    .site-header__icons .btn--link,
    .site-header__icons .site-header__cart {
        font-size: calc(((var(--font-size-base)) / (var(--font-size-base))) * 1em);
    }
}

.site-header__icons-wrapper {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}

.site-header__cart,
.site-header__search,
.site-header__account {
    position: relative;
}

.site-header__search.site-header__icon {
    display: none;
}

@media only screen and (min-width: 1400px) {
    .site-header__search.site-header__icon {
        display: block;
    }
}

.site-header__search-toggle {
    display: block;
}

@media only screen and (min-width: 750px) {

    .site-header__account,
    .site-header__cart {
        padding: 10px 11px;
    }
}

.site-header__cart-title,
.site-header__search-title {
    position: absolute !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    display: block;
    vertical-align: middle;
}

.site-header__cart-title {
    margin-right: 3px;
}

.site-header__cart-count {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0.4rem;
    top: 0.2rem;
    font-weight: bold;
    background-color: var(--color-btn-primary);
    color: var(--color-btn-primary-text);
    border-radius: 50%;
    min-width: 1em;
    height: 1em;
}

.site-header__cart-count span {
    font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: calc(11em / 16);
    line-height: 1;
}

@media only screen and (max-width: 749px) {
    .site-header__cart-count {
        top: calc(7em / 16);
        right: 0;
        border-radius: 50%;
        min-width: calc(19em / 16);
        height: calc(19em / 16);
    }
}

@media only screen and (max-width: 749px) {
    .site-header__cart-count span {
        padding: 0.25em calc(6em / 16);
        font-size: 12px;
    }
}

.site-header__menu {
    display: none;
}

@media only screen and (max-width: 749px) {
    .site-header__icon {
        display: inline-block;
        vertical-align: middle;
        padding: 10px 11px;
        margin: 0;
    }
}

@media only screen and (min-width: 750px) {
    .site-header__icon .icon-search {
        margin-right: 3px;
    }
}

.announcement-bar {
    z-index: 10;
    position: relative;
    text-align: center;
    border-bottom: 1px solid transparent;
    padding: 2px;
}

.announcement-bar__link {
    display: block;
}

.announcement-bar__message {
    display: block;
    padding: 11px 22px;
    font-size: calc(((16) / (var(--font-size-base))) * 1em);
    font-weight: var(--font-weight-header);
}

@media only screen and (min-width: 750px) {
    .announcement-bar__message {
        padding-left: 55px;
        padding-right: 55px;
    }
}

.article-listing {
    padding-top: 55px;
    margin-bottom: 55px;
}

.article {
    margin-bottom: 55px;
}

.article__meta {
    margin-bottom: 22px;
}

.article__title {
    margin-bottom: 11px;
}

@media only screen and (max-width: 749px) {
    .article__title--has-image {
        padding-left: 22px;
    }
}

.article__author {
    margin-right: 10px;
}

.article__author,
.article__date {
    display: inline-block;
    margin-bottom: 22px;
}

.template-article .article__author,
.article__meta .article__author,
.template-article .article__date,
.article__meta .article__date {
    margin-bottom: 0;
}

.article__tags {
    margin-bottom: 27.5px;
}

.article__tags--list {
    font-style: italic;
}

.article__link {
    display: block;
}

@media only screen and (max-width: 749px) {
    .article__link {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}




.article__meta-buttons li:first-child {
    margin-right: 1.5rem;
}

.article__comment-count {
    border-color: transparent;
    border-bottom-color: currentColor;
    padding: 0 0 3px 0;
}


.rte--article {
    margin-bottom: 20px;
}

/*============================================================================
  Blog article grid
==============================================================================*/
.grid--blog {
    margin-bottom: -55px;
    overflow: auto;
}

.article__grid-tag {
    margin-right: 10px;
}

.article__grid-meta {
    margin-bottom: 55px;
}

@media only screen and (max-width: 749px) {
    .article__grid-meta--has-image {
        float: left;
        padding-left: 22px;
    }
}

.article__grid-excerpt {
    margin-bottom: 17.5px;
}

.article-image-wrapper.article__grid-image-wrapper {
    margin-left: 0;
    margin-right: 0;
}

.article__grid-image-wrapper {
    margin: 0 auto;
    position: relative;
    width: 100%;
}

.article__grid-image-wrapper--small {
    width: 50%;
}

.article__grid-image-container {
    display: block;
    clear: both;
    position: relative;
    margin: 0 auto 27.5px 0;
    min-height: 1px;
    width: 100%;
    height: 100%;
}

@media only screen and (max-width: 749px) {
    .article__grid-image-container {
        float: left;
        margin: 0 0 55px 0;
    }
}

.article__grid-image-container img {
    display: block;
}

.article__grid-image {
    margin: 0 auto;
    width: 100%;
}

.js .article__grid-image {
    position: absolute;
    top: 0;
}

.article__list-image-container {
    display: block;
    clear: both;
    position: relative;
    min-height: 1px;
    width: 100%;
    height: 100%;
}

.article__list-image-wrapper {
    width: 100%;
    margin-bottom: 20px;
}

.article__list-image {
    margin: 0 auto;
    width: 100%;
    position: absolute;
    top: 0;
}

/*============================================================================
  Blog/article card
==============================================================================*/
.blog-card {
    margin-bottom: 30px;
    margin-top: 30px;
}

@media only screen and (min-width: 750px) {
    .blog-card {
        margin-top: 0;
    }
}

.blog-card__image-wrapper {
    margin-bottom: 30px;
    padding-bottom: 100%;
    position: relative;
    width: 100%;
}


.blog-card__image-wrapper:focus {
    opacity: 1;
}

.blog-card__image-wrapper--small {
    padding-bottom: 50%;
}

.blog-card__image-wrapper--medium {
    padding-bottom: 75%;
}

.blog-card__title {
    color: var(--color-overlay-title-text);
    font-size: calc(((var(--font-size-header)) / (var(--font-size-base))) * 1em);
    hyphens: auto;
    margin-bottom: 11px;
    padding: 0 5px;
    position: absolute;
    text-align: center;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    transition: 0.1s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    top: 50%;
    width: 100%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media only screen and (min-width: 750px) {
    .blog-card__title {
        padding: 0 15px;
    }
}

.blog-card__link {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.blog-card__overlay {
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
}

.blog-card__title-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-image-overlay);
    opacity: var(--opacity-image-overlay);
}

.blog-card__excerpt {
    margin-bottom: 17.5px;
}

.blog-card__comment-count {
    border-color: transparent;
    border-bottom-color: currentColor;
    padding: 0 0 3px 0;
}


.cart-popup-wrapper {
    display: block;
    position: fixed;
    width: 100%;
    background-color: var(--color-body);
    z-index: 9999;
    border: 1px solid var(--color-border);
    transform: translateY(0%);
    transition: all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1);
}

@media only screen and (min-width: 750px) {
    .cart-popup-wrapper {
        width: 23rem;
        right: 0;
    }
}

.cart-popup-wrapper--hidden {
    display: none;
    transform: translateY(-100%);
}

.cart-popup {
    padding: 0.2rem 1.5rem 1rem;
}

.cart-popup__header {
    display: flex;
    flex-direction: row;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
}

.cart-popup__heading {
    flex-grow: 1;
    padding: 0.5rem 0rem;
    margin: 0;
    color: var(--color-body-text);
    line-height: 1.2em;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    font-family: var(--font-stack-body);
    font-weight: var(--font-weight-body);
}

.cart-popup__close {
    padding: 0.9rem;
    margin-right: -0.9rem;
    background-color: transparent;
    border: none;
    line-height: 0;
}

.cart-popup__close .icon-close {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}


.cart-popup-item {
    display: flex;
    margin: 1rem 0;
}

.cart-popup-item__image-wrapper {
    position: relative;
    flex-basis: 18%;
    flex-shrink: 0;
    margin-right: 1rem;
    text-align: center;
}

.cart-popup-item__image {
    display: block;
    margin: 0 auto;
    max-height: 95px;
}

.cart-popup-item__description {
    display: flex;
    color: var(--color-body-text);
    flex-basis: 100%;
    justify-content: space-between;
    line-height: 1.2rem;
}

.cart-popup-item__title {
    color: var(--color-text);
    font-size: calc(((var(--font-size-base) + 2) / (var(--font-size-base))) * 1em);
    font-family: var(--font-stack-header);
    font-weight: var(--font-weight-header);
    margin-bottom: 0;
}

.product-details {
    margin-top: 0.25rem;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
}

.product-details__item {
    margin-bottom: 0.2rem;
    line-height: 1.5;
}

.product-details__item:last-child {
    margin-bottom: 0;
}

.product-details__item--variant-option+.product-details__item--property {
    margin-top: 0.8rem;
}

.product-details__property-label {
    font-weight: var(--font-weight-body--bold);
}

.cart-popup-item__quantity {
    flex-basis: 30%;
    flex-shrink: 0;
    margin-left: 1rem;
    text-align: right;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
}

.cart-popup__cta-link {
    width: 100%;
}

.cart-popup__dismiss {
    margin-top: 0.5rem;
    text-align: center;
}

.cart-popup__dismiss-button {
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
}

.sidebar {
    margin-top: 40px;
}

.sidebar__list {
    list-style: none;
    margin-bottom: 55px;
}

.sidebar__list li {
    margin-bottom: 10px;
}

.pagination {
    text-align: center;
    list-style: none;
    font-size: calc(((15) / (var(--font-size-base))) * 1em);
    padding-top: 55px;
}

.pagination li {
    display: inline-block;
}

.pagination .icon {
    display: block;
    height: 20px;
    vertical-align: middle;
}

.pagination__text {
    padding: 0 27.5px;
}

.comment {
    margin-bottom: 30px;
}

.comment:last-child {
    margin-bottom: 0;
}

.comment__content {
    margin-bottom: 5px;
}

.comment__meta-item {
    margin-right: 10px;
    font-size: calc(((14) / (var(--font-size-base))) * 1em);
}

.comment__meta-item:first-child::before {
    content: '\2014 \0020';
}

.social-sharing {
    display: flex;
}

.template-password .social-sharing {
    justify-content: center;
}

.btn--share {
    background-color: transparent;
    border-color: var(--color-border);
    color: var(--color-text);
    margin-right: 5px;
    margin-bottom: 10px;
}



.btn--share .icon {
    vertical-align: middle;
    width: 16px;
    height: 16px;
    margin-right: 4px;
}

.btn--share .icon-facebook {
    fill: #3b5998;
}

.btn--share .icon-twitter {
    fill: #00aced;
}

.btn--share .icon-pinterest {
    fill: #cb2027;
}

.share-title {
    display: inline-block;
    vertical-align: middle;
}

/*================ Variables ================*/
.search-form__input-wrapper {
    position: relative;
}

.search-form__input {
    padding-right: 45px;
    width: 100%;
    min-height: 44px;
    color: var(--color-text-field-text);
    background-color: var(--color-text-field);
    border: none;
    border: 1px solid var(--color-border-form);
}

.search-form__input::-ms-clear {
    display: none;
}

.search-form__input::-webkit-search-cancel-button {
    display: none;
}

.search-form__input::placeholder {
    color: var(--color-text-field-text);
    opacity: 0.6;
}

.search-form__input:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: var(--color-text-field-text);
    opacity: 0.6;
}

.search-form__input::-ms-input-placeholder {
    /* Microsoft Edge */
    color: var(--color-text-field-text);
    opacity: 0.6;
}

.search-form__clear-action {
    appearance: none;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    font-size: inherit;
    line-height: inherit;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    margin-top: -12px;
    right: 10px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: transparent;
    transition-property: opacity, visibility, background-color, transform;
    transition-duration: 100ms;
    transition-timing-function: ease-in-out;
}

.search-form__clear-action .icon-close {
    flex: 1 1 auto;
    width: 12px;
    height: 12px;
    fill: var(--color-text-field-text);
}

.search-form__clear-action:active {
    transform: scale(0.9);
}

.search-form__clear-action.predictive-search__clear-button--visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.search-bar__form .search-form__clear-action {
    right: 44px;
}

.search-form--focus .predictive-search__clear-button--visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.search-page-form .predictive-search__clear-button--visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.search-form__connected-submit {
    appearance: none;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    font-size: inherit;
    line-height: inherit;
    cursor: pointer;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    background-color: var(--color-btn-primary);
    border-radius: 0 2px 2px 0;
    transition: background-color 100ms ease-in-out;
}

.search-form__connected-submit:active {
    background-color: var(--color-btn-primary);
}

.search-form__connected-submit .icon-search {
    fill: var(--color-btn-primary-text);
    width: 20px;
    height: 20px;
}

.search-bar {
    z-index: 999;
    background-color: var(--color-body);
}

.search-bar__interior {
    height: 100%;
    display: flex;
    flex: 1;
}

@media only screen and (min-width: 750px) {
    .search-bar__interior {
        padding-left: 55px;
        padding-right: 55px;
        height: auto;
    }
}

.search-form__container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 7px;
    padding-right: 10px;
    background-color: var(--color-bg);
}

.search-bar__form {
    flex: 1 1 100%;
    position: relative;
    max-width: 750px;
    border: 1px solid transparent;
}

.search-bar__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.search-bar__submit {
    z-index: 1;
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    padding: 0 12px;
    height: 100%;
    vertical-align: middle;
    background-color: transparent;
    border: 0;
    margin: 0;
    color: var(--color-text-field-text);
}

.search-bar__submit .icon {
    position: relative;
    top: -1px;
    width: 1.2rem;
    height: auto;
}


.search-bar__input {
    padding-right: 45px;
    width: 100%;
    min-height: 44px;
    color: var(--color-text-field-text);
    background-color: var(--color-text-field);
    border: none;
    border: 1px solid var(--color-border-form);
}

.search-bar__close {
    padding: calc(10em / 16) 0.75em;
    margin-right: -10px;
}

.search-bar__close .icon {
    width: 1rem;
    height: auto;
}

.search--less-than-2-results {
    height: 40vh;
}

.predictive-search-wrapper {
    transition-property: opacity, visibility;
    transition-duration: 100ms;
    transition-timing-function: ease-in-out;
    z-index: 1000;
    position: absolute;
    left: 0;
    right: 0;
    margin-top: -1px;
    border: 1px solid var(--color-border-form);
    background-color: var(--color-bg);
    overflow-y: auto;
    display: none;
}

.search-bar .predictive-search-wrapper {
    position: fixed;
    width: 100%;
}

@media only screen and (max-width: 749px) {
    .search-bar .predictive-search-wrapper {
        border: none;
    }
}

@media only screen and (min-width: 750px) {
    .search-bar .predictive-search-wrapper {
        position: absolute;
        right: auto;
        left: auto;
        max-width: 748px;
    }
}

@media only screen and (min-width: 750px) {
    .predictive-search-wrapper {
        max-height: 80vh;
    }
}

.search-page-form .predictive-search-wrapper {
    max-height: 60vh;
}

@media only screen and (max-width: 749px) {
    .predictive-search-wrapper--drawer {
        padding-top: 14px;
        margin-top: 3px;
    }
}

.predictive-search-wrapper--visible {
    display: block;
}

.predictive-search {
    height: 100%;
    text-align: left;
}

@media only screen and (max-width: 989px) {
    .search-bar .predictive-search {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

.predictive-search-loading {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 14px 0;
    text-align: center;
}

.icon-predictive-search-spinner::before {
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 4px solid;
    border-color: currentColor currentColor currentColor transparent;
    -moz-animation: spin 500ms infinite linear;
    -o-animation: spin 500ms infinite linear;
    -webkit-animation: spin 500ms infinite linear;
    animation: spin 500ms infinite linear;
}

.predictive-search-loading__icon {
    display: inline-block;
    margin: 0;
    color: var(--color-body-text);
    width: 20px;
    height: 20px;
}

.predictive-search-loading__icon .icon-predictive-search-spinner::before {
    width: 100%;
    height: 100%;
    border-width: 3px;
}

.predictive-search-title {
    position: relative;
    display: flex;
    align-items: center;
    padding: 14px;
}

.predictive-search-title::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    height: 0;
    background-color: var(--color-border);
}

.predictive-search-title::after {
    content: '';
    position: absolute;
    right: 14px;
    bottom: -1px;
    left: 14px;
    height: 1px;
    background-color: var(--color-border);
}

@media only screen and (max-width: 749px) {
    .predictive-search-wrapper--drawer .predictive-search-title::before {
        height: 1px;
    }
}

.predictive-search-title__content {
    flex: 1 1 auto;
    margin-bottom: 0;
    padding-right: 40px;
    font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
    font-family: var(--font-stack-body);
    font-weight: var(--font-weight-body);
    text-transform: uppercase;
    color: var(--color-body-text);
    white-space: normal;
}

.predictive-search-title__loading-spinner {
    flex: 0 0 auto;
    position: absolute;
    top: 50%;
    right: 14px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    color: var(--color-body-text);
}

.predictive-search-title__loading-spinner .icon-predictive-search-spinner::before {
    width: 100%;
    height: 100%;
    border-width: 3px;
}

.predictive-search-item {
    font-weight: 400;
    white-space: normal;
}

.predictive-search-item__details {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 0;
    margin-bottom: 0;
}

.predictive-search-item__detail--inline {
    display: flex;
    flex-direction: row;
}

.predictive-search-item__link {
    display: flex;
    padding: 14px;
    background-color: transparent;
    transition: background-color 100ms ease-in-out;
}

.predictive-search-item__link:active {
    background-color: transparent;
}

.predictive-search-item--selected .predictive-search-item__link,
.predictive-search-item--selected .predictive-search-view-all__button,

.predictive-search-item--selected .predictive-search-item__link .predictive-search-item__title-text,
.predictive-search-item--selected .predictive-search-view-all__button .predictive-search-item__title-text {
    border-bottom-color: var(--color-text);
}

.predictive-search__column {
    flex: 1 1 auto;
}

.predictive-search__column--image {
    flex-grow: 0;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    margin-right: 12px;
    position: relative;
}

.predictive-search-item__image {
    object-fit: contain;
    font-family: "object-fit: contain";
    width: 100%;
    height: 100%;
}

.predictive-search__column--content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.predictive-search__column--center {
    justify-content: center;
}

.predictive-search-item__title-text {
    display: inline-block;
    color: var(--color-text);
    word-break: break-word;
    border-bottom: 1px solid transparent;
    line-height: 1.2;
    font-family: var(--font-stack-header);
    font-weight: var(--font-weight-header);
}

.predictive-search-item__vendor {
    color: var(--color-body-text);
    font-size: calc(((var(--font-size-base) - 3) / (var(--font-size-base))) * 1em);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.predictive-search-item__price {
    padding-top: 6px;
    flex: 0 0 auto;
    color: var(--color-body-text);
}

.predictive-search-item__price--sale {
    color: var(--color-sale-text);
}

.predictive-search-item__price--compare {
    text-decoration: line-through;
}

.predictive-search-view-all,
.predictive-search-loading {
    border-top: 1px solid var(--color-border);
}

@media only screen and (min-width: 750px) {

    .predictive-search__list .predictive-search-view-all:first-child,
    .predictive-search__list .predictive-search-loading:first-child {
        border-top: none;
    }
}

.predictive-search-view-all__button {
    display: block;
    width: 100%;
    border: none;
    padding: 14px;
    text-align: left;
    color: var(--color-text);
    background-color: transparent;
    word-break: break-word;
    white-space: normal;
    font-family: var(--font-stack-header);
    font-weight: var(--font-weight-header);
}


/*================ Mobile Site Nav ================*/
.mobile-nav {
    display: block;
    -ms-transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    transition: all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1);
}

.sub-nav--is-open .mobile-nav {
    -ms-transform: translate3d(-100%, 0, 0);
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.third-nav--is-open .mobile-nav {
    -ms-transform: translate3d(-200%, 0, 0);
    -webkit-transform: translate3d(-200%, 0, 0);
    transform: translate3d(-200%, 0, 0);
}

.mobile-nav__link,
.mobile-nav__sublist-link {
    display: block;
    width: 100%;
    padding: 15px 30px;
    font-size: 16px;
}

.mobile-nav__link {
    position: relative;
}

.mobile-nav__label {
    border-bottom: 1px solid transparent;
}

.mobile-nav__link--active .mobile-nav__label {
    border-bottom-color: var(--color-text);
}

.mobile-nav__sublist-link:not(.mobile-nav__sublist-header) {
    padding-left: 70px;
    padding-right: 30px;
}

.mobile-nav__item {
    display: block;
    width: 100%;
}

.mobile-nav__item .icon {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 14px;
    width: 14px;
    margin: -6px 0 0 -7px;
}

.mobile-nav__return {
    border-right: 1px solid var(--color-border);
}

.mobile-nav__return-btn {
    position: relative;
    padding: 24px 0;
    width: 55px;
}

.mobile-nav__icon {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    padding-left: 22px;
    padding-right: 22px;
    pointer-events: none;
    overflow: hidden;
}

.mobile-nav__table {
    display: table;
    width: 100%;
}

.mobile-nav__table-cell {
    display: table-cell;
    vertical-align: middle;
    width: 1%;
    text-align: left;
    white-space: normal;
}

.mobile-nav__toggle-button {
    padding: 20px 15px;
}

.mobile-nav__dropdown {
    position: absolute;
    background-color: var(--color-body);
    z-index: 8;
    width: 100%;
    top: 0;
    right: -100%;
    display: none;
}

.is-active+.mobile-nav__dropdown {
    display: block;
    opacity: 1;
}

.mobile-nav__dropdown.is-closing {
    transition: all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1);
    opacity: 0.99;
}

.mobile-nav__dropdown .mobile-nav__sublist-header {
    font-family: var(--font-stack-header);
    font-style: var(--font-style-header);
    font-weight: var(--font-weight-header);
    display: table-cell;
    vertical-align: middle;
    padding-left: 15px;
}

.mobile-nav__dropdown .mobile-nav__sublist-header--main-nav-parent {
    color: var(--color-body-text);
}

/*================ Mobile nav wrapper ================*/
.mobile-nav-wrapper {
    -ms-transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--color-body);
    transition: all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1);
    display: none;
    overflow: hidden;
    width: 100%;
}

.mobile-nav-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 1px solid var(--color-border);
}

.mobile-nav-wrapper.js-menu--is-open {
    display: block;
}

.mobile-nav--close .icon-hamburger {
    display: none;
}

.site-header__mobile-nav {
    z-index: 11;
    position: relative;
    background-color: var(--color-body);
}

@media only screen and (max-width: 749px) {
    .site-header__mobile-nav {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        -o-align-items: center;
        align-items: center;
    }
}

/*================ Modals ================*/
.modal {
    -ms-transform: translateY(-20px);
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
    background-color: var(--color-bg);
    bottom: 0;
    color: var(--color-text);
    display: none;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
}

.modal--is-active {
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    display: block;
    opacity: 1;
    overflow: hidden;
}

.modal__inner {
    -moz-transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    height: 100%;
}

.modal__centered {
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: relative;
    top: 50%;
}

.modal__close {
    border: 0;
    padding: 55px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
}

.modal__close .icon {
    font-size: calc(((20) / (var(--font-size-base))) * 1em);
}

/*============================================================================
  Hero slider

  Extends default slick slider styles.
  Extra specificity in selectors is used to override defaults.
==============================================================================*/
.slideshow-wrapper {
    position: relative;
}

.slideshow {
    position: unset;
    overflow: hidden;
    margin-bottom: 0;
    max-height: 80vh;
    transition: height 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
}

@media only screen and (min-width: 750px) {
    .slideshow {
        position: relative;
        max-height: 100vh;
    }
}

.slideshow .slick-list,
.slideshow .slick-track {
    height: 100%;
}

.slideshow .slick-prev,
.slideshow .slick-next {
    top: 0;
    height: 100%;
    margin-top: 0;
    width: 40px;
}

.slideshow .slick-prev {
    left: 0;
}

.slideshow .slick-next {
    right: 0;
}

@media only screen and (min-width: 750px) {
    .slideshow--display-controls .slick-dots {
        left: calc(50% - 22px);
    }
}

.slideshow--small {
    height: 175px;
}

@media only screen and (min-width: 750px) {
    .slideshow--small {
        height: 475px;
    }
}

.slideshow--medium {
    height: 270px;
}

@media only screen and (min-width: 750px) {
    .slideshow--medium {
        height: 650px;
    }
}

.slideshow--large {
    height: 375px;
}

@media only screen and (min-width: 750px) {
    .slideshow--large {
        height: 775px;
    }
}

/*================ General slide styles ================*/
.slideshow__slide {
    height: 100%;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    transition: opacity 500ms ease 0s;
    top: 0;
    width: 100%;
    z-index: -1;
}

.slideshow__slide--active {
    opacity: 1;
    z-index: 8;
}

.slideshow__link {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.slideshow__link:active,
.slideshow__link:focus {
    opacity: 1;
}

@media only screen and (min-width: 750px) {
    .slideshow__overlay::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: var(--color-image-overlay);
        opacity: var(--opacity-image-overlay);
        z-index: 2;
    }
}

/*================ Slide images ================*/
.slideshow__image {
    transition: opacity 0.8s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-color: transparent;
    z-index: 1;
}

.no-js .slideshow__image {
    opacity: 1;
}

/*================ Slide text ================*/
.slideshow__text-wrap {
    height: 100%;
    position: relative;
}

.slideshow__link .slideshow__text-wrap {
    cursor: inherit;
}

.slideshow__text-wrap--mobile {
    display: none;
}

@media only screen and (max-width: 749px) {
    .slideshow__text-wrap--mobile {
        display: block;
        position: relative;
        top: -1.1rem;
        background-color: var(--color-bg);
        width: 85%;
        margin: 0 0 -1.1rem 7.5%;
        z-index: 8;
    }
}

@media only screen and (min-width: 750px) {
    .slideshow__text-content {
        opacity: 0;
        transition: 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
        transition-delay: 0.3s;
    }
}

.slideshow__text-wrap--desktop .slideshow__text-content {
    position: absolute;
    width: 100%;
    top: 50%;
    z-index: 2;
}

@media only screen and (min-width: 750px) {
    .slideshow__text-content.slideshow__text-content--vertical-top {
        top: 120px;
    }

    .slideshow__text-content.slideshow__text-content--vertical-bottom {
        top: auto;
        bottom: 40px;
    }
}

.slideshow__slide--active .slideshow__text-content,
.no-js .slideshow__text-content {
    -ms-transform: translateY(-40px);
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px);
    opacity: 1;
}

.slideshow__slide--active .slideshow__text-content.slideshow__text-content--vertical-center,
.no-js .slideshow__text-content.slideshow__text-content--vertical-center {
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.no-js .slideshow__text-content::after {
    opacity: 0;
    visibility: hidden;
    content: none;
}

.slideshow__text-content--mobile {
    display: none;
    padding-top: 2.6rem;
}

.slideshow__arrows--mobile~.slideshow__text-content--mobile {
    padding-top: 1.7rem;
}

@media only screen and (min-width: 750px) {
    .slideshow__arrows--mobile~.slideshow__text-content--mobile {
        padding-top: 0;
    }
}

@media only screen and (min-width: 750px) {
    .slideshow__text-content--mobile {
        padding-top: 0;
    }

    .slideshow__text-content--mobile::after {
        display: none;
    }
}

.slideshow__text-content--mobile-active {
    display: block;
}

.slideshow__title,
.slideshow__subtitle {
    color: var(--color-overlay-title-text);
}

@media only screen and (max-width: 749px) {

    .slideshow__title,
    .slideshow__subtitle {
        display: none;
    }
}

.slideshow__title--mobile {
    margin-bottom: 0;
}

.slideshow__title--mobile~.slideshow__subtitle--mobile {
    margin-top: 0.5rem;
}

.slideshow__subtitle--mobile,
.slideshow__title--mobile {
    display: none;
    color: var(--color-text);
}

@media only screen and (max-width: 749px) {

    .slideshow__subtitle--mobile,
    .slideshow__title--mobile {
        display: block;
    }
}

.slideshow__btn-wrapper {
    border: none;
    background-color: transparent;
}

@media only screen and (min-width: 750px) {
    .slideshow__btn-wrapper--push {
        margin-top: 30px;
    }
}

.slideshow__btn {
    max-width: 100%;
    display: inline-block;
    word-wrap: break-word;
    background-color: var(--color-btn-primary);
    color: var(--color-btn-primary-text);
    min-height: 3.125rem;
    line-height: 2.2;
}

@media only screen and (max-width: 749px) {
    .slideshow__btn {
        display: none;
    }
}

.slideshow__btn--mobile {
    display: none;
    margin: 1.3rem auto 0;
}

@media only screen and (max-width: 749px) {
    .slideshow__btn--mobile {
        display: inline-block;
        margin: 2rem auto 0.3rem;
    }
}

/*================ Slideshow control styles ================*/
.slideshow__controls {
    display: flex;
    justify-content: center;
    position: absolute;
    top: 0px;
    right: 0px;
    margin-bottom: 5px;
    z-index: 8;
}

@media only screen and (min-width: 750px) {
    .slideshow__controls {
        top: auto;
        bottom: 0;
        left: 0;
    }
}

.slideshow__arrows {
    height: 44px;
    padding: 5px;
    background-clip: content-box;
    background-color: rgba(0, 0, 0, 0.4);
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87), background-color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    display: none;
}

@media only screen and (min-width: 750px) {
    .slideshow__arrows {
        display: flex;
    }
}

@media only screen and (min-width: 750px) {

    .slideshow__controls:hover .slideshow__arrows,
    .slideshow__controls:focus .slideshow__arrows,
    .slideshow__controls--hover .slideshow__arrows {
        background-color: rgba(0, 0, 0, 0.75);
    }
}

.slideshow__arrows .slideshow__arrow {
    height: 44px;
    width: 44px;
    position: relative;
    top: -5px;
    padding: 0 0.9rem;
    line-height: 0;
    cursor: pointer;
    transition: color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87), background-color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    background-color: transparent;
    color: rgba(255, 255, 255, 0.5);
    border: none;
}

.slideshow__arrows .slideshow__arrow .icon {
    width: 0.7rem;
    height: 0.7rem;
    transition: color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87), background-color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87);
}

.slideshow__arrows .slideshow__arrow .icon:hover {
    color: white;
}

.slideshow__arrows .slideshow__arrow-previous {
    float: left;
}

@media only screen and (min-width: 750px) {
    .slideshow__arrows .slideshow__arrow-previous {
        order: -1;
    }
}

.slideshow__arrows .slideshow__arrow-next {
    float: right;
}

@media only screen and (min-width: 750px) {
    .slideshow__arrows .slideshow__arrow-next {
        order: 1;
    }
}

.slideshow__arrows .slick-dots {
    line-height: 32px;
}

.slideshow__arrows .slick-dots li {
    width: 9px;
    height: 9px;
    margin-left: 9px;
}

.slideshow__arrows .slick-dots li button::before,
.slideshow__arrows .slick-dots li a::before {
    width: 9px;
    height: 9px;
    color: rgba(var(--color-text-rgb), 0.7);
    border: none;
    opacity: 1;
}

@media only screen and (min-width: 750px) {

    .slideshow__arrows .slick-dots li button::before,
    .slideshow__arrows .slick-dots li a::before {
        color: rgba(255, 255, 255, 0.5);
    }
}

.slideshow__arrows .slick-dots li.slick-active button::before,
.slideshow__arrows .slick-dots li.slick-active a::before {
    color: white;
}

.slideshow__arrows--mobile .slick-dots li.slick-active button::before,
.slideshow__arrows--mobile .slick-dots li.slick-active a::before {
    color: var(--color-text);
}

.slideshow__arrows--mobile {
    display: block;
    width: 100%;
    height: 44px;
    background-color: transparent;
}

.slideshow__arrows--mobile .icon {
    fill: rgba(var(--color-text-rgb), 0.7);
}

.slideshow__arrows--mobile .slideshow__arrow:focus .icon {
    fill: var(--color-text);
}

@media only screen and (min-width: 750px) {
    .slideshow__arrows--mobile {
        display: none;
    }
}

.slideshow__pause {
    clip: auto;
    width: 44px;
    height: 44px;
    margin-left: 1px;
    padding: 5px;
    background-clip: content-box;
    z-index: 10000;
    border: none;
    background-color: rgba(0, 0, 0, 0.4);
    transition: color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87), background-color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    line-height: 0;
}

@media only screen and (min-width: 750px) {

    .slideshow__controls:hover .slideshow__pause,
    .slideshow__controls:focus .slideshow__pause,
    .slideshow__controls--hover .slideshow__pause {
        background-color: rgba(0, 0, 0, 0.75);
    }
}

.slideshow__pause .icon {
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87), background-color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87);
}

.slideshow__pause .icon:hover {
    color: white;
}

.slideshow__pause .icon {
    width: 0.65rem;
    height: 0.65rem;
}

.slideshow__pause-stop {
    display: block;
}

.slideshow__pause--is-paused .slideshow__pause-stop {
    display: none;
}

.slideshow__pause-rotate {
    display: none;
}

.slideshow__pause--is-paused .slideshow__pause-rotate {
    display: block;
}

.price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 0;
    margin-bottom: 0;
}

@media only screen and (max-width: 749px) {
    .price {
        font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
    }
}

.price dl {
    margin-top: 0;
}

.price dd {
    margin: 0 0.5em 0 0;
}

.price--unavailable {
    visibility: hidden;
}

.price--compare-price-hidden .price__compare {
    display: none;
}

.price__pricing-group {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.price__regular {
    display: block;
}

.price__regular,
.price__sale {
    margin-right: 0.625rem;
}

.price--on-sale .price__regular,
.price--on-sale .price__availability {
    display: none;
}

.price__availability {
    display: none;
    color: var(--color-body-text);
    font-size: 0.9em;
    font-weight: var(--font-weight-body);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.price--sold-out .price__availability {
    display: block;
}

.price__sale {
    display: none;
}

.price--on-sale .price__sale {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.price__vendor {
    color: var(--color-body-text);
    font-size: 0.9em;
    font-weight: var(--font-weight-body);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 5px 0 10px;
    width: 100%;
    -ms-flex-preferred-size: 100%;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
}

.price__vendor--listing {
    margin: 0 0 4px;
}

.price__unit {
    -ms-flex-preferred-size: 100%;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
    display: none;
}

.price--unit-available .price__unit {
    display: block;
}

.price-item {
    color: var(--color-body-text);
    font-weight: var(--font-weight-body--bolder);
}

.price-item--sale {
    color: var(--color-sale-text);
}

.price--on-sale .price-item--regular {
    text-decoration: line-through;
}

.price-unit-price {
    color: var(--color-body-text);
    font-size: 0.8em;
}

.price-item__label {
    display: inline-block;
    white-space: nowrap;
    font-weight: var(--font-weight-body--bolder);
}

.price__badges {
    margin-top: 0;
}

.price__badge {
    display: none;
    align-self: center;
    text-align: center;
    font-size: 0.5em;
    line-height: 1em;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    background-color: var(--color-bg);
    border: 1px solid var(--color-text);
    border-radius: 2px;
    padding: 0.2rem 0.5rem;
}

.price__badge--sale {
    color: var(--color-bg);
    border-color: var(--color-sale-text);
    background-color: var(--color-sale-text);
}

.price--on-sale .price__badge--sale {
    display: flex;
}

.price--sold-out .price__badge--sale {
    display: none;
}

.price__badge--sold-out {
    color: var(--color-body-text);
    border-color: var(--color-body-text);
}

.price--sold-out .price__badge--sold-out {
    display: flex;
}

.price__badges--listing {
    margin-top: 0.5rem;
}

.price__badges--listing .price__badge {
    font-size: 0.6em;
    padding: 0.25rem 0.55rem;
}

/*================ Module | Filters and Sort toolbar and selection ================*/
.filters-toolbar-wrapper {
    border-bottom: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    margin-bottom: 22px;
}

@media only screen and (min-width: 750px) {
    .filters-toolbar-wrapper {
        margin-bottom: 55px;
    }
}

.filters-toolbar {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.filters-toolbar .icon-chevron-down {
    fill: var(--color-text-field-text);
    width: calc(10em / 16);
    height: calc(10em / 16);
    right: 8px;
}

.filters-toolbar--has-filter {
    position: relative;
}

@media only screen and (max-width: 749px) {
    .filters-toolbar--has-filter {
        border-bottom: none;
    }

    .filters-toolbar--has-filter .filters-toolbar__item-child {
        flex-basis: 50%;
    }

    .filters-toolbar--has-filter .filters-toolbar__item-wrapper {
        -ms-flex-preferred-size: 100%;
        -webkit-flex-basis: 100%;
        -moz-flex-basis: 100%;
        flex-basis: 100%;
    }

    .filters-toolbar--has-filter .filters-toolbar__item--count {
        -ms-flex-preferred-size: 100%;
        -webkit-flex-basis: 100%;
        -moz-flex-basis: 100%;
        flex-basis: 100%;
        text-align: left;
    }

    .filters-toolbar--has-filter .filters-toolbar__item--count:before {
        background-color: var(--color-border);
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        top: auto;
        width: 100%;
    }
}

.filters-toolbar__item {
    min-width: 33%;
    -webkit-flex: 1 1 33%;
    -moz-flex: 1 1 33%;
    -ms-flex: 1 1 33%;
    flex: 1 1 33%;
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__item:first-child .filters-toolbar__input {
        padding-left: 0;
    }
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__item-child {
        flex-grow: 0;
    }
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__item-child:first-child {
        margin-right: 2.5rem;
    }
}

@media only screen and (min-width: 750px) {
    .filters-toolbar__item-child:first-child {
        margin-right: 3rem;
    }
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__item-child .filters-toolbar__input {
        padding-left: 0;
        padding-right: 25px;
        width: 100%;
    }
}

.filters-toolbar__item-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-flex: 1 1 33%;
    -moz-flex: 1 1 33%;
    -ms-flex: 1 1 33%;
    flex: 1 1 33%;
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__item-wrapper {
        -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
    }
}

.filters-toolbar__item--count {
    min-width: 0;
    -webkit-flex: 0 1 auto;
    -moz-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    text-align: center;
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__item--count {
        -webkit-flex: 0 1 50%;
        -moz-flex: 0 1 50%;
        -ms-flex: 0 1 50%;
        flex: 0 1 50%;
        text-align: right;
    }
}

.filters-toolbar__label {
    display: inline-block;
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__label {
        display: block;
        margin-bottom: 0;
        margin-top: 8px;
    }
}

.filters-toolbar__input-wrapper {
    display: inline-block;
}

.filters-toolbar__input {
    border: 0 solid transparent;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    height: 55px;
    opacity: 1;
    position: relative;
}

.filters-toolbar__item:first-child .filters-toolbar__input {
    padding-left: 0;
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__input {
        height: 46px;
    }
}

.filters-toolbar__input.hidden {
    opacity: 0;
}

.filters-toolbar__input option {
    text-overflow: ellipsis;
    overflow: hidden;
}

.filters-toolbar__product-count {
    font-size: calc(((var(--font-size-base) - 1) / (var(--font-size-base))) * 1em);
    font-style: italic;
    line-height: 55px;
    margin-bottom: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media only screen and (max-width: 749px) {
    .filters-toolbar__product-count {
        font-size: calc(((var(--font-size-base) - 2) / (var(--font-size-base))) * 1em);
        line-height: 46px;
    }
}

.site-footer {
    margin-top: 55px;
    padding: 45px 0 55px 0;
}

@media only screen and (min-width: 750px) {
    .site-footer {
        padding-bottom: 35px;
    }
}

.site-footer h4,
.site-footer .h4 {
    margin-bottom: 12.5px;
}

@media only screen and (min-width: 750px) {

    .site-footer h4,
    .site-footer .h4 {
        min-height: calc(var(--font-size-header) * 0.7);
        margin-bottom: 25px;
    }
}

.site-footer__content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -o-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (max-width: 749px) {
    .site-footer__content {
        padding: 0 18px;
    }
}

@media only screen and (min-width: 750px) {
    .site-footer__content {
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
}

.site-footer__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-flex: 1 1 100%;
    -moz-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
    margin-bottom: 55px;
}

@media only screen and (min-width: 750px) {
    .site-footer__item {
        padding: 0 15px 0 15px;
        margin-bottom: 45px;
    }
}

.site-footer__item:first-of-type {
    padding-left: 0;
}

.site-footer__item:last-of-type {
    padding-right: 0;
}

@media only screen and (max-width: 749px) {
    .site-footer__item:last-of-type {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 750px) {
    .site-footer__item--full-width {
        -webkit-flex: 1 1 100%;
        -moz-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    }

    .site-footer__item--one-half {
        -webkit-flex: 1 1 50%;
        -moz-flex: 1 1 50%;
        -ms-flex: 1 1 50%;
        flex: 1 1 50%;
    }

    .site-footer__item--one-third {
        -webkit-flex: 1 1 33%;
        -moz-flex: 1 1 33%;
        -ms-flex: 1 1 33%;
        flex: 1 1 33%;
    }

    .site-footer__item--one-quarter {
        -webkit-flex: 1 1 25%;
        -moz-flex: 1 1 25%;
        -ms-flex: 1 1 25%;
        flex: 1 1 25%;
    }

    .site-footer__item--one-fifth {
        -webkit-flex: 1 1 20%;
        -moz-flex: 1 1 20%;
        -ms-flex: 1 1 20%;
        flex: 1 1 20%;
    }

    .site-footer-newsletter__one-half {
        -webkit-flex: 1 1 50%;
        -moz-flex: 1 1 50%;
        -ms-flex: 1 1 50%;
        flex: 1 1 50%;
    }
}

@media only screen and (min-width: 750px) {
    .site-footer__item--center {
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
    }

    .site-footer__item--center>* {
        text-align: center;
    }
}

.site-footer__item-inner--newsletter {
    width: 100%;
}

.site-footer__item-inner--newsletter .newsletter__submit {
    margin-top: 5px;
}

.site-footer__item-inner--newsletter .newsletter__input {
    margin: 5px 0 0 0;
    width: 100%;
}

@media only screen and (min-width: 750px) {
    .site-footer__item--full-width .site-footer__item-inner--newsletter {
        max-width: 50%;
    }
}

@media only screen and (min-width: 750px) {
    .site-footer__centered--single-block {
        width: 75%;
        margin: 0 auto;
    }
}

.site-footer__hr {
    margin: 55px 0 30px 0;
}

@media only screen and (min-width: 750px) {
    .site-footer__hr {
        margin: 45px 0 20px 0;
    }
}

@media only screen and (max-width: 749px) {
    .site-footer__linklist.list--inline>li {
        display: block;
    }
}

.site-footer__linklist-item {
    display: block;
    padding: 15px 0;
}

@media only screen and (min-width: 750px) {
    .site-footer__linklist-item {
        padding: 0 30px 5px 0;
    }
}

.site-footer__linklist-item:last-of-type {
    padding-right: 0;
}

.site-footer__icon-list {
    padding-bottom: 30px;
}

@media only screen and (min-width: 750px) {
    .site-footer__icon-list {
        padding-bottom: 15px;
    }
}

@media only screen and (min-width: 750px) {
    .site-footer__social-icons {
        padding-top: 7.5px;
        text-align: right;
    }
}

.social-icons__item {
    padding: 0 15px;
}

@media only screen and (min-width: 750px) {
    .social-icons__item:last-of-type {
        padding-right: 0;
    }
}

.social-icons__link {
    display: block;
}

.site-footer__subwrapper {
    margin-top: 35px;
}

@media only screen and (min-width: 750px) {
    .site-footer-item-align-right {
        text-align: right;
    }
}

.site-footer__copyright-content {
    font-size: calc(((var(--font-size-base) - 3) / (var(--font-size-base))) * 1em);
}

.site-footer__payment-icons .payment-icon {
    margin-bottom: 5px;
    margin-left: 5px;
}

.site-footer__payment-icons .payment-icon:first-child {
    margin-left: 0;
}

.site-footer-item-center-vertically {
    padding-top: 7.5px;
}

@media only screen and (min-width: 750px) {
    .site-footer-item-tall {
        margin-bottom: 15px;
        height: 46px;
    }

    .site-footer-item-tall .site-footer__icon-list {
        padding-bottom: 0;
    }
}

.feature-row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
}

@media only screen and (max-width: 749px) {
    .feature-row {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.feature-row__item {
    -webkit-flex: 0 1 50%;
    -moz-flex: 0 1 50%;
    -ms-flex: 0 1 50%;
    flex: 0 1 50%;
}

@media only screen and (max-width: 749px) {
    .feature-row__item {
        -webkit-flex: 1 1 auto;
        -moz-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        width: 100%;
        max-width: 100%;
    }
}

.feature-row__image-wrapper {
    margin: 0 auto 19.44444px;
    position: relative;
    width: 100%;
}

.feature-row__image {
    display: block;
    margin: 0 auto;
}

.feature-row__image-wrapper .feature-row__image {
    width: 100%;
    position: absolute;
    top: 0;
}

@media only screen and (max-width: 749px) {
    .feature-row__image {
        order: 1;
    }
}

.feature-row__text {
    padding-top: 35px;
    padding-bottom: 35px;
}

@media only screen and (max-width: 749px) {
    .feature-row__text {
        order: 2;
        padding-bottom: 0;
    }
}

@media only screen and (min-width: 750px) {
    .feature-row__text--left {
        padding-left: 35px;
    }

    .feature-row__text--right {
        padding-right: 35px;
    }
}

@media only screen and (min-width: 750px) {
    .featured-row__subtext {
        font-size: calc(((var(--font-size-base) + 2) / (var(--font-size-base))) * 1em);
    }
}

.hero {
    position: relative;
    height: 475px;
    display: table;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.hero--adapt,
.hero-fixed-width__image {
    max-height: 100vh;
}

@media only screen and (min-width: 750px) {

    .hero--adapt,
    .hero-fixed-width__image {
        max-height: 80vh;
    }
}

.hero--x-small {
    height: 94px;
}

.hero--small {
    height: 225px;
}

.hero--medium {
    height: 357px;
}

.hero--large {
    height: 488px;
}

.hero--x-large {
    height: 582px;
}

@media only screen and (min-width: 750px) {
    .hero--x-small {
        height: 125px;
    }

    .hero--small {
        height: 300px;
    }

    .hero--medium {
        height: 475px;
    }

    .hero--large {
        height: 650px;
    }

    .hero--x-large {
        height: 775px;
    }
}

.hero__overlay::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-image-overlay);
    opacity: var(--opacity-image-overlay);
    z-index: 1;
}

.hero__inner {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    padding: 55px 0;
    z-index: 2;
}

.hero__btn {
    margin-top: 27.5px;
}

/*================ Fixed width ================*/
.hero-fixed-width {
    position: relative;
}

.hero-fixed-width::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-image-overlay);
    opacity: var(--opacity-image-overlay);
    z-index: 1;
}

.hero-fixed-width__content {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 2;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.hero-fixed-width__image {
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    object-fit: cover;
    font-family: "object-fit: cover";
    overflow: hidden;
}

/*================ Quote slider ================*/
.quote-icon {
    display: block;
    margin: 0 auto 20px;
}

.quotes-slider-wrapper {
    overflow: hidden;
}

.quotes-slider-wrapper.slick-initialized .quotes-slider {
    touch-action: pan-y;
}

.quotes-slider {
    display: flex;
    max-width: 100%;
}

.quotes-slide {
    width: 100%;
    flex-shrink: 0;
}

@media only screen and (min-width: 750px) {
    .quotes-slide {
        width: 33.33%;
    }
}

.quotes-slide--single {
    width: 100%;
}

.quotes-slider__text {
    font-size: calc(((var(--font-size-base) + 1.75) / (var(--font-size-base))) * 1em);
    font-weight: var(--font-weight-body);
    font-style: var(--font-style-body);
    padding: 0 15px;
}

.quotes-slider__text cite {
    font-size: calc(((var(--font-size-base)) / (var(--font-size-base) + 4)) * 1em);
    font-style: normal;
}

.quotes-slider__text p {
    margin-bottom: 30px;
}

.quotes-slider__text p+cite {
    margin-top: 0;
}

.slick-dotted.quotes-slider.slick-initialized {
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

.quotes-wrapper .slick-dots {
    position: relative;
    bottom: 0;
    margin-top: 55px;
}

.quotes-wrapper .slick-dots li {
    margin: 0;
}

@media only screen and (min-width: 750px) {
    .quotes-wrapper .slick-dots li:nth-last-child(-n+2) {
        display: none;
    }
}

.quotes-wrapper .slick-dots li button::before {
    font-size: 34px;
    color: var(--color-text);
    opacity: 0.2;
}

.quotes-wrapper .slick-dots li.slick-active button::before {
    opacity: 1;
}

@media only screen and (min-width: 750px) {
    .quotes-wrapper .slick-dots--mobile-only {
        display: none;
    }
}

.quotes-wrapper .slick-slide[tabindex="0"] {
    outline: none;
}

.logo-bar {
    list-style: none;
    text-align: center;
    margin-bottom: -35px;
}

@media only screen and (min-width: 750px) {
    .logo-bar--large {
        margin-bottom: -55px;
    }
}

.logo-bar__item {
    display: inline-block;
    vertical-align: middle;
    max-width: 160px;
    margin: 0 27.5px 35px;
}

@media only screen and (min-width: 750px) {
    .logo-bar__item--large {
        margin-bottom: 55px;
    }
}

.logo-bar__image {
    display: block;
    margin: 0 auto;
}

.logo-bar__link {
    display: block;
}

.map-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (min-width: 750px) {
    .map-section {
        min-height: 500px;
    }
}

.map-section--load-error {
    height: auto;
}

.map-section__wrapper {
    height: 100%;
    flex-shrink: 0;
    flex-grow: 1;
    -ms-flex-preferred-size: 100%;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.map-section__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    z-index: 2;
}

.map-section__error {
    position: relative;
    z-index: 3;
}

@media only screen and (min-width: 750px) {
    .map-section__error {
        position: absolute;
        margin: 0 2rem;
        top: 50%;
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

.map-section__content-wrapper {
    position: relative;
    text-align: center;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-preferred-size: 100%;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
    flex-grow: 0;
}

@media only screen and (min-width: 750px) and (max-width: 989px) {
    .map-section__content-wrapper {
        -ms-flex-preferred-size: 50%;
        -webkit-flex-basis: 50%;
        -moz-flex-basis: 50%;
        flex-basis: 50%;
    }
}

@media only screen and (min-width: 990px) {
    .map-section__content-wrapper {
        -ms-flex-preferred-size: 33%;
        -webkit-flex-basis: 33%;
        -moz-flex-basis: 33%;
        flex-basis: 33%;
    }
}

.map-section__content {
    position: relative;
    display: inline-block;
    background-color: var(--color-bg-alt);
    padding: 35px;
    width: 100%;
    text-align: center;
    z-index: 3;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: center;
    -ms-align-content: center;
    align-content: center;
}

.map-section__content>* {
    width: 100%;
}

@media only screen and (min-width: 750px) {
    .map-section__content {
        background-color: var(--color-bg);
        margin: 55px 0;
        min-height: 300px;
    }
}

.map-section--load-error .map-section__content {
    position: static;
    transform: translateY(0);
}

.map-section__link {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    max-width: none;
    width: 100%;
    height: 100%;
    z-index: 2;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.map-section__container {
    max-width: none;
    width: 100%;
    height: 55vh;
    left: 0;
}

@media only screen and (min-width: 750px) {
    .map-section__container {
        position: absolute;
        height: 100%;
        top: 0;
        width: 130%;
    }
}

.map_section__directions-btn [class^="icon"] {
    height: 1em;
}

.map_section__directions-btn * {
    vertical-align: middle;
}

.map-section__background-wrapper {
    overflow: hidden;
    position: relative;
    -ms-flex-preferred-size: 100%;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
}

@media only screen and (min-width: 750px) {
    .map-section__background-wrapper {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }
}

.map-section--onboarding .map-section__background-wrapper {
    min-height: 55vh;
}

.map-section__image {
    height: 100%;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    background-size: cover;
    background-position: center;
}

@media only screen and (min-width: 750px) {
    .map-section__image {
        position: absolute;
    }
}

.map-section--display-map .map-section__image {
    display: none !important;
}

.map-section--load-error .map-section__image {
    display: block !important;
}

.gm-style-cc,
.gm-style-cc+div {
    visibility: hidden;
}

.image-bar {
    overflow: hidden;
}

@media only screen and (max-width: 749px) {
    .image-bar {
        max-width: 400px;
        margin: 0 auto;
    }
}

.image-bar__item {
    display: block;
    color: var(--color-overlay-title-text);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.image-bar__link:hover .image-bar__overlay::before,
.image-bar__link:focus .image-bar__overlay::before {
    opacity: var(--hover-overlay-opacity);
}

.image-bar__link:focus {
    position: relative;
    z-index: 2;
}

.image-bar__link:focus .image-bar__content {
    outline: 1px dotted #212121;
    outline: 5px auto -webkit-focus-ring-color;
}

.image-bar__content,
.image-bar__item {
    position: relative;
    width: 100%;
}

.image-bar--x-small .image-bar__content,
.image-bar--x-small .image-bar__item {
    height: 94px;
}

.image-bar--small .image-bar__content,
.image-bar--small .image-bar__item {
    height: 225px;
}

.image-bar--medium .image-bar__content,
.image-bar--medium .image-bar__item {
    height: 357px;
}

.image-bar--large .image-bar__content,
.image-bar--large .image-bar__item {
    height: 488px;
}

.image-bar--x-large .image-bar__content,
.image-bar--x-large .image-bar__item {
    height: 582px;
}

@media only screen and (min-width: 750px) {

    .image-bar--x-small .image-bar__content,
    .image-bar--x-small .image-bar__item {
        height: 125px;
    }

    .image-bar--small .image-bar__content,
    .image-bar--small .image-bar__item {
        height: 300px;
    }

    .image-bar--medium .image-bar__content,
    .image-bar--medium .image-bar__item {
        height: 475px;
    }

    .image-bar--large .image-bar__content,
    .image-bar--large .image-bar__item {
        height: 650px;
    }

    .image-bar--x-large .image-bar__content,
    .image-bar--x-large .image-bar__item {
        height: 775px;
    }
}

.image-bar__overlay::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-image-overlay);
    opacity: var(--opacity-image-overlay);
}

.image-bar__caption {
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: 0.1s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    width: 100%;
    text-align: center;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}

.collection-grid {
    margin-bottom: -22px;
    overflow: auto;
}

.collection-grid-item {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    margin-bottom: 22px;
}

@media only screen and (min-width: 750px) {
    .collection-grid-item {
        margin-bottom: 30px;
    }
}

.collection-grid-item__title {
    color: var(--color-overlay-title-text);
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    padding: 0 5px;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: 0.1s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    hyphens: auto;
}

@media only screen and (min-width: 750px) {
    .collection-grid-item__title {
        padding: 0 15px;
    }
}

.collection-grid-item__link {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.collection-grid-item__link:hover .collection-grid-item__title-wrapper::before,
.collection-grid-item__link:focus .collection-grid-item__title-wrapper::before {
    opacity: var(--hover-overlay-opacity);
}

.collection-grid-item__link:focus {
    opacity: 1;
}

.collection-grid-item__overlay {
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
}

.collection-grid-item__title-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-image-overlay);
    opacity: var(--opacity-image-overlay);
}

.custom-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    -ms-align-items: stretch;
    -o-align-items: stretch;
    align-items: stretch;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: auto;
    margin-bottom: -30px;
    margin-left: -30px;
}

@media only screen and (max-width: 749px) {
    .custom-content {
        margin-bottom: -22px;
        margin-left: -22px;
    }
}

.custom__item {
    -webkit-flex: 0 0 auto;
    -moz-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-bottom: 30px;
    padding-left: 30px;
    max-width: 100%;
}

@media only screen and (max-width: 749px) {
    .custom__item {
        -webkit-flex: 0 0 auto;
        -moz-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        padding-left: 22px;
        margin-bottom: 22px;
    }

    .custom__item.small--one-half {
        -webkit-flex: 1 0 50%;
        -moz-flex: 1 0 50%;
        -ms-flex: 1 0 50%;
        flex: 1 0 50%;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }
}

.custom__item .collection-grid-item {
    margin-bottom: 0;
}

.custom__item-inner {
    position: relative;
    display: block;
    text-align: left;
    max-width: 100%;
}

.custom__item-inner--video,
.custom__item-inner--collection,
.custom__item-inner--html {
    display: block;
}

.custom__item-inner--image {
    position: relative;
    margin: 0 auto;
}

.custom__image {
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
}

/*================ Linklist ================*/
@media only screen and (max-width: 749px) {
    .custom__item.custom__item--link_list {
        flex: 1 0 100%;
        max-width: none;
    }
}

.custom__linklist {
    margin-left: -15px;
    margin-right: -15px;
}

@media only screen and (min-width: 750px) {
    .custom__linklist {
        margin-left: -12px;
        margin-right: -12px;
    }
}

.custom__linklist-link {
    display: inline-block;
    padding: 10px 15px;
    margin: 5px 0;
}

@media only screen and (min-width: 750px) {
    .custom__linklist-link {
        padding: 3px 12px;
        margin-top: 0;
        margin-bottom: 0;
    }
}

/*================ Flex item alignment ================*/
.align--top-middle {
    text-align: center;
}

.align--top-right {
    text-align: right;
}

.align--middle-left {
    -ms-flex-item-align: center;
    -webkit-align-self: center;
    align-self: center;
}

.align--center {
    -ms-flex-item-align: center;
    -webkit-align-self: center;
    align-self: center;
    text-align: center;
}

.align--middle-right {
    -ms-flex-item-align: center;
    -webkit-align-self: center;
    align-self: center;
    text-align: right;
}

.align--bottom-left {
    -ms-flex-item-align: flex-end;
    -webkit-align-self: flex-end;
    align-self: flex-end;
}

.align--bottom-middle {
    -ms-flex-item-align: flex-end;
    -webkit-align-self: flex-end;
    align-self: flex-end;
    text-align: center;
}

.align--bottom-right {
    -ms-flex-item-align: flex-end;
    -webkit-align-self: flex-end;
    align-self: flex-end;
    text-align: right;
}

.newsletter-section {
    padding-top: 55px;
}

.index-section--newsletter-background {
    background-color: var(--color-bg-alt);
}

.rich-text__heading--large {
    font-size: 1.4em;
}

.rich-text__heading--small {
    font-size: 0.88em;
}

.rich-text__text--large {
    font-size: calc(((var(--font-rich-text-large)) / (var(--font-size-base))) * 1em);
}

.rich-text__text--small {
    font-size: calc(((var(--font-rich-text-small)) / (var(--font-size-base))) * 1em);
}

.product-card {
    position: relative;
}

.product-card:hover .product-card__image-wrapper,
.product-card:focus-within .product-card__image-wrapper {
    opacity: 0.8;
}

.product-card:hover .product-card__title,
.product-card:focus-within .product-card__title {
    border-bottom-color: var(--color-text);
}

.product-card__image-with-placeholder-wrapper {
    position: relative;
}

.product-card__title {
    border-bottom: 1px solid transparent;
    display: inline;
    font-family: var(--font-stack-header);
    font-style: var(--font-style-header);
    font-weight: var(--font-weight-header);
}

[data-section-type="video-section"] {
    margin: 0 auto;
}

@media only screen and (max-width: 749px) {
    [data-section-type="video-section"] {
        transition: width 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87), height 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87), padding 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    }
}

.video-section-wrapper {
    position: relative;
    display: flex;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: height 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
}

@media only screen and (min-width: 750px) {
    .video-section-wrapper {
        overflow: hidden;
    }
}

@media only screen and (max-width: 749px) {
    .video-section-wrapper {
        overflow: visible !important;
    }

    .video-section-wrapper.video-is-playing {
        margin: 0;
    }

    .video-section-wrapper.video-is-loaded {
        transition: height 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87), margin 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    }
}

.video-section-wrapper--small.video-section-wrapper--min-height {
    min-height: 175px;
}

@media only screen and (min-width: 750px) {
    .video-section-wrapper--small.video-section-wrapper--min-height {
        min-height: 475px;
    }
}

.video-section-wrapper--medium.video-section-wrapper--min-height {
    min-height: 270px;
}

@media only screen and (min-width: 750px) {
    .video-section-wrapper--medium.video-section-wrapper--min-height {
        min-height: 650px;
    }
}

.video-section-wrapper--large.video-section-wrapper--min-height {
    min-height: 375px;
}

@media only screen and (min-width: 750px) {
    .video-section-wrapper--large.video-section-wrapper--min-height {
        min-height: 775px;
    }
}

.video-section-wrapper--min-height {
    transition: height 0s, margin 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
}

@media only screen and (max-width: 749px) {
    .video-section-wrapper--min-height.video-is-loaded {
        transition: height 0s, margin 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    }
}

.video-background-wrapper--no-overlay {
    background-color: rgba(var(--color-image-overlay-rgb), 0.2);
}

/*================ Video text ================*/
.video__text-content {
    text-align: center;
    position: relative;
    width: 100%;
    top: 20px;
    opacity: 1;
    transition: all 0.6s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    transition-delay: 0.3s;
    z-index: 3;
    padding: 40px 0;
}

.video-is-playing .video__text-content {
    display: none;
}

.video-is-loaded .video__text-content,
.no-js .video__text-content {
    -ms-transform: translateY(-20px);
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
}

.video-is-loaded .video__text-content::after,
.no-js .video__text-content::after {
    opacity: 0;
    visibility: hidden;
    content: none;
}

.video__title {
    color: var(--color-overlay-title-text);
}

.video-is-paused .video__title {
    display: none;
}

/*================ Video styles ================*/
.video {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}

.video--background {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    transition: all 0.2s ease-in;
}

.autoplay .video-is-loaded .video--background {
    display: block;
    visibility: visible;
    opacity: 1;
}

.video--image_with_play {
    display: none;
    opacity: 0;
    visibility: none;
    width: 100%;
    height: 100%;
    transition: all 0.2s ease-in;
}

.video-is-playing .video--image_with_play,
.video-is-paused .video--image_with_play {
    display: block;
    visibility: visible;
    opacity: 1;
}

/*================ Video control buttons ================*/
.video-control {
    display: none;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 4;
    transition: all 0.1s ease-out;
}

.video-control__play-wrapper {
    display: none;
    height: 50px;
}

@media only screen and (min-width: 750px) {
    .video-control__play-wrapper {
        display: block;
    }
}

.video-control__play-wrapper-mobile {
    display: block;
    height: 50px;
    position: absolute;
    top: calc(100% - 50px / 2);
    left: calc(50% - 50px / 2);
}

@media only screen and (min-width: 750px) {
    .video-control__play-wrapper-mobile {
        display: none;
    }
}

.video-control__play-wrapper--with-text {
    margin-top: 30px;
}

.video-control__play {
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: visible;
    opacity: 1;
    width: 50px;
    height: 50px;
    border-radius: 25px;
    position: relative;
    margin: 0 auto;
    padding: 5px;
    pointer-events: none;
}

.video-background-wrapper .video-control__play {
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.video-control__play .icon {
    opacity: 0.5;
}

.video-is-loaded .video-control__play {
    pointer-events: auto;
}

.video-is-loaded .video-control__play .icon {
    opacity: 1;
}

.video-is-playing .video-control__play {
    display: none;
    visibility: hidden;
    opacity: 0;
}

.video-control__play::before {
    content: '';
    display: block;
    width: 2.875rem;
    height: 2.875rem;
    position: absolute;
    margin-left: -1.4375rem;
    border-radius: 50%;
    border: 2px solid white;
    border-top-color: transparent;
    -moz-animation: spin 0.65s infinite linear;
    -o-animation: spin 0.65s infinite linear;
    -webkit-animation: spin 0.65s infinite linear;
    animation: spin 0.65s infinite linear;
    transition: all 0.1s ease-out 0.5s;
    z-index: 5;
    top: 1px;
    left: 50%;
    opacity: 0.5;
}

.video-is-loaded .video-control__play::before,
.video-is-playing .video-control__play::before,
.video-is-paused .video-control__play::before {
    content: none;
    display: none;
}

.video-control__close-wrapper {
    display: none;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    outline: none;
    z-index: 3;
}

.video-is-playing .video-control__close-wrapper,
.video-is-paused .video-control__close-wrapper {
    display: block;
}

.video-control__close {
    position: relative;
    width: 30px;
    height: 30px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 27px;
    border-radius: 15px;
    background-color: white;
    color: black;
}

.video-control__close-wrapper:hover .video-control__close,
.video-control__close-wrapper:focus .video-control__close {
    outline: auto 5px -webkit-focus-ring-color;
    opacity: 0.7;
}

.video-is-playing .video-control__close,
.video-is-paused .video-control__close {
    display: inline-block;
    visibility: visible;
    opacity: 1;
}

.video-control__close .icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0 auto;
}

.video__pause {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    width: 50px;
    height: 50px;
    padding: 0;
    border: none;
    background-color: transparent;
    transition: color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87), background-color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87);
}

@media only screen and (max-width: 749px) {
    .video__pause {
        display: none;
    }
}

.video-is-playing .video__pause {
    display: none;
}

.video__pause .icon {
    position: relative;
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87), background-color 0.2s cubic-bezier(0.44, 0.13, 0.48, 0.87);
}

.video__pause:hover,
.video__pause:focus {
    outline: none;
}

.video__pause:hover .icon,
.video__pause:focus .icon {
    color: white;
}

.video__pause .icon-pause {
    width: 12px;
    height: 12px;
    top: 11px;
}

.video__pause .icon-play {
    width: 16px;
    height: 16px;
    top: 9px;
}

.video__pause-resume,
.video__pause-stop {
    height: 34px;
    width: 34px;
    margin: 0 auto;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.4);
}

.video__pause:hover .video__pause-resume,
.video__pause:focus .video__pause-resume,
.video__pause:hover .video__pause-stop,
.video__pause:focus .video__pause-stop {
    background-color: rgba(0, 0, 0, 0.75);
}

.video__pause:focus .video__pause-resume,
.video__pause:focus .video__pause-stop {
    outline: auto 5px -webkit-focus-ring-color;
}

.video__pause-stop {
    display: flex;
}

.is-paused .video__pause-stop {
    display: none;
}

.video__pause-resume {
    display: none;
}

.is-paused .video__pause-resume {
    display: flex;
}

/*================ Overlay ================*/
.video__overlay::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-image-overlay);
    opacity: var(--opacity-image-overlay);
    z-index: 3;
}

.video-is-playing .video__overlay {
    opacity: 0;
}

.video-is-playing .video__overlay:before {
    content: none;
}

/*================ Fallback images ================*/
.video__image {
    transition: opacity 0.8s cubic-bezier(0.44, 0.13, 0.48, 0.87);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    z-index: 1;
}

@media only screen and (min-width: 750px) {
    .video-background-wrapper .video__image {
        opacity: 0;
    }
}

.product-recommendations__inner {
    padding: 35px 0;
}

@media only screen and (min-width: 750px) {
    .product-recommendations__inner {
        padding: 55px 0;
    }
}

.disclosure {
    position: relative;
}

.disclosure__toggle {
    white-space: nowrap;
}

.disclosure-list {
    background-color: var(--color-text-field);
    border: 1px solid var(--color-border-form);
    bottom: 115%;
    padding: 11px 0px;
    position: absolute;
    display: none;
    min-height: 92px;
    max-height: 300px;
    overflow-y: auto;
    border-radius: 2px;
}

.disclosure-list--visible {
    display: block;
}

.disclosure-list__item {
    border-bottom: 1px solid transparent;
    white-space: nowrap;
    padding: 5px 45px 4px 15px;
    text-align: left;
}

.disclosure-list__item:active {
    background-color: var(--color-bg-currency-selector);
}

.disclosure-list__option {
    color: var(--color-text-field-text);
}

.disclosure-list__option:focus,
.disclosure-list__option:hover {
    color: var(--color-text-field-text) !important;
    border-bottom: 1px solid var(--color-text-field-text);
}

.disclosure-list__item--current .disclosure-list__option {
    border-bottom: 1px solid var(--color-text-field-text);
}

/*================ Selectors ================*/
.selectors-form {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

@media only screen and (min-width: 750px) {
    .selectors-form {
        -webkit-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
}

.selectors-form__item {
    padding-bottom: 15px;
    margin: 0 5px;
}

@media only screen and (min-width: 750px) {
    .selectors-form__item {
        padding-bottom: 0;
    }

    .selectors-form__item:first-of-type {
        margin-left: 0;
    }
}

.header .header__logo {
    margin-bottom: 25px !important;
}

.spr {
    display: block !important;
}

.spr[data-n="2"] {
    height: 10vh
}

.spr[data-n="2.5"] {
    height: 12.5vh
}

.spr[data-n="3"] {
    height: 15vh
}

.spr[data-n="3.5"] {
    height: 17.5vh
}

.spr[data-n="4"] {
    height: 20vh
}

.spr[data-n="4.5"] {
    height: 22.5vh
}

.spr[data-n="5"] {
    height: 25vh
}

.spr[data-n="5.5"] {
    height: 27.5vh
}

.spr[data-n="6"] {
    height: 30vh
}

.spr[data-n="6.5"] {
    height: 32.5vh
}

.spr[data-n="7"] {
    height: 35vh
}

.spr[data-n="7.5"] {
    height: 37.5vh
}

.spr[data-n="8"] {
    height: 40vh
}

.spr[data-n="8.5"] {
    height: 42.5vh
}

.spr[data-n="9"] {
    height: 45vh
}

.spr[data-n="9.5"] {
    height: 47.5vh
}

.spr[data-n="10"] {
    height: 50vh
}




/*販売ページバナー用*/
.gift_pr_outer {
    padding: 0 13vw 5em 13vw;
    width: auto;
}

@media screen and (max-width:767px) {
    .gift_pr_outer {
        padding: 0 0 5em 0;
    }
}

@media screen and (max-width:900px) {
    .gift_pr_outer {
        padding: 0 0 3em 0;
    }
}


.label p span {
    font-weight: 700;
}

.postageTable tbody th,
.postageTable tbody td {
    border: 1px solid;
    border-collapse: collapse;
    padding: 5px !important;
}

.postageTable .center {
    text-align: center;
}

.postageTable {
    width: 310px;
    display: block;
}

.postageTable .w60 {
    width: 60%;
}

.postageTable .right {
    text-align: right;
}

html,
.header {
    background-color: rgb(251, 248, 248) !important;
}

.footer__link-blockItem:nth-child(3),
.header__hamburger,
.footer__shops {
    display: none !important;
}

.product-form__cart-submit.add {
    background-color: #003b54 !important;
}

.product-form__cart-submit.add:hover {
    opacity: 0.6;
}

.product-gallary-li {
    border-radius: 5px;
}

.bg-img .img {
    /* background-size: contain; */
}

.bg-img .img.main_ {
    border-radius: 5px;
}

@media screen and (max-width:767px) {
    .cheesewonder_main {
        width: 80%;
        margin: 0 auto;
        ;
    }

    .product-gallary-control {
        margin: -0.5em -.5em 0;
        height: 20vw;
    }

    .spr[data-n="2"] {
        height: 10vw;
    }

    .layouts-wrap {
        padding-top: 0.47vw;
    }

    .cheesewonder_main.layouts-wrap {
        padding-top: 27.47vw;
    }



    h2 {
        font-size: 14px
    }

    .f-ll {
        font-size: 25.8667px;
    }

    .text,
    .li-body,
    .startText,
    .tax {
        font-size: 13.5px
    }

    .pulldown-header {
        padding: 0.8em 0 !important;
    }

    .pulldown-li:before {
        top: 1.1em !important;
    }

    .pulldown-toggle .t {
        width: 80% !important;
        height: 1.8px !important;
    }

    .purchaseScreen .purchaseScreen__wrap {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 389px) {

    .cheesewonder_main {
        width: 86%;
        margin: 0 7%;
    }

    .postageTable {
        width: 280px;
        display: block;
    }

    .page-width {
        max-width: 95vw;
        margin: 0 auto;
    }

    .bg-img .img {
        background-size: contain;
    }

}