@font-face{
    font-family: 'Heebo-Currency';
    src:  url('fonts/currency-regular.eot?aiyty6');
    src:  url('fonts/currency-regular.eot?aiyty6#iefix') format('embedded-opentype'),
      url('fonts/currency-regular.ttf?aiyty6') format('truetype'),
      url('fonts/currency-regular.woff?aiyty6') format('woff'),
      url('fonts/currency-regular.svg?aiyty6#icomoon') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: block;
}
@font-face{
    font-family: 'Heebo-Currency';
    src:  url('fonts/currency-semibold.eot?aiyty6');
    src:  url('fonts/currency-semibold.eot?aiyty6#iefix') format('embedded-opentype'),
      url('fonts/currency-semibold.ttf?aiyty6') format('truetype'),
      url('fonts/currency-semibold.woff?aiyty6') format('woff'),
      url('fonts/currency-semibold.svg?aiyty6#icomoon') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: block;
}
*{ font-family: 'Heebo', 'Heebo-Currency', Helvetica, Arial, sans-serif }

:root{
    --blue-accent: hsl(212,74%,61%);
    --outline: 68, 68, 68;
    --review-score: 0;
    --background: rgb(240,241,243);
    --hero-content-p-hue: hsl(78, 77%, 89%);
}

.hero-image-store .hero-image{
    background:linear-gradient(to bottom, rgb(251 192 83) 0%,rgba(241,52,217,1) 100%);
}

h2.padded{padding-top:40px}

input[type="text"]{
    font-size: 18pt;
    padding: 0 10px;
    margin:0;
}
textarea{
    font-size:14pt;
    width:600px;
    height:100px;
    min-height:100px;
    resize:vertical;
    padding:0 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.125), 0 1px 2px rgba(0,0,0,0.25);
    border: none;
    border-radius:5px;
}
label{
    font-size:18pt;
    font-weight:bold;
    width: 200px;
    display: inline-block;
    vertical-align: top;
    margin:5px 0;
}

#unsupported-destination{
    font-weight:500;
    text-align:center;
    padding:10px 30px;
    margin-top:20px;
    display:none;
}

body.unsupported-visible #unsupported-destination{ display:block }
body.unsupported-visible #item-showcase, body.unsupported-visible #nonempty-cart-hero, body.unsupported-visible .hero-image-store{ margin-top: 20px }

#item-showcase{
    box-shadow:0 1px 3px rgba(0,0,0,0.125), 0 1px 2px rgba(0,0,0,0.25);
    margin-top: 50px;
}
#nonempty-cart-hero, #empty-cart-hero{ margin-top: 50px }
main:has(#nonempty-cart-hero.hidden){ display: none }


.item-hero{
    background:#fff;
    padding:50px 30px;
    border-radius:5px;
    box-shadow:0 1px 3px rgba(0,0,0,0.125), 0 1px 2px rgba(0,0,0,0.25);
}

.item-hero h2:first-child{padding-top:0}

.full-height-hero, #modal-box{
    background:#fff;
    padding:50px 30px;
    border-radius:5px;
    box-shadow:0 1px 3px rgba(0,0,0,0.125), 0 1px 2px rgba(0,0,0,0.25);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    position:relative;
}

.full-height-hero h1, .full-height-hero h2, #modal-box h1{
    text-align:center;
    padding:0;
}

.item-hero.hidden, .full-height-hero.hidden{ display:none; }

.full-height-hero > div{
    overflow:hidden;
    filter:blur(20px);
    opacity:0;
    pointer-events:none;
    z-index:-1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    max-width:calc(100% - 60px);
    transition:filter 200ms, opacity 200ms;
}

.full-height-hero > div.visible{
    opacity:1;
    filter:blur(0px);
    z-index:1;
    pointer-events:auto;
    overflow:visible;
}

#item-header{
    display:flex;
    justify-content:space-between;
}

#item-title-container{
    margin-right:30px;
}

#item-title{
    font-size:30pt;
    font-weight:900;
    line-height:40px;
    word-wrap:break-word;
}

#item-review-display{
    --yellow: #fff;
    margin-top:5px;
    width:128px;
    height:23px;
    clip-path:url(#item-review-clip);
    background:linear-gradient(to right, var(--yellow), var(--yellow) calc(100% * var(--review-score) / 5), transparent calc(100% * var(--review-score) / 5));
    filter:drop-shadow(0 1px 3px rgba(100,100,100,0.10)) drop-shadow(0 1px 2px rgba(100,100,100,0.20));
}

#item-review-h2-display{
    display:inline-block;
    margin-left:5px;
    width:103px;
    height:18px;
    clip-path:url(#item-review-clip);
    background:linear-gradient(to right, var(--yellow), var(--yellow) calc(100% * var(--review-score) / 5), transparent calc(100% * var(--review-score) / 5));
}

#item-buy-container{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    margin-bottom:30px;
    gap:5px;
}

#item-price{
    font-size:20pt;
    font-weight:600;
    display:flex;
    align-items:center;
    position:relative;
    width:100%;
    justify-content:flex-end;
}

#item-price-display{
    margin-right:10px;
    position:relative;
    height:100%;
    flex:1;
    line-height:37px;
    text-align:right;
}
#item-price-display .loading-dot-p-container{
    top:-10px;
    right:0;
}

#item-price-currency, #total-code{
    color:var(--blue-accent);
    cursor:pointer;
}
#total-code{margin-left:8px}

#total-label{
    display: inline-block;
    min-width: 20px;
}

.currency-select{
    position:absolute;
    top:0;
    right:0;
    z-index:4;
    line-height:37px;
    font-weight:bold;
    display:flex;
    flex-direction:column;
    background:#fff;
    overflow:auto;
    max-height:0;
    pointer-events:none;
    opacity:0;
    transition:200ms;
    outline:5px solid rgba(255,255,255,0);
}

.currency-select.visible{
    max-height:calc(100vh - 180px);
    pointer-events:auto;
    opacity:1;
    outline:5px solid var(--blue-accent);
}

.item-currency-option{
    display:flex;
    padding:5px 15px;
    width:200px;
    cursor:pointer;
    transition:100ms;
}

.item-currency-option:not(:first-child){
    border-top:2px solid var(--background);
}

.item-currency-option:hover{
    background:var(--background);
    color:var(--blue-accent);
}

.currency-option-icon{
    flex:0 0 85px;
    text-align:center;
}

.currency-option-code{
    flex:0 0 75px;
    text-align:center;
}

.large-button{
    background:var(--blue-accent);
    color:#fff;
    border-radius:5px;
    padding:5px 20px;
    font-size:18pt;
    font-weight:600;
    cursor:pointer;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    -moz-user-select:none;
    -webkit-user-select:none;
    user-select:none;    
    transition: background-color 200ms;
}

.large-button:active{
    font-size:17pt;
    background:var(--blue-accent);
}

.large-button.inverse{
    background:var(--background);
    color:var(--blue-accent);
}

.large-button.destructive{
    background:rgb(212 0 0);
    color:white;
}

.status-label{
    background:var(--background);
    color:#fff;
    padding:5px 20px;
    font-size:18pt;
    font-weight:600;
    cursor:pointer;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:5px;
    -moz-user-select:none;
    -webkit-user-select:none;
    user-select:none;    
    transition: background-color 200ms;
}
.status-label.inreview{ background: rgb(0 0 0) }
.status-label.processed{ background: rgb(204 25 115) }
.status-label.shipped{ background: rgb(222, 150, 16) }
.status-label.delivered{ background: rgb(41, 186, 73) }
.status-label.error,.status-label.rejected,.status-label.cancelled{ background: var(--red) }

.cart-button{
    width:170px;
    height:45px;
}

.cart-button > div{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:opacity 200ms;
}

.in-label{
    opacity:0;
    color:var(--blue-accent);
}

.loading-label{
    font-size:20pt;
    opacity:0;
}

.loading-dot-h1-container{
    display: inline-flex;
    height: 50px;
    vertical-align: bottom;
    overflow:visible;
}
.loading-dot-p-container{
    display:flex;
    position:absolute;
    top:0;
}

.loading-dot{
    animation:dot-bounce 2s infinite paused;
}
.loading-dot:nth-child(2){ animation-delay:-250ms }
.loading-dot:nth-child(3){ animation-delay:-500ms }

.loading .loading-label{ opacity:1 }
.loading .label{ opacity:0 }
.loading .loading-dot{ animation-play-state:running }

.cart-button.in-cart{ background: var(--background) }
.cart-button.in-cart .in-label{ opacity:1 }
.cart-button.in-cart .add-label{ opacity:0 }

.cart-button.disabled{cursor:default !important}
.cart-button.disabled .in-label{ opacity:0 }
.cart-button.disabled .add-label{ opacity:0 }


@keyframes dot-bounce{
    0%{ margin-top: 10px }
    50%{ margin-top: -10px }
    100%{ margin-top: 10px }
}

#item-images-container{
    display:flex;
}

#item-hero-image{
    flex:1 0;
    position:relative;
    height:300px;
    margin-right:50px;
}

.item-contain-image, .item-zoom-image{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    background-repeat:no-repeat;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    transition:opacity 200ms;
}

.item-contain-image, .item-peek-image{
    background-size:contain;
    background-position:top;
}

.item-zoom-image{
    z-index:2;
    opacity:0;
    cursor:pointer;
    background-position:center;
}

.item-peek-image{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:3;
    background-repeat:no-repeat;
    background-color:#fff;
    opacity:0;
    transition:opacity 200ms;
}
.item-peek-image.visible{ opacity: 1 }

#item-hero-image:hover .item-zoom-image{ opacity:1 }
#item-hero-image:hover .item-contain-image{ opacity:0 }


#item-image-selectors{
    flex:0 0 150px;
    display:flex;
    flex-direction:column;
}

.item-image-selector{
    width:100%;
    flex:0 0 120px;
    margin:20px 0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    cursor:pointer;
    border:5px solid rgba(0,0,0,0);
    transition:200ms border;
}
.item-image-selector:first-child{margin-top:0}
.item-image-selector:last-child{margin-bottom:0}

.item-image-selector:not(.selected):hover{
    border:5px solid rgba(var(--outline), 0.5);
}
.item-image-selector.selected{
    border:5px solid rgba(var(--outline) ,1);
}

#item-detail-container{
    display:flex;
    flex-direction:column;
    margin-top:70px;
}

.item-detail-column{
    font-size:12pt;
    display:flex;
    flex-direction:column;
}
.item-detail-column:last-child{margin:40px 0}

.item-detail-column h2{
    padding:0;
    margin-top:15px;
}

.item-detail-column > div{
    padding:20px;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,0.125), 0 1px 2px rgba(0,0,0,0.25);
    border-radius:5px;
}

.item-detail-column > div a, #no-orders a{ text-decoration: none }

.item-detail-column > div:not(:first-child){
    margin-top:40px;
}

#item-description a{
    color:var(--blue-accent);
}

#item-description a:hover{
    text-decoration:underline;
}

#cart-table{
    margin-top:30px;
    display:grid;
    font-size:15pt;
    grid-template-columns:3fr 1fr 1fr;
}

#cart-table-items-container{
    display:contents;
}

#cart-table-details-container{
    margin-top:40px;
    display:contents;
}

.cart-row{
    display: contents;
    font-size:15pt;
    cursor:default;
}
#total-row{font-weight:600}

#supporter-shipping-promo{
    grid-column:2 / span 2;
    margin:-5px 0 0 10px;
    padding:0 0 15px 0;
}
#supporter-shipping-promo > a{
    display:flex;
    gap:8px;
    align-items:flex-start;
    font-size:12pt;
}
#supporter-shipping-promo img{
    width:20px;
}

#shipping-label{
    display:flex;
    align-items:center;
    gap:10px;
}
#shipping-label > img{
    width:25px;
}

#discount-row{display:none}

#discount-row.visible{display:contents}

#cart-table-details-container .cart-row{
    padding:10px 0;
}

.cart-item-container{
    display:flex;
    align-items:center;
    cursor:pointer;
    grid-column:1 / 1;
    padding:20px 20px 20px 0;
}

.cart-item-container a{
    display:flex;
    flex: 1;
    align-items: center;
}

.cart-item-container a:hover .cart-item-label{ text-decoration: underline }

.cart-item-image{
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    flex:0 0 75px;
    height:50px;
    margin-right:20px;
}

.cart-item-label{
    font-weight:500;
}

.cart-quantity-container, .cart-total{
    display:flex;
    align-items:center;
    white-space:nowrap;
}

.cart-quantity-container{
    margin:0 20px;
    justify-content:center;
    grid-column:2 / 2;
}

.cart-detail-label{
    text-align:left;    
    margin:0 10px;
    padding:10px 0;
    grid-column:2 / 2;
}

.cart-quantity-label{
    flex:0 0 40px;
    text-align:center;
    grid-column:3 / 3;
}

.cart-quantity-toggle{
    flex:0 0 55px;
    font-size:15pt;
}
.cart-quantity-toggle:active{ font-size: 14pt }

.cart-total{
    flex:0 0 calc(20% - 40px);
    position:relative;
    justify-content:flex-end;
}

#checkout-form{
    display:flex;
    flex-direction:row;
    justify-content:space-between;
}

#checkout-statuses{ min-height:calc(100vh - 500px) }
.checkout-status:not(.visible){position:absolute}

.checkout-status h1, #item-title-container h1, #orders-statuses h1{
    font-size: 30pt;
    line-height: 40px;
    margin: 0;
}

#discount-input-container{
    display:flex;
}
::-webkit-input-placeholder{text-transform: initial}
::-moz-placeholder{text-transform: initial}
:-ms-input-placeholder{text-transform: initial}


#discount-input{
    width: 200px;
    font-weight:bold;
    text-transform:uppercase;
}

.invalid{
    background:var(--red) !important;
}

#discount-button{
    margin-left:20px;
    width:130px;
}

#await-login-split{
    display:flex;
    margin-top:50px;
}

#await-login-split > div{
    flex:0 0 calc(50% - 60px);
    padding:0 30px;
    display:flex;
    flex-direction:column;
    text-align:center;
}

#await-login-split > div h2{margin:0}

#await-login-split > div p{
    padding:0 20px 20px 20px;
}

#await-login-split > div .large-button{
    margin-top:auto;
}

#item-reviews-container{
    display:flex;
    flex-direction:column;
}

.review{
    display:flex;
    flex-direction:column;
    padding:20px 0;
    border-bottom:1px solid var(--background);
}
.review:first-child{border-top:1px solid var(--background)}
.review:last-child{border-bottom:none}

.review-title{
    font-size: 15pt;
    font-weight: 600;
}

.review-author{
    font-weight:500;
}

.review-score{
    width:73px;
    height:13px;
    clip-path:url(#item-review-clip);
    background:linear-gradient(to right, var(--yellow), var(--yellow) calc(100% * var(--local-review-score) / 5), transparent calc(100% * var(--local-review-score) / 5));
}
.one{--local-review-score: 1} .two{--local-review-score: 2} .three{--local-review-score: 3} .four{--local-review-score: 4} .five{--local-review-score: 5}

.review-body{
    margin-top:15px;
}

.review-image{
    width:100%;
    flex:0 0 100px;
    margin-top:15px;
}

.review-image img{
    cursor:zoom-in;
    height:100px;
}

#review-image-zoomed-container{
    position:fixed;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    cursor:zoom-out;
    background:rgba(0,0,0,0.75);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    z-index:-1;
    pointer-events:none;
    transition:opacity 200ms;
}

#review-image-zoomed-container.visible{
    opacity:1;
    z-index:99;
    pointer-events:auto;
}

#review-image-zoomed{
    width:100%;
    height:100%;
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
}

.review-response{
    text-align: right;
    border-right: 2px solid var(--background);
    padding: 0 20px 0 40px;
}

#reviews-body-empty{
    padding-bottom:20px;
}

.ship-list{
    list-style:none;
}

.ship-list li::before{ margin-right: 15px }
.ca::before{content:"🇨🇦"}
.us::before{content:"🇺🇸"}
.eu::before{content:"🇪🇺"}

#modal-container{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    opacity:0;
    pointer-events:none;
    z-index:999;
    transition:opacity 300ms;
}

#modal-container.visible{
    opacity:1;
    pointer-events:auto;
    z-index:999;
}

#modal-background{
    position:absolute;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.9);
    z-index:0;
}

#modal-box{
    margin:70px 20px 0 20px;
    width:calc(100% - 40px);
    z-index:1;
    transform:scale(0.95);
    transition:transform 300ms;
}

#modal-container.visible #modal-box{transform:scale(1)}

.modal-box-structure{
    filter:blur(20px);
    opacity:0;
    transition:200ms;
    height:0;
    overflow:hidden;
}
.modal-box-structure.visible{
    filter:blur(0px);
    opacity:1;
    height:auto;
    overflow:visible;
}

.modal-box-structure p{
    font-size:14pt;
}

.modal-box-buttons{
    display:flex;
    justify-content:flex-end;
}

.modal-box-buttons .large-button{
    flex:0 1 300px;
    margin:0 10px;
}
.modal-box-buttons .large-button:last-child{margin-right:0}

.shop-header{
    padding:20px 30px;
    text-align:center;
    font-size:22pt;
    font-weight:bold;
}

.product-listing-container{
    display:flex;
    flex-wrap:wrap;
    margin-block-start:40px;
    gap:40px;
}

.product-listing{
    flex:1 0 250px;
    padding:20px;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,0.125), 0 1px 2px rgba(0,0,0,0.25);
    display:flex;
    flex-direction:column;
    border-radius:5px;
}

.product-listing a{ text-decoration:none }

.product-listing-image{
    background-image:url(https://cdn.shopify.com/s/files/1/0592/9969/2718/products/render_a2be4536-e2a7-4c82-a98a-a30a849fa17d.png?v=1632141624);
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
    width:100%;
    flex:0 0 140px;
}

.product-listing-detail{
    margin-top:20px;
    flex:1;
    display: flex;
    flex-direction: column;
}


.product-listing-title{
    font-weight:bold;
    font-size:18pt;
    line-height:30px;
}

.product-listing-price{
    font-size:14pt;
    font-weight:500;
    margin:5px 0 15px 0;
    position:relative;
    display:flex;
    height:28px;
}

.product-listing-price-label{
    flex-basis: 25px;
    white-space:nowrap;
}

.product-listing-price-currency{
    color:var(--blue-accent);
    cursor:pointer;
    margin-left:5px;
}

.product-listing-options{
    display:flex;
    justify-content:space-between;
    margin:auto 0 0 0;
}

.product-listing-options .large-button{
    font-size:14pt;
}
.product-listing-options .large-button:active{ font-size:13.5pt }


.small-cart-button{
    display:flex;
    flex:0 0 75px;
    justify-content:center;
    height:unset;
    width:unset;
}
.small-cart-button svg{
    width:20px;
    margin-left:5px;
}

#order-tracking, #order-cancel, #orders-statuses > div{ display:none }
#order-tracking.visible, #order-cancel.visible{ display: block }
#orders-statuses > div.visible{
    display: flex;
    flex-direction:column;
}

.order-status-row{
    display:flex;
    align-items:center;
    margin:5px 0;
}

.order-status-row .status-label{
    flex:0 0 200px;
    height:45px;
    margin-right:30px;
    cursor:default;
}

#orders-container{
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
}

.order-row{
    box-sizing:border-box;
    background:#fff;
    display:flex;
    padding:30px 50px;
    margin:20px 0;
    width:100%;
    box-shadow:0 1px 3px rgba(0,0,0,0.125), 0 1px 2px rgba(0,0,0,0.25);
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
}

.order-row p:first-child{font-weight:bold}
.order-row p{ font-size:20pt }
.order-row .status-label{ flex:0 0 200px }

#preload{
    width:0;
    height:0;
    overflow:hidden;
}

#write-review-stars-container{
    display:flex;
}

.write-review-star{
    flex:0 0 70px;
    height:67px;
    clip-path:url(#star-clip);
    background:rgb(230,230,230);
    margin:0 5px;
    cursor:pointer;
    transition:background 200ms;
}
.write-review-star.selected{ background: var(--yellow) }
.write-review-star.hovered{ background: hsl(35,93%,83%); }

.review-field{margin-block:10px}

#sorry-message, #error-message{
    margin:30px 0;
    height:0;
    opacity:0;
    overflow:hidden;
    transition:opacity 200ms;
}
#error-message{margin:0}
#sorry-message.visible, #error-message.visible{
    margin:30px 0;
    height:auto;
    opacity:1;
}

#write-review-submit{margin-top:30px;width:240px;}

input[type=file].used{pointer-events:none}
#image-uploading,#image-error{display:none}
#image-uploading.visible,#image-error.visible{display:inline}

#uploaded-image{
    margin:20px;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center;
    width:200px;
    height:200px;
    display:none;
}
#uploaded-image.visible{
    display:block;
}

#delete-uploaded-image{
    width:100%;
    height:100%;
    background-color:rgba(0,0,0,0.5);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
    font-size:20pt;
    cursor:pointer;
    opacity:0;
    transition:200ms;
}
#delete-uploaded-image:hover{opacity:1}

#create-your-own-price{ margin-inline-start: 20px }

@media (max-width: 725px){
    #item-header{
        flex-direction:column;
    }
    #item-buy-container{
        flex:unset;
        flex-direction:row;
        margin-top:20px;
        flex-wrap:wrap;
    }
    #item-price{
        width:unset;
        margin-right:20px;
    }
    #item-cart-button{
        flex:0 0 170px;
    }
    #item-images-container{
        flex-direction:column;
    }
    #item-hero-image{
        height:unset;
        flex:0 0 400px;
        margin-right:0;
    }
    #item-image-selectors{
        flex-direction:row;
        margin-top:20px;
    }
    .item-image-selector{
        margin:0 20px;
        width:unset;
        flex:1 0;
    }
    .item-contain-image, .item-peek-image{
        background-position:center;
    }

    .order-row{
        flex-direction:column;
        text-align:center;
        & .status-label{ flex-basis: unset }
    }
}

@media (max-width:650px){
    #cart-table{
        display:block;
    }
    #checkout-form{
        flex-direction:column;
        overflow:hidden;
    }
    .cart-row{
        display:flex;
        justify-content:space-between;
        flex-wrap:wrap;
    }
    .cart-item-container{
        flex:0 0 100%;
    }
    #cart-table-items-container .cart-row{
        margin:50px 0;
    }
    #discount-input-container{
        flex-wrap: wrap;
        margin-bottom: 20px;
        justify-content:space-between;
    }
    #discount-button{
        margin-left:0;
    }
    #await-login-split{
        flex-direction:column;
        margin-top:20px;
    }
    #await-login-split > div{
        padding:0;
    }
    #await-login-split > div:not(:first-child){
        margin-top:20px;
    }
    #discount-row.visible{ display:flex }
}

@media (min-width:950px){   
    #item-detail-container, .product-listing-container{
        flex-direction:row;
    }
    .item-detail-column{
        flex:0 0 calc(50% - 20px);
    }

    #modal-box{
        width:950px;
    }

    .item-detail-column:first-child{margin:0 20px 0 0}
    .item-detail-column:last-child{margin:0 0 0 20px}

    #item-hero-image{ height: 500px }
}