:root {
  --bg: black;
  --bg-accent: #0e0e0e;
  --text: white;
  --text-accent:rgb(173, 173, 173);
  --pirmary: orange;
  --accent: rgb(172, 122, 31);
  --br: 20px;
  --br-alt: 5px;
}

* {
  padding: 0;
  margin: 0;
}


@media screen and (min-width: 600px) {
  html {
    font-size: 105%;
  }  
}
@media screen and (min-width: 1000px) {
  html {
    font-size: 110%;
  }  
}
@media screen and (min-width: 1400px) {
  html {
    font-size: 115%
  }
}


@font-face {
  font-family: 'bbhbogle-regular';
  src: url('/static/fonts/BBHBogle-Regular.ttf') format('woff2'), 
  url('/static/fonts/BBHBogle-Regular.ttf') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'dmserif-regular';
  src: url('/static/fonts/DMSerifText-Regular.ttf') format('woff2'), 
  url('/static/fonts/DMSerifText-Regular.ttf') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'dmserif-italics';
  src: url('/static/fonts/DMSerifText-Italic.ttf') format('woff2'), 
  url('/static/fonts/DMSerifText-Italic.ttf') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'zalando-regular';
  src: url('/static/fonts/ZalandoSansExpanded-VariableFont_wght.ttf') format('woff2'), 
  url('/static/fonts/ZalandoSansExpanded-VariableFont_wght.ttf') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


body {
  background-color: var(--bg);
  color: var(--text);
  font-family: "zalando-regular","Segoe UI", Helvetica, Arial, sans-serif;
}

h1 {
  font-family: 'bbhbogle-regular', "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-size: 3.8rem;
}

h2 {
  font-family: "zalando-regular","Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
}

p {
  font-family: "zalando-regular","Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 600;
}

a {
  text-decoration: none;
}

img {
  -webkit-touch-callout: none; /* iOS: disables save image menu */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;

  -webkit-user-drag: none; /* prevents drag ghost image */

  touch-action: manipulation; /* prevents unwanted gestures */
}


a, button, input, textarea, select, label {
  touch-action: manipulation;
}

/* NAVBAR */

.site-header {
  position: sticky;
  display: flex;
  flex-direction: column;
  top: 0;
  height: 0;
  z-index: 1000;
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background: transparent;
  transition: background-color 0.5s ease, box-shadow 0.5s ease;
  border-radius: 0px 0px 20px 20px;
}

.nav-container.scrolled {
  background: rgba(255, 255, 255, 0.103);
  backdrop-filter: blur(10px);
  border-radius: 0px 0px 20px 20px;
  
}

.nav-container a {
  color: var(--text);
}

.nav-container a {
  position: relative;        /* make ::after position relative to link */
  display: block;
  color: var(--text);
  padding: 1rem 1rem;
  text-decoration: none;
  font-size: 1.125rem;
  /* border-radius: 10px; */
  line-height: 1;            /* keeps the text neatly centered */
}

/* Create the underline bar */
.nav-container a::after {
  content: "";
  position: absolute;
  bottom: 0.375rem;               /* adjust how close to text */
  left: 50%;
  width: 0;                  /* start hidden */
  height: 2px; 
  background-color: var(--text);  /* your accent color */
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

/* Animate the bar on hover */
.nav-container a:hover::after {
  width: 40%;                /* how wide the line becomes */
}


/* STICKY SOCIALS */
.sticky-socials {
  position: sticky;
  bottom: 0;
  z-index: 999;
  display: flex;
  justify-content: center;
  padding: 12px 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.sticky-socials.is-hidden {
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

.nav-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  height: 3rem;
  width: 18rem;
  border-radius: 20px;

  background: rgba(255, 255, 255, 0.103);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.nav-socials a i {
  color: var(--text);
  font-size: 2rem;
    transition: transform 0.2s;
}

.nav-socials a i:hover {
  transform: scale(1.33);
}



/* FOOTER */
.site-footer {
  padding: 80px 16px;
  /* margin-top: 80px; optional spacing */
  background: var(--bg-accent); /* example */
  color: var(--text);
  display: flex;
  flex-direction: column;
}

.footer-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.footer-socials {
  display: flex;
  flex-direction: row;
  padding-top: 20px;
  gap: 20px;
}
.footer-socials a i {
  color: var(--text);
  font-size: 2rem;
  transition: 0.3s ease;
}
.footer-socials a i:hover {
  color: var(--text-accent);
}
.footer-container {
  padding-bottom: 2rem;
}

.mail-link {
  color: var(--text);
  text-decoration: none;
}
.mail-link:hover {
  color: var(--text-accent);
  text-decoration: underline;
}


/* HOME HERO MAST */
.home-hero {
  position: relative;
  height: 400vh;
  /* display: flex; */
  align-items: center;
  justify-content: center;
  /* overflow: hidden; */
  /* text-align: center; */
  margin-bottom: 6rem;
}

.home-hero .hero-image-stack {
  display: flex;
  flex-direction: column;
  position: absolute;
  width: 100%;
  height: 100%;
  justify-content: end;
}
.home-hero .hero-image-stack img {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  object-position: center;
  filter: brightness(70%);
}

.home-hero .hero-content {
  position: sticky;
  z-index: 1;
  top: calc(50vh - 2rem - 1.125rem);
  text-align: center;
  color: var(--text);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: calc(50vh - 7rem - 1.125rem);
}


.home-hero .hero-content h1
{
   /* text-transform: uppercase; */
  background-image: linear-gradient(0deg,rgba(177, 69, 105, 1) 0%, rgba(190, 185, 28, 1) 100%);
  background-size: auto auto;
  background-clip: border-box;
  background-size: 200% auto;
  color: #fff;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  /* animation: textclip 2s forwards; */
  /* display: inline-block; */
  transition: 1s ease ;
}

@keyframes textclip {
  to {
    background-position: 300% center;
  }
}

.home-hero .hero-content h1.scrolled {
  -webkit-text-fill-color: var(--text);
}



.standard-hero {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100vw;
  margin-bottom: 6rem;
}

.standard-hero .hero-content {
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
}



/* INTRO BLOCK */
.intro-section {
  padding-top: 6rem;
  padding-bottom: 6rem;
  padding-left: 2rem;
  padding-right: 2rem;
  background-color: var(--bg);
  color: var(--text);
  transition: 0.4s cubic-bezier(.34,.68,.83,.34);
  display: flex;
  justify-content: center;
  align-items: center;
}

.intro-section.is-active {
  background-color: var(--text);
  color: var(--bg);
}

.intro-content {
  max-width: 1000px;
}

/* IMAGE CAROUSEL */
:root {
  --slide-count: 8; /* number of slides in the carousel */
  --slide-width: 15rem; /* width of a single slide */
  --carousel-edge-pos:
      calc( 0% - ((var(--slide-width) * var(--slide-count)) - 100vw) ); /* formula to calulate the offset value */
}

.carousel-section {
  overflow: hidden;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.css-carousel {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  -webkit-overflow-scrolling: touch;
  animation: scroll 60s linear alternate infinite;
  animation-play-state: running;
}

/* .css-carousel:hover {
  animation-play-state: paused;
} */

.css-carousel img {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: var(--slide-width);
  /* height: 100%; */
  border-radius: 40px;
  transition: transform 0.2s;
}

.css-carousel img:hover {
  transform: scale(1.03);
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--carousel-edge-pos));
  }
}





/* =========================== */
/* PORTFOLIO IMAGE BLOCK */
/* =========================== */

/* .portfolio-content .image-container {
  display: grid;
  grid-template-columns:  repeat(2, 2fr);
  grid-gap: 0.5rem;
  padding-bottom: 1rem;
} */

.portfolio-section {
  width: 100vw;
}
.portfolio-content {
  padding: 2rem;
}

.portfolio-content .image-container {
  display: grid;
  width: 100%;
  grid-template-columns: auto auto;
  gap: 1rem;
  margin-top: 1rem;
}
.portfolio-content .image-container img {
  width: 100%;
  border-radius: 20px;
}


@media screen and (min-width: 600px) {
  .portfolio-content .image-container {
    grid-template-columns: auto auto auto;
  }
}

@media screen and (min-width: 1000px) {
  .portfolio-content .image-container {
    grid-template-columns: auto auto auto auto;
  }
}

/* =============== */
/* GALLERY BLOCK */
/* =============== */

.gallery-section {
  padding: 0rem 2rem 6rem 2rem;
  max-width: 500px;
  margin: 0 auto;
}


.gallery-section .container {
  position: relative;
  margin-top: 1rem;
}

/* Hide the images by default */
.gallery-section .container .mySlides {
  display: none;
}

/* Add a pointer when hovering over the thumbnail images */
.gallery-section .container .cursor {
  cursor: pointer;
}

/* Next & previous buttons */
.gallery-section .container .prev,
.gallery-section .container .next {
  cursor: pointer;
  position: absolute;
  top: 40%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  font-weight: bold;
  font-size: 20px;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-user-select: none;
}

/* Position the "next button" to the right */
.gallery-section .container .next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.gallery-section .container .prev:hover,
.gallery-section .container .next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* Number text (1/3 etc) */
.gallery-section .container .mySlides .numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* Container for image text */
.gallery-section .container .caption-container {
  text-align: center;
  background-color: #222;
  padding: 2px 16px;
  color: white;
}

.gallery-section .container .row:after {
  content: "";
  display: table;
  clear: both;
}

/* Six columns side by side */
.gallery-section .container .row .column {
  float: left;
  width: 16.66%;
}

/* Add a transparency effect for thumnbail images */
.gallery-section .container .row .column .demo {
  opacity: 0.6;
}

.gallery-section .container .row .column .active,
.gallery-section .container .row .column .demo:hover {
  opacity: 1;
}


/* ================== */
/* RTE BLOCK */
/* ================== */
.rte-section {
 padding: 2rem;
}
.rte-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: top;
  max-width: 1000px;
  margin: 0 auto;
}
.rte-image-container {
  /* width: 100%; */
  display: flex;
  width: 100%;
  max-width: 100vw;
  justify-content: center;
  align-items: center;
  padding-bottom: 1rem;
}
.rte-image-container img {
  border-radius: 20px;
  width: 100%;
  /* height: 50%; */
  object-fit: cover;
  object-position: center;
  overflow: hidden;

}

.rte-content h2 {
  padding-bottom: 1rem;
}

@media screen and (min-width:700px) {
  .rte-container {
    flex-direction: row;
  }
  .rte-image-container {
    padding-right: 4rem;
  }
}





/* ================= */
/* PLAIN INTRO SECTION */
/* ================= */
.plain-intro-section {
  padding: 2rem;
}
.plain-intro-content {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  /* justify-content: center;
  align-items: center; */
  max-width: 1000px;
}

.plain-intro-points {
  margin-left: 3rem;
  padding: 1rem 0 1rem 0;
}