:root {
  --clr-blue: #5ea3ec;
  --clr-red: #f64444;
  --clr-orange: #ffb400;
  --inline-padding: 30px;
  --ff-ogg: ogg, sans-serif;
  --ff-Apercu-mono: Apercu_mono, sans-serif;
  --ff-Apercu: Apercu;
}

@media screen and (min-width: 768px) {
  :root {
    --inline-padding: 60px
  }
}


body,
html {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

body::-webkit-scrollbar {
  display: none !important;
}


.desktop {
  display: none !important;
}

a {
  color: black;
  text-decoration: none;
}

@media (width > 768px) {
  .desktop {
    display: block !important;
  }

  .mobile {
    display: none !important;
  }
}

header {
  position: fixed;
  width: 100%;
  top: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: var(--inline-padding)
}

.nav-desktop {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;

}

.nav-desktop a {
  min-width: 60px !important;
  display: flex;
  height: 0%;
  flex-direction: column;
  align-items: center;
  font-size: 20px;
  font-family: var(--ff-Apercu-mono);
}

.nav-desktop a :first-child {
  margin-top: 3.5em;
  margin-bottom: 35vh;
}

.nav-desktop a:first-child {
  width: 100%;
  height: 1px;
}

.nav-desktop a span:nth-child(2) {
  writing-mode: vertical-lr;
  text-align: center;
}

.menu_button {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.menu_button span {
  display: block;
  background-color: black;
  height: 1px;
  width: 30px;
}

.hero {
  padding-inline: var(--inline-padding);
  margin-top: 300px;
  margin-bottom: 50px;
}

.hero_image {
  /* height: 450px; */
  object-fit: cover;
  max-width: 100%;
}

.hero_text {
  font-family: var(--ff-ogg);
  font-size: 35px;
  line-height: 45px;
  max-width: 1030px;
}

.hero_text>a {
  background-image: repeating-linear-gradient(-45deg, #ffb400, #ffb400 1px, transparent 0, transparent 12px),
    repeating-linear-gradient(45deg, #ffb400, #ffb400 1px, transparent 0, transparent 12.2px);
  ;

  background-position: 0 103%, 2px 103%;
  background-size: 17px 10px;
  background-repeat: repeat-x;
  animation: 20s infinite normal b;
  animation-timing-function: linear;
}

@keyframes b {
  from {
    background-position: 0 103%, 2px 103%;
  }

  to {
    background-position: 100% 103%, 100% 103%;
  }
}

.sub_section_one {
  padding-inline: var(--inline-padding);
  line-height: 60px;
}

.sub_section_one>h1 {
  font-size: 60px;
  font-family: var(--ff-ogg);
  margin-block: 60px;
}


.sub_section_one .details {
  font-family: var(--ff-Apercu-mono);
  font-size: 14px;
  line-height: 21px;
  margin-block: 30px;
}

.first img {
  opacity: 0;
  transition: opacity 1s ease-in;
}

section.two {
  padding-inline: var(--inline-padding);
}

.market_events img {
  margin: auto;
  width: 120px;
}


.market_events h1 {
  font-size: 60px;
  font-family: var(--ff-ogg);
  line-height: 65px;
  margin-block: 40px;
  text-align: center;
}

.market_events_details {
  font-family: var(--ff-Apercu-mono);
  font-size: 16px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  padding: 60px 20px;
}

.market_events_details:first-of-type {
  margin-top: 30px;
}

.market_events_details:last-of-type {
  margin-bottom: 30px;
}

.market_events_details>* {
  min-width: 100%;
}

.market_events_details span {
  font-size: 12px;
}


.market_events_details:is(:first-of-type, :last-of-type) {
  background-image:
    linear-gradient(90deg, #000 50%, transparent 0),
    linear-gradient(90deg, #000 50%, transparent 0),
    linear-gradient(90deg, #000 50%, transparent 0),
    linear-gradient(90deg, #000 50%, transparent 0);
  background-position: 0 0, 0 100%, 0 14px, 0 calc(100% - 14px);
  background-repeat: repeat-x, repeat-x, repeat-x, repeat-x;
  background-size: 24px 1px, 24px 1px, 24px 1px, 24px 1px;
}

.market_events_button {
  border: 1px solid black;
  width: 100%;
  background-color: transparent;
  padding-block: 20px;
  font-size: 16px;
}

.visible {
  opacity: 1 !important;
}

.address {
  padding-inline: var(--inline-padding);
}

.address a {
  font-size: 40px;
  font-weight: normal;
  font-family: var(--ff-ogg);
  display: block;
  padding-inline: 31px;
  padding-block: 50px;
  margin: auto;
  margin-top: 30px;
  background-image:
    linear-gradient(90deg, black 50%, transparent 0),
    linear-gradient(90deg, black 50%, transparent 0),
    linear-gradient(180deg, black 50%, transparent 0),
    linear-gradient(180deg, black 50%, transparent 0);
  background-size: 35px 1px, 35px 1px, 1px 35px, 1px 35px;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  text-align: center;
}

.address a:hover,
.contact a:hover {
  animation: move infinite normal .4s;
  animation-timing-function: linear;
}

@keyframes move {
  from {
    background-position: 0 0, 0 100%, 0 0, 100% 0;
  }

  to {
    background-position: 30px 0, -30px 100%, 0 -30px, 100% 30px;
  }
}

footer {
  font-family: var(--ff-ogg);
  font-weight: bold;

  & a {
    font-family: var(--ff-Apercu-mono);
  }
}

.interested {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 60px;
  padding-block: 60px;
  background-image:
    repeating-linear-gradient(-74deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .2) 1px, transparent 0, transparent 4px),
    repeating-linear-gradient(-74deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .2) 1px, transparent 0, transparent 4px);
  background-position: 0 0, 0 100%;
  background-size: 100% 12px, 100% 12px;
  background-repeat: repeat-x;

  &>button {
    width: 100%;
    background-color: transparent;
    border: 1px solid black;
    padding-block: 20px;
    font-size: 1rem;
    max-width: 180px;
  }
}

.contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  padding-block: 35px;
  margin-bottom: 30px;
  font-weight: normal;
  background-image:
    linear-gradient(90deg, black 50%, transparent 0),
    linear-gradient(90deg, black 50%, transparent 0),
    linear-gradient(180deg, black 50%, transparent 0),
    linear-gradient(180deg, black 50%, transparent 0);
  background-size: 35px 1px, 35px 1px, 1px 35px, 1px 35px;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
}

.contact a:first-child {
  margin-top: 20px;

}

footer {
  padding-inline: var(--inline-padding);
}

.footer_end {
  display: flex;
  row-gap: 1rem;
  flex-wrap: wrap;
  font-family: var(--ff-Apercu);
  margin-bottom: 4rem;
}

.footer_end a {
  text-decoration: underline;
}

.footer_end>* {
  width: 50%;
  font-weight: normal !important;
  font-size: 10px;
}


.footer_end>*:nth-child(2n) {
  text-align: end;
}

@media screen and (min-width: 768px) {
  main {
    width: calc(100% - 180px);
    position: relative;
  }

  .hero {
    opacity: 0;
    animation: f 800ms 2s forwards ease-out;
  }


  header {
    top: 60px
  }

  .hero {
    margin-top: 250px;
    margin-bottom: 120px;
  }

  @keyframes f {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  .nav-desktop {
    display: flex;
  }

  .nav-desktop a {
    overflow: hidden;

  }

  .nav-desktop a:nth-child(2) {
    animation: a .9s ease-out forwards;
    animation-delay: 1s;

  }

  .nav-desktop a:nth-child(3) {
    overflow: hidden;
    animation: a .7s ease-out forwards;
    animation-delay: 1s;
  }

  .nav-desktop a:nth-child(4) {
    overflow: hidden;
    animation: a .5s ease-out forwards;
    animation-delay: 1s;
  }

  @keyframes a {
    from {
      height: 0%;
    }

    to {
      height: 100%;
    }
  }


  .hero_text {
    font-size: 75px;
    line-height: 86px;
    font-weight: 400;
    text-size-adjust: 100%;
  }

  .sub_section_one>h1 {
    font-size: 113px;
    max-width: 645px;
    line-height: 149.725px;
  }

  .details-container,
  .market_events,
  .market_events_details_container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 60px;
    place-content: center;
  }

  .market_events_details_container {
    background-image:
      linear-gradient(90deg, #000 50%, transparent 0),
      linear-gradient(90deg, #000 50%, transparent 0),
      linear-gradient(90deg, #000 50%, transparent 0),
      linear-gradient(90deg, hsl(0, 0%, 0%) 50%, transparent 0);
    background-position: 0 0, 0 calc(100% - 30px), 0 14px, 0 calc(100% - 16px);
    background-repeat: repeat-x, repeat-x, repeat-x, repeat-x;
    background-size: 24px 1px, 24px 1px, 24px 1px, 24px 1px;
    animation: m infinite linear .9s;
  }

  @keyframes m {
    from {
      background-position: 0 0, 0 calc(100% - 30px), 0 14px, 0 calc(100% - 16px);
    }

    to {
      background-position: 24px 0, -24px calc(100% - 30px), 24px 14px, -24px calc(100% - 16px);
    }

  }

  .market_events>h1 {
    font-size: 100px;
    line-height: 100px;
  }

  .market_events_button {
    grid-column: 2;
    margin: auto;
    background: white;
    width: 200px;
  }

  .market_events_details:is(:first-of-type, :last-of-type) {
    background: unset;
  }

  .interested {
    margin-top: 100px;

  }

  .interested h3 {
    font-size: 45px;
    font-weight: 400;
    margin-bottom: 20px;

  }

  .address {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 60px;
    grid-template-rows: strecth;
  }

  .address a {
    font-size: 60px;
    padding: 90px 30px;
    display: block;
    min-width: 100%;
    height: 100%
  }

  .address a p {
    max-width: 385px;
    text-align: center;
    margin: auto;

  }

  .map {
    padding: 1px !important;
  }

  .map-img {
    background-image: url("https://images.prismic.io/canalstreetmarket/74921c6bf0abf767666c52a6af3c001c58643587_group-11.jpg?auto=compress,format");
    height: 100%
  }

  .contact {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px
  }

  .contact a {
    padding: 60px;
  }

  .contact a:first-child {
    margin-top: unset;
  }

  .contact a p {
    text-align: center;
  }

  .footer_end {
    flex-wrap: unset;
  }

  .footer_end>* {
    font-size: 14px;
    text-align: unset !important;

  }

  .footer_end p:last-child {
    order: -1
  }

  .footer_end p:first-of-type {
    text-align: end !important;
  }

}