/* ===========================
   CSS Reset & Base Styles
   =========================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family:
    ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  text-decoration: inherit;
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ===========================
   Utility Classes
   =========================== */

a.disabled {
  pointer-events: none;
}

/* ===========================
   Custom Fonts
   =========================== */

@font-face {
  font-family: "Kuenstler Script Black";
  src: url("../fonts/kuenstler-script-black-regular.woff2") format("woff");
  font-weight: normal;
  font-style: normal;
}

:root {
  --font-kuenstler: "Kuenstler Script Black";
  --font-caslon: "Libre Caslon Text";
}

/* ===========================
   Global Styles
   =========================== */

body {
  font-size: 1rem;
  background-color: #fff;
}

.visually-hidden {
  text-indent: -9999px;
}

/* ===========================
   Page Sections
   =========================== */

.page {
  width: 100vw;
  position: relative;
}

@media (min-width: 768px) {
  .page {
    height: 100vh;
  }
}
/* ===========================
   Splash Section
   =========================== */

.splash-background {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-image: url(../images/01b.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.splash-logo {
  position: fixed;
  top: 7%;
  right: 7%;
  bottom: 7%;
  left: 7%;
  background-image: url(../images/firma.svg), url(../images/fiori.svg);
  background-position:
    center top,
    center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}

/* ===========================
   Main, About, Shop Sections - Logo
   =========================== */
.logo {
  position: fixed;
  z-index: 20;
  top: 3%;
  right: 23%;
  left: 23%;
  bottom: 3%;
  background-image: url(../images/firma.svg), url(../images/fiori.svg);
  background-position:
    center top,
    center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (min-width: 768px) {
  .logo {
    right: 28%;
    left: 28%;
  }
}

/* ===========================
   Navigation
   =========================== */

nav {
  position: fixed;
  z-index: 20;
  /* height: 48px; */
  height: calc(100vw * 0.055);
  /* background: rgba(55, 55, 55, 0.8); */
  display: flex;
  align-items: center;
  font-family: var(--font-kuenstler);
  font-size: 14px;
  /* top: 2%; */
  top: 3%;
}

@media (min-width: 600px) {
  nav {
    /* top: 2.5%; */
  }
}

@media (min-width: 568px) {
  nav {
    /* top: 2%; */
    font-size: 27px;
  }
}

@media (min-width: 768px) {
  nav {
    top: 2.5%;
  }
}

nav.right {
  right: 4%;
}

nav.left {
  left: 4%;
}

/* ===========================
   Content Text
   =========================== */

.content {
  margin-top: 25%;
  margin-left: 5%;
  margin-right: 5%;
  margin-bottom: 6%;
  font-family: var(--font-caslon);
  font-size: 17px;
}

.content p {
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .content {
    margin-top: 13%;
    margin-left: 18%;
    margin-right: 18%;
  }
}

/* ===========================
   About Section
   =========================== */

#about .content,
#shop .content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.content .left,
.content .right {
  width: 100%;
}

.content .right {
  display: flex;
  align-items: center;
  justify-content: center;
}

#about .content img {
  margin-top: 2rem;
  width: 75%;
}

@media (min-width: 768px) {
  #about .content,
  #shop .content {
    left: 0;
    right: 0;
    margin-top: 0;
    margin-bottom: 0;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    flex-direction: row;
  }

  #about .content .left,
  #about .content .right,
  #shop .content .left,
  #shop .content .right {
    width: 50%;
  }

  #about .content img,
  #shop .content img {
    margin-top: 0;
    min-width: 200px;
  }

  #shop .content img {
    width: 90%;
  }
}

/* ===========================
   Shop Section
   =========================== */

#shop {
  overflow: hidden;
}

#shop .content .right {
  display: none;
}

#shop .shop-image {
  margin-top: 2rem;
  width: 110%;
  margin-left: -5%;
  aspect-ratio: 3 / 4;
  background-size: cover;
  background-position: center;
}

@media (min-width: 768px) {
  #shop .content .right {
    display: flex;
  }

  #shop .shop-image {
    display: none;
  }
}

/* ===========================
   Image Grid
   =========================== */
.image-grid {
}

.image-grid img {
  width: 100%;
  height: auto;
  break-inside: avoid;
  display: block;
}

@media (min-width: 768px) {
  .image-grid {
    padding-bottom: 15%;
    column-gap: 20px;
    column-count: 2;
    margin-left: 18%;
    margin-right: 18%;
  }

  .image-grid img {
    margin-bottom: 20px;
  }
}
