 /* ---------- variables ---------- */

:root {
  --spacing_sm: 8px; /* spacing_sm */
  --spacing_md: 16px; /* spacing_md */
  --spacing_lg: 24px; /* spacing_lg */
  --spacing_xl: 48px; /* spacing_xl */

  --backColor: #000000;
  --textColor: #ffffff;

  --mainFont: "HawthornEF";
}

/* ----------- fonts -------------- */

@font-face {
  font-family: "Bastard";
  src: url("Bastard.woff2") format("woff2"), url("Bastard.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
    font-family: 'Garamon(d/t)';
    src: url('Garamondt-Italic.woff2') format('woff2'),
        url('Garamondt-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Garamon(d/t)';
    src: url('Garamondt-Regular.woff2') format('woff2'),
        url('Garamondt-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avara';
    src: url('Avara-Bold.woff2') format('woff2'),
        url('Avara-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


/* ----------- structure -------------- */

html {
  font-family: var(--mainFont);
  font-weight: lighter;
  font-size: 22px;
  line-height: 33px;
  min-height: 100%;
  /*cursor: url('../img/cursor.gif'), pointer;*/
}

body {
  background: var(--backColor);
  color: var(--textColor);
  margin: 0;
}

.wrap {
  max-width: 666px;
  margin: 60px auto;
  padding: 0 24px;
}

.content {
  padding: 24px 0;
}

.columns {
  columns: 2;
  column-gap: 24px;
}

.center {
  text-align: center;
}

img {
  max-width: 100%;
  height: auto;
  mix-blend-mode: darken;
}

/* ---------- typography ----------- */

h1 {
  font-family: 'Avara';
  text-align: center;
font-size: 32px;
    letter-spacing: 6px;
    margin: 8px 0;
}

h2 {
  font-family: 'Garamon(d/t)';
    font-size:24px;
    margin: 8px 0;
}

small {
  font-size: 14px;
  line-height: 14px;
}

a {
  color: var(--textColor);
}

em {
  font-size:1.2em;
}

/* -------------- utils ------------- */

.display-none, .hidden {
  display: none!important;
}

.mobile {
  display: none;
}

.desktop {
  display: block;
}

figure {
  margin-right: 0;
  margin-left: 0;
}

figcaption {
  font-size: 14px;
  line-height: 14px;
  font-weight: normal;
  opacity: 0.4;
}

img {
  max-width: 100%;
  height: auto;
  border-radius: 8px; /* border_radius */
  overflow: hidden;
  line-height: 0;
}

/* ----------- content -------------- */

body {
  background: var(--backColor);
}

#main-img {
  width:100%;
  height:100vh;
  position:absolute;
  top:0;
  right:0;
  left:0;
  background-image: url("../img/website-top-img.jpg");
  background-size: cover;
  background-position: center;
}

.home {
  height: 100% !important;
  background-size: cover;
  font-family: "Bastard";
  background-position-x: center;
  background-position-y: top;
}

.center-content {
  max-width:900px;
  margin: 50px auto;
  text-align: center;
  z-index:100;
  position:relative;
}

.home-caption {
  width: calc(100% - 60px);
  text-align: center;
  padding: 0 30px;
  left: 0;
  font-size: 40px;
  line-height: 1.2em;
}

.top-logo {
  max-width:800px;
  margin:0 auto;
}

.logo {
  max-width:900px;
  margin:0 auto;
  margin-top:150px;
}

.announcement {
  max-width:400px;
  margin:0 auto;
  position:relative;
    z-index:100;
}

.button {
  padding: 12px 16px;
  background: var(--backColor);
  text-decoration:none;
  display:inline-block;
  width:auto;
}

.home-caption img {
  max-width:300px;
}

.noise {
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  pointer-events:none;
  z-index:200;
  opacity:0.1;
  background: url("../img/noise.gif");
}

.gradient-up {
  height:200px;
  width:100%;
  position:absolute;
  top: calc(100vh - 200px);
  background-image: linear-gradient(#00000000, #000000);
}

.gradient-down {
  height:200px;
  width:100%;
  position:absolute;
  top: calc(100vh - 200px);
  background-image: linear-gradient(#000000, #00000000);
}

.gradient-bottom::after {
  content:"";
  height:200px;
  width:100%;
  position: absolute;
  bottom:0;
  background-image: linear-gradient(#00000000, #000000);
}

.gradient-top::after {
  content:"";
  height:200px;
  width:100%;
  position: absolute;
  bottom:0;
  background-image: linear-gradient(#000000, #00000000);
}

.black-overlay {
  background:#00000030;
  width:100%;
  height:100%;
  pointer-events: none;
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:0;
}

.home-social {
  margin-bottom: 30px;
  text-align: center;
  width: 100%;
  color: #fff;
}

.home-social a {
  text-decoration: none;
  color: #f9f9e4;
}

.home-social a:hover {
  color: #666;
}

.social-link {
  padding: 0 8px;
  font-family: 'Garamon(d/t)';
  font-size:16px;
}

.factor {
    text-align:center;
    padding: 0 16px;
}

.factor img {
    mix-blend-mode: normal;
    max-width:500px;
}

/* --- album release --- */

.album-release {
  position:relative;
  max-width: 1000px;
  margin: 48px auto;
  overflow: hidden;
  z-index: 500;
  display:flex;
  flex-direction:row;
}

.album-release h1 {
    margin-top:24px;
}

.album-release h1, .album-release h2 {
    text-shadow: #000 1px 3px 7px;
}

.column-left {
    padding: 0 24px;
    flex:1;
}

.column-right {
    width:350px;
    padding: 7px 24px;
}

.column-right iframe {
    box-shadow: #000 0 0 20px;
}

.album-links {
   max-width:342px;
    margin:0 auto;
}

/* --- merch --- */

.merch {
    
}

/* --- background visuals --- */

.single-image {
  width:100%;
  position:relative;
  z-index:1;
}

/* --- photo slider --- */

.gallery {
  position:relative;
  width:100%;
  overflow: hidden;
    padding-top:200px;
}

.slider {
  height:700px;
  max-width:1046px;
  overflow-y: hidden;
  overflow-x: scroll;
  position:relative;
  border: 20px solid #000;
  z-index:300;
  margin: 100px auto;
  line-height:0;
}

.slider-container {
  width:calc(1046px * 4);
  height:100%;
  position:absolute;
  top:0;
  z-index:10;
  list-style:none;
  scroll-behavior: smooth;
  display: flex;
  padding:0;
  margin:0;
}

#slides-container-black-mountain {
 width:calc(1046px * 12);
}

#slides-container-samhain {
 width:calc(1046px * 13);
}

#slides-container-coffin {
 width:calc(1046px * 11);
}

.gallery h2 {
    text-align: center;
}

.slide {
    width: 100%;
    height:100%;
    flex: 1 1 auto;
}

.arrows {
  position:relative;
  z-index:300;
  margin:0 auto;
  position: absolute;
  top: 650px;
  width: 1160px;
  left: 50%;
  margin-left: -580px;
  pointer-events: none;
}

.arrow {
  width:100px;
  pointer-events: auto;
  cursor:pointer;
}

.arrow-left {
  float:left;
}

.arrow-right {
  float:right;
}

/* --- Links page --- */

body.links {
  background:#000;
}

.links-container {
  margin:0 auto 48px auto;
  max-width:342px;
}

.links-container a {
  z-index:500;
  position:relative;
}

.links-container img {
    border-radius:0;
}

.album-link {
    text-align:center;
    display:block;
    text-decoration:none;
    margin-bottom:16px;
    font-family: 'Avara';
    border: 2px solid #000;
    padding-bottom: 8px;
}

.video-link {
    text-align:center;
    display:block;
    text-decoration:none;
    margin-bottom:16px;
    font-family: 'Avara';
    border: 2px solid #000;
    padding-bottom: 8px;
}

.merch-link {
    text-align:center;
    display:block;
    text-decoration:none;
    margin-bottom:16px;
    font-family: 'Avara';
    border: 2px solid #000;
    padding-bottom: 8px;
}

.button-link {
  padding: 8px 16px;
  font-weight:bold;
  font-size:18px;
  display:block;
  text-align:center;
  margin-bottom:8px;
  border-radius:1px;
  text-decoration: none;
  font-family: 'Avara';
  letter-spacing: 3px;
  background-image: url(../img/button.jpg);
  background-size: cover;
  line-height: 39px;
  height: 35px;
    border: 1px solid #000;
}

.button-link:hover {
  background-image: url(../img/button-hover.jpg);
}

/* --- Videos --- */

.video-announcement {
  position:relative;
  text-align:center;
}

.video-wrapper {
  position:relative;
  z-index:300;
  text-align:center;
  padding-bottom:150px;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: visible;
}

.video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.video-container.sd {
  padding-bottom: 72.25%;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.project.video {
  min-width:calc(60% - 16px);
  max-width: calc(60% - 16px);
  margin-top: 32px;
  margin-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
  margin-top:100px;
    background-image: url(../img/video-frame.png);
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center;
    padding: 6% 6.5% 8.3% 6.5%;
    position: relative;
  z-index: 300;
}

.background-element-wrapper {
  position:relative;
  z-index:1;
  margin-top:0;
  margin-bottom:-30vh;
}

.are-you-ok-top-img {
 margin-bottom: -23vh;
    margin-top: -36vh;
}

.background-element-wrapper img {
  width:100%;
  height:auto;
}

.bottom-wrapper {
  top:0;
  width:100%;
  position:relative;
  right:0;
  left:0;
  z-index:-1;
  margin-top:-80vh;
}

#bottom-img {
  width:100%;
  height:75vh;
  background-image: url("../img/kerosene-background-darker.jpg");
  background-size: cover;
  background-position: center;
  background-position: bottom;
}

#bottom-gradient {
  position:absolute;
  top:0;
}

#kill-the-pain {
  background-image: url("../img/kill-the-pain-bg-blue.jpg");   
background-size:cover;
}

#kill-the-pain-bottom-img {
    z-index:100;
    margin-top:-40vh;
}

.kerosene-bottom-img {
    margin-top:-50vh;
}


/* -------- FLEX ---------*/

.flex-row {
  display: -webkit-flex;
  -webkit-flex-direction: row;
  display: flex;
  flex-direction: row;
}

.flex-col {
  display: -webkit-flex;
  -webkit-flex-direction: column;
  display: flex;
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

.flex-1 {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.flex-2 {
  -webkit-flex: 2;
  -ms-flex: 2;
  flex: 2;
}

.flex-3 {
  -webkit-flex: 3;
  -ms-flex: 3;
  flex: 3;
}

.flex-4 {
  -webkit-flex: 4;
  -ms-flex: 4;
  flex: 4;
}

.flex-5 {
  -webkit-flex: 5;
  -ms-flex: 5;
  flex: 5;
}

.flex-6 {
  -webkit-flex: 6;
  -ms-flex: 6;
  flex: 6;
}

.columns-2 {
  -webkit-column-width: 400px;
  -moz-column-width: 400px;
  column-width: 400px;
}

.columns p {
  margin: 0;
}

.row {
  display:flex;
  flex-direction:row;
  margin: 0 -8px; /* spacing_sm */
}

.half {
  flex:1;
  line-height:0;
  padding-top:0;
  padding-right: 8px; /* spacing_sm */
  padding-bottom:0;
  padding-left: 8px; /* spacing_sm */
}

.half p {
  margin-top:0;
  margin-right:0;
  margin-bottom:16px; /* spacing_md */
  margin-left:0;
}

/* -------- PADDING ---------*/

.no-padding-left {
  padding-left: 0;
}

.no-padding-bottom {
  padding-bottom: 0 !important;
}

.small-padding {
  padding: 15px;
}

.small-padding-left {
  padding-left: 15px;
}

.small-padding-right {
  padding-right: 15px;
}

.small-padding-top {
  padding-top: 15px;
}

.small-padding-bottom {
  padding-bottom: 15px;
}

.medium-padding {
  padding: 30px;
}

.medium-padding-top {
  padding-top: 30px;
}

.medium-padding-bottom {
  padding-bottom: 30px;
}

.medium-padding-right {
  padding-right: 30px;
}

.medium-padding-left {
  padding-left: 30px;
}

.big-padding {
  padding: 60px;
}

.big-padding-top {
  padding-top: 60px;
}

.big-padding-bottom {
  padding-bottom: 60px;
}

.big-padding-left {
  padding-left: 60px;
}

.big-padding-right {
  padding-right: 60px;
}

/* -------- MARGINS ---------*/

.small-margin-top {
  margin-top: 15px;
}

.small-margin-left {
  margin-left: 15px;
}

.small-margin-right {
  margin-right: 15px;
}

.small-margin-bottom {
  margin-bottom: 15px;
}

.medium-margin-top {
  margin-top: 30px;
}

.medium-margin-bottom {
  margin-bottom: 30px;
}

.no-margin {
  margin: 0;
}

.no-margin-bottom {
  margin-bottom: 0 !important;
}

@media screen and (max-width:1160px) {
    .background-element-wrapper {
        margin-bottom: -19vh;
    }
    #kill-the-pain-bottom-img {
        margin-top: -20vh;
    }
    .are-you-ok-top-img {
        margin-top: -19vh;
        margin-bottom:-17vh;
    }
    .kerosene-bottom-img {
        margin-top:-40vh;
    }
}

@media screen and (max-width:480px) {
     
    .album-release {
        flex-direction: column;
    }
    .column-right {
        margin-top:24px;
    }
  .links-container {
     max-width:100%;
     margin:0 16px 116px 16px;
  }
    .gallery {
        display:none;
    }

  .video-wrapper {
    padding-top:0;
    padding-bottom:0;
  }
  .logo {
    max-width:300px;
    margin-top:100px;
  }
  .home-caption img {
    max-width:200px;
  }
  .home-social a {
    display:block;
  }
  .social-link {
    font-size:20px;
    padding: 8px 0;
  }

  #main-img {
    height: 70vh; 
  }
    .gradient-up {
        top: calc(60vh - 90px);
    }
    .announcement {
        max-width:300px;
    }
     .background-element-wrapper {
    margin-bottom:0;
  }
        .video-announcement {
        padding: 0 16px;
    }
      .project.video {
    max-width:100%;
    border-right:0;
    border-left:0;
    margin-top:0;
  }
  .video-announcement img {
    max-width:250px;
  }
    .background-element-wrapper img {
      width:100%;
    }
     #kill-the-pain-bottom-img {
        margin-top: -17vh;
    }
    .kerosene-bottom-img {
        margin-top: -17vh;
    }
    .are-you-ok-top-img {
        margin-top: -12vh;
    }
    .are-you-ok-top-img {
        margin-bottom: -4vh;
    }
    .kerosene-top-img {
        margin-bottom: -10vh;
    }
    .factor img {
    max-width:100%;
}
}
