@font-face {
  font-family: 'BauPro';
  src: url('fonts/BauPro.woff2') format('woff2'),
       url('fonts/BauPro.woff') format('woff'),
       url('fonts/BauPro.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'BauPro', Arial, sans-serif;
  font-size: 13px;
  color: #000;
  background-color: #000; /* ensures the top safe area/status bar background is black */
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

a:hover {
  color: #999;
}

/* Slideshow */
.slideshow {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* fill viewport height on all devices */
  z-index: 0;
  cursor: default;
  user-select: none;
}

/* Slides */
.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* force image to fill viewport */
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  opacity: 1;
}

/* Contact toggle button */
.contact-toggle {
  font-family: 'BauPro', Arial, sans-serif;
  letter-spacing: 0.20em;
  position: absolute;
  top: 14px; /* pushes Samuel Norris down a bit */
  left: 14px; /* adds left margin from the viewport */
  background: none;
  border: none;
  font-size: 10px;
  font-weight: 700;
  color: black;
  z-index: 40;
  cursor: pointer;
  padding: 0;
  user-select: none;
  text-align: left;
  transform: none;
}

/* Contact overlay */
.contact-overlay {
  position: fixed;
  top: 0; 
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,1);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s;
  z-index: 20;
}

.contact-overlay.open {
  opacity: 1;
  visibility: visible;
}

/* Contact content */
.contact-overlay .contact-content {
  position: absolute;
  top: 32px; /* moves contact info further down */
  left: 14px; /* adds left margin inside overlay */
  max-width: 340px;
  text-align: left;
}

.contact-content h1 {
  font-family: 'BauPro', Arial, sans-serif;
  max-width: 340px;
  color: white;
  font-size: 16px;
  font-weight: normal;
  text-align: left;
  line-height: 1.3;
  letter-spacing: 0.001em;
}

@media screen and (max-width: 768px) {
  .contact-content h1 {
    max-width: 380px;
    font-weight: 100;
  }
}

/* Custom cursors */
.cursor-left {
  cursor: url('images/cursor-left.png'), auto;
}

.cursor-right {
  cursor: url('images/cursor-right.png'), auto;
}
