:root {
  --main-content-width: 85vw;
  --header-height: 25vh;
}

@font-face {
    font-family: 'DK Bocadillo';
    src: url('/fonts/DKBocadillo-Regular.woff2') format('woff2'),
        url('/fonts/DKBocadillo-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html {
  height: 100%;
}

body {
  position: relative;
  min-height: 100%;
  font-family: 'Quicksand', sans-serif;
  font-weight: 400;
  padding: 0 calc(0.5*calc(100vmax - var(--main-content-width))) calc(0.5*calc(100vmax - var(--main-content-width))) calc(0.5*calc(100vmax - var(--main-content-width)));
  background-color: white;
  color: black;
}

.top_name {
  max-height: 10vh; 
  float:left;
  display: block;
}

h1, h2 {
  font-weight: 700;
  /*font-style: italic;*/
}

p, label {
  font-size: 1.2em;
  line-height: 1.7em;
}

a {
  cursor: pointer;
  color: black;
}

dialog {
  z-index: 10;
  border: none;
  border-radius: 0.5rem;
}

dialog form {
  text-align: right;
}

.material-icons-outlined{
  -webkit-transform: translateY(15%);
  -ms-transform: translateY(15%);
  transform: translateY(15%);
}

ul.cart-items{
  list-style: none;
  border-top: 1px solid #e5e5e5;
  padding-left: 0;
  text-align: left;
  
}

li.cart-item{
  border-bottom: 1px solid #e5e5e5;
  display: flex;
  justify-content: space-between;
}

li.cart-item p{
  line-height: 2em;
}

li.cart-item img, li.cart-item video{
  max-height: 2em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.3em;
}

.main-container{
  width: 100%; 
  max-width: 45em; 
  margin: 0 auto; 
  text-align: center;
}


#top-navigation {
  position: fixed;
  text-align: center;
  /* margin-bottom: 3em; */
  margin: 0 auto 0 auto;
  z-index: 2;
  left: calc(0.5*calc(100vmax - var(--main-content-width)));
  width: var(--main-content-width);
  min-height: calc(var(--header-height)/3);
  font-family: 'DK Bocadillo';
  outline-width: 10px;
  outline-style: solid;
  outline-color: white;
  background: white;
}

.header-space{
  height: var(--header-height);
  z-index: 1;
}


.news-banner{
  height: calc(0.3*var(--main-content-width));
  border: 0px;
  max-width: var(--main-content-width);
  margin: 0 auto 4em auto;
  position: relative;
  background-size: cover;
  background-position: center;
  min-height: 8em;
}

.news-banner-ribbon{
  position: absolute;
  bottom: 2em;
  width: 100%;
  text-decoration: none;
  text-align: center;
  padding: 0.7em;
  background: #fff;
}




#top-navigation::after {
  content: "";
  clear: both;
  display: table;
}

#top-navigation a.underlined {
  background-image: url("/media/underline_black.png"); 
  background-repeat: no-repeat; 
  background-position: 50% 50%; 
  background-size: 100% 1.5vh; 
  padding: 0px 0px 1.5em;
}

a.navigation {
    margin: 0 0 0 1em;
    font-size: 1.4em;
    letter-spacing: .1rem;
    color: #000;
    font-weight: 300;
    text-decoration: none;
}

button {
  border: none;
  padding: 0.5em;
  cursor: pointer;
}

#namediv a{
  text-decoration: none;
  font-size: 2.5em;
  letter-spacing: .3rem;
}

#namediv img {
    max-height: 15vh;

}

.right-div {
  float:right;
}

.left-div {
  float:left;
}

.category-menu {
  font-size: 1.6em;
  margin: 1em auto 2em auto;
  text-align: center;
}

.category-selection {
  margin: 0 0.5em;
}

.active-category-selection {
  font-weight: 700;
}


#top-navigation div {
  position: relative;
  margin-top: calc(var(--header-height)/3 );
  /*top: 50%;*/
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.row { width:100%; }

.columns {
    /*vertical-align: top; /*Fix for different     height elements*/
    display: inline-block;
    color: #000;
}

.thumbnail {
  height: 10em;
}

.button{
  cursor: pointer;
  border: 1px solid black;
  padding: 0.3em 0.5em;
}

figure {
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: center;
}

figcaption {
  text-align: center;
}


#next-slide, #prev-slide{
  border:  0px;
  padding:  0;
  font-size:  3em;
}


* { box-sizing: border-box; }

.grid {
  border: 0px;
  max-width: var(--main-content-width);
  margin: auto;
  clear: both;
}

.grid:after {
  display: block;
  content: '';
  clear: both;
}

.grid-col {
  float: left;
  width: 49%;
  margin-right: 2%;
}

.grid-col--4 { margin-right: 0; }

.cell-description {
  position: absolute;
  bottom: 1em;
  width: 100%;
  text-decoration: none;
  text-align: center;
  padding: 0.7em;
  background: #fff;
}

@media (hover: none) {
  .cell-description{
    opacity: 1;
  }
}
@media (hover: hover) {
  .cell-description{
    opacity: 0;
  }
}

.grid-item:hover .cell-description {  
  opacity: 1;
  bottom: 2em;
  transition: opacity 0.5s, bottom 0.5s; 
}


.grid-item {
  margin-bottom: 1em;
  min-height: 100px;
  position: relative;
  transition: visibility 0.5s, opacity 0.5s ease;
  box-shadow: 3px 3px 8px 0px rgba(0,0,0,0.3); 
}

.grid-item a {
    text-decoration: none !important;
  }

.grid-item-hidden {
  opacity: 0;
  visibility: hidden;
}

.grid-item-visible {
  opacity: 1;
  visibility: visible;
}

.grid-item img, .grid-item video {
  display: block;
  width: 100%;
}

.fade-in{
  opacity: 1 !important;
  visibility: visible;
  z-index: 1;
}

.fade-out{
  opacity: 0 !important;
  visibility: hidden;
  z-index: 0;
}

.slideshow-container {

  margin: 0 auto;
  position: relative;
  width: 100%;
  /* border: 1px solid red; */
  /* overflow: hidden; */
  transition: height 0.5s, width 0.5s ease;
  /* box-shadow: 0 0 9px 0 rgba(0, 0, 0, .7); */
}

.slide-item{
  position: absolute;
  margin-left: 50%;
  transform: translateX(-50%);
  left: 0;
  right: 0;
  cursor: pointer;
  opacity: 0;
  transition: visibility 1s, opacity 1s ease;
}

.portfolio-slide{
  max-width: 80vw !important;
  max-height: 45vw !important;
}

.shop-slide{
  max-width: 30vw !important; 
}

.slide-navigation {
  font-size: 1.3em;
  text-align: center;
}

.work-description {
  font-size: 1em;
  text-align: center;
  margin: 0.5em 15vw ;
}

.work-description h1 {
  font-weight: 300;
}

.product-view{
  width: 60vw;
  margin: 0 auto;
}

.product-image{
  position: relative;
  float: left;
  width: 50%;
}

.product-info{
  padding: 0 2em;
  position: relative;
  float: right;
  width: 50%;
}

.product-info h1 {
  font-size: 1.5em;
  margin: 0 0 0.67em 0;
}

.product-image .slide-navigation {
  margin: 0.5em;
}

.product-info h2 {
  font-size: 1.2em;
}

.product-details{
  clear: both;
  padding-top: 1em;
}

.view-cart{
  position: fixed;
  z-index: 3;
  overflow: visible;
  top: calc(var(--header-height)/3 );
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 2vw;
  text-align: right;
  width: 1em;
  height: 1em;
}

.view-cart a div{
  position: absolute; 
  text-align: center;
  top: 0; 
  right: 45%;
  width: inherit; 
  font-size: 1em;
  color: #FF8888;
}

.view-cart a {
  position: absolute; 
  top: 0; 
  right: 0; 
  -webkit-transform: translateY(-45%);
  -ms-transform: translateY(-45%);
  transform: translateY(-45%);
}

.black-button {
  background: black;
  color: white;
  border-width: 0;
  text-decoration: none;
}

.black-button:hover{
  background: #FF8888;
  transition: all .2s ease-in;
  background: #AAAAAA; 
  padding: 0.5em 0.7em;
}

.shop-footer{
  position: absolute;
  /*float: right;
  clear: both;*/

  right: calc(0.5*calc(100vmax - var(--main-content-width))); 
  bottom: calc(0.2*calc(100vmax - var(--main-content-width)));
}

@media screen and (max-width: 900px ), screen and (max-device-width: 680px) {

  body{
    padding: 0 1em 1em 1em;
    margin: 0;
  }

  .shop-footer{
    right: 7.5vw;
    bottom: 5vh;
  }


  .grid-col { width: 49%; }
  /* Hide two columns */
  .grid-col--2, .grid-col--3 { display: none; }


  .cell-description{
    position: relative;
    clear: both;
    bottom: 0;
    background-color: transparent;
  }

  /* disable animations on mobile */
  .grid-item:hover .cell-description {  
    opacity: 1;
    bottom: 0;
    transition: none; 
  }

  .top_name {
    float:  none;
    margin: 1em auto 0em auto;
    max-height: 14vh; 
    height: 14vh;
    
  }

  h1 {
    font-size: 4vh !important;
  }

  h2 {
    font-size: 3.2vh !important;
  }

  p, label, .button, .slide-navigation {
    font-size: 2.4vh !important;
  }

  a.navigation {
    font-weight: normal;
  }
  
/*
  #top-navigation {
    clear: both;
    float: none;
    margin: 1em auto 2em auto;
    left: auto;
    position: absolute;
  }
*/

  #instabtndiv {
    width: 15vw;
    display: block;
    top: 0;
    left: 0;
    position: absolute!important;
    text-align: left;
  }

  .view-cart{
    position: absolute;
  }

  #top-navigation {
    clear: both;
    float: none;
    margin: 1em auto 2em auto;
    left: auto;
    position: relative;
  }

  #top-navigation div{
    margin-top: 0.2vh;
    transform: translateY(0);
  }

  #top-navigation a {
    font-size: 3.5vh;
    margin: 0.2em auto;
    display: inline-block;
  }

  #top-navigation a.underlined {
    margin: 0.1em auto -1.1em auto;
  
  }

  #namediv a{
    font-size: 4.5vh;
  }

  .category-menu {
    font-size: 2.5vh;
    margin: 1em auto;
  }

  .product-view div{
    width: 100%;
    clear: both;
    padding: 0;
  }

  .product-info{
    margin-top: 3vh;
  }

  .header-space{
    display: none;
  }

  .shop-slide{
    max-width: 100% !important; 
  }

  .product-view{
    width: 80vw;
  }

  .product-image .slideshow-container{
    height: 50vh;
  }

  .portfolio-slide{
    max-height: 70vw !important;
  }

  #namediv img {
    max-height: 14vh;
    height: 100%;
  }

  #namediv{
    padding: 0 6vw;
    margin-bottom: 1em;
  }



/*
  #top-navigation div {
    position: absolute;
    transform: translateY(0);
    transform: translateX(-50%);
    font-size: 3vh;
    top: 0;
  }

  
  #worksbtndiv {
    top: 17vh !important;
  }

  #aboutbtndiv {
    top: 23vh !important;
  }

  #shopbtndiv {
    top: 29vh !important;
  }
*/
  .columns {
    width: 100%;
    position: relative;
  }

  .work-description {
    margin: 0.5em auto ;
  }

  .news-banner{
    margin: 0 auto 2em auto;
  }

}

@media ( min-width: 768px ) {
  .grid-col { width: 32%; }
  .grid-col--2 { display: block; }
  /* Hide one column */
  .grid-col--3 { display: none; }
}
