:root {
  --primary-color: black;
  --secondary-color: white;
}

body {
  background-color: rgba(0,0,0,.2);
  padding: 20px;
  padding-bottom: 60px;
}

.hero-slider {
  margin: 0 !important;
  padding: 0vw; /*2px;*/
  
  /** Autoplay toggle button in the top left corner */
  .slick-autoplay-toggle-button {
    position: absolute;
    top: 10px;
    left: 10px;
    bottom: auto;
    background: none;
    border: 0;
    z-index: 10;
    font-size: 32px;
    opacity: 1;
    cursor: pointer;
    color: black;
    
    &:hover {
      background-color: rgba(0,0,0,.05);
    }

    &:focus {
      background-color: rgba(0,0,0,.7);
      color: white;
    }
  }
  
  /** Custom previous and next arrows in the top right corner */
  .custom-prev-button,
  .custom-next-button {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;

    display: block;
    float: left;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font-size: 32px;
    cursor: pointer;
    
    &:hover {
      background-color: rgba(0,0,0,.05);
    }

    &:focus {
      background-color: rgba(0,0,0,.7);
      color: white;
    }
  }

    .custom-prev-button {
      right: 30px;
    }
  
  /** Default slide navigation dots */
  .slick-dots {
    bottom: 20px;
  }
  
  /** Slide content */
  .slick-slide {
    position: relative;
    height: 540px;
    display: flex;
    align-items: center;
    
    /** Float text overlay */
    .overlay {
      background-color: #fff;
      opacity: 0.7;
      position: absolute;
      width: 30%;
      padding: 20px;
      
      @media screen and (max-width: 768px) {
        width: 80%;
        left: 0 !important;
        top: 100px !important;
        text-align: left;
      }
      
      h2 {
        padding: 0;
        margin: 0;
        font-size: 28px;
        opacity: 1.0;
      }
      
      p {
        font-size: 14px;
        opacity: 1.0;
      }
      
      .primary-link {
        display: inline-block;
        color: black;
        text-decoration: none;
        margin-top: 20px;
        padding: 10px 15px;
        border: 2px solid black;
        font-weight: bold;
        transition: outline .1s linear;
        
        &:hover,
        &:focus {
          text-decoration: underline;
          background-color: black;
          color: white;
        }
        
        &:focus {
          outline: 4px dashed black;
          outline-offset: 3px;
        }
      }
    }
    
    .background-image {
      width: 100%!important;
      height: auto!important; /*746px!important;*/
      
      
      background-size: cover;
      
      @media screen and (max-width: 768px) {
        /*width: auto;*/
        width: 100vw;
        height: auto;
        margin: 0 auto;
      }
    }
  }
}

main {
  background-color: white;
  /*max-width: 960px;*/
  /*max-width: 100vw;*/
  top:20px;
  left:0px;
  width: auto!important;
  height: 540px!important;
  margin: 0 auto;
  padding-bottom: 30px;
  position: relative;
  
  /** Documentation under carousel */
  .content {
    padding: 20px 15%;
    color: rgba(0,0,0,.9);
    line-height: 26px;
    
    h1 {
      line-height: 36px;
    }
    
    a {
      color: black;
      font-weight: bold;
      
      &:hover,
      &:focus {
        color: royalblue;
      }
    }
    
    li {
      margin-bottom: 15px;
      padding-left: 5px;
    }
    
    code {
      background-color: rgba(0,0,0,.05);
      color: red;
      padding: 2px 8px;
    }
    
    .btn {
      margin-top: 30px;
      font-size: 18px;
      padding: 10px 20px;
    }
  }
}

/** Generic ghost button styles */
.btn {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 15px;
  font-weight: bold;
  font-size: 14px;
  color: black;
  border: 2px solid black;
  box-shadow: 3px 3px 0 0 black;
  text-decoration: none;
  transition: all .1s linear;
  
  &:hover,
  &:focus {
    background-color: black;
    color: white !important;
    text-decoration: underline;
    box-shadow: none;
  }
  
  &:focus {
    box-shadow: none;
    outline: 4px dashed black;
    outline-offset: 2px;
  }
}


/*******************************************/

    /* Styles for screens 1024px and wider (e.g., desktops) */
    @media (min-width: 1024px) {
        /* Desktop-specific styles */
        main { height: 540px!important; top:20px;  } 
        .slick-slide { height: 540px; }
        .overlay h2 { 28px ; } /* Default: 28px */
        .overlay p { 14px ; } /* Default: 14px */
    }

    /* Styles for screens between 768px and 1023px wide (e.g., tablets) */
    @media (min-width: 768px) and (max-width: 1023px) {
        /* Tablet-specific styles */
        
        main { height: 540px !important; top:10px;  }  
        .slick-slide { height: 540px; }
        .overlay h2 { 12px !important; } /* Default: 28px */
        .overlay p { 1vw !important; } /* Default: 14px */
    }
    
    /* Styles for screens up to 767px wide (e.g., phones) */
    @media (max-width: 767px) {
        /* Mobile-specific styles */
        main { height: 320px !important; top:0px; }  
        .slick-slide { height: 320px ; }
        .overlay h2 { 10px !important; } /* Default: 28px */
        .overlay p { 1vw !important; } /* Default: 14px */
    }
    
.overlay {
    width: 50% !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important; /* Adjusts position based on element's size
}
