html {
  scroll-behavior: smooth;
}

hr {
  background-color: rgb(var(--pershings-red));
  color: rgb(var(--pershings-red));
  max-width: 1200px;
  width: 80vw;
  height: 2.5px;
  margin-top: 5rem;
  margin-bottom: 1rem;
}

.red {
  color: rgb(var(--pershings-red));
}

.faded {
  color: rgb(var(--ceremonial-blue), .4)
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-300i.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-500i.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-700i.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-800i.woff2') format('woff2');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

/* @font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'rawline';
  src: url('/styles/fonts/rawline-900i.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
} */

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



:root {
  --pershings-red: 195, 31, 60;
  --ceremonial-blue: 12, 39, 90;
  --bg-white: 245, 245, 245;
  --capital-sky: 107, 142, 198;
  --memorial-green: 161, 173, 78;
  --army-green: 75, 83, 32;
  --army-yellow: 249, 202, 62;
  --harmonic-blue: 208, 220, 234;
  --artiesenal-gray: 213, 213, 213;
}

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

  body {
    font-family: 'rawline', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.8em;
    color: rgba(var(--ceremonial-blue));
  }

  /* Styles for forms throughout the site */

  button {
    background-color: rgba(var(--pershings-red));
    border: none;
    color: white;
    display: inline-block;
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    padding: 3px 10px 7px 10px;
    height: 2.1em;
    text-align: center;
    border-radius: 12px;
    text-decoration: none;
    font-size: 16px;
  }

  button.minimal {
    background-color: white;
    color:rgb(var(--ceremonial-blue), 1);
  }

  .pressed {
    color: rgba(var(--pershings-red));
    background-color: white;
    display: inline-block;
    border: 2px solid rgba(var(--pershings-red));
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    padding: 3px 10px 7px 10px;
    height: 2.1em;
    text-align: center;
    border-radius: 12px;
    text-decoration: none;
    font-size: 16px;
  }

  textarea {
    font-family: 'rawline', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.8em;
    color: rgba(var(--ceremonial-blue));
  }

  input[type=text] {
    font-family: 'rawline', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.8em;
    color: rgba(var(--ceremonial-blue));
    border-radius: 3px;
    border: 1px solid rgba(96, 125, 159, 0.25);
    background-color: #fbfcfe;
    box-shadow: inset 0 1px 4px -1px rgba(96, 125, 159, 0.25);
    background-clip: padding-box;
  }
  
  input[type=url] {
    font-family: 'rawline', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.8em;
    color: rgba(var(--ceremonial-blue));
    border-radius: 3px;
    border: 1px solid rgba(96, 125, 159, 0.25);
    background-color: #fbfcfe;
    box-shadow: inset 0 1px 4px -1px rgba(96, 125, 159, 0.25);
    background-clip: padding-box;
  }
  
  input[type=tel] {
    font-family: 'rawline', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.8em;
    color: rgba(var(--ceremonial-blue));
    border-radius: 3px;
    border: 1px solid rgba(96, 125, 159, 0.25);
    background-color: #fbfcfe;
    box-shadow: inset 0 1px 4px -1px rgba(96, 125, 159, 0.25);
    background-clip: padding-box;
  }

  input[type=email] {
    font-family: 'rawline', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.8em;
    color: rgba(var(--ceremonial-blue));
    border-radius: 3px;
    border: 1px solid rgba(96, 125, 159, 0.25);
    background-color: #fbfcfe;
    box-shadow: inset 0 1px 4px -1px rgba(96, 125, 159, 0.25);
    background-clip: padding-box;
  }

  input[type=number] {
    font-family: 'rawline', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.8em;
    color: rgba(var(--ceremonial-blue));
    border-radius: 3px;
    border: 1px solid rgba(96, 125, 159, 0.25);
    background-color: #fbfcfe;
    box-shadow: inset 0 1px 4px -1px rgba(96, 125, 159, 0.25);
    background-clip: padding-box;
  }

  ol > li::marker {
    font-weight: bold;
  }

  select {
    display: block;
    font-size: 16px;
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    color: #444;
    line-height: 1.3;
    padding: .6em 1.4em .5em .8em;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #aaa;
    box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
    border-radius: .5em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
      linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
  }
  select::-ms-expand {
    display: none;
  }
  select:hover {
    border-color: #888;
  }
  select:focus {
    border-color: #aaa;
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: #222;
    outline: none;
  }
  select option {
    font-weight:normal;
  }

  @keyframes open {
    0% {opacity: 0; margin-left: -20px}
    100% {opacity: 1; margin-left: 0px}
  }

details {
    list-style: none;
    width: 100%;
    max-width: 600px;
  }

  details > summary::-webkit-details-marker {
    display: none;
  }

 details > summary {
    background-color: rgb(var(--artiesenal-gray), .3);
    color: rgb(var(--ceremonial-blue));
    font-size: large;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    max-width: 600px;
    border: none;
    text-align: left;
    outline: none;
    font-size: 1rem;
    transition: .5s all ease;
    height: max-content;
    border-radius: 12px;
  }

  summary:after {
    content: '+';
    color: rgb(var(--ceremonial-blue));
    font-weight: bold;
    font-size: 3rem;
    float: right;
    /* margin-top: -35px; */
    margin-left: 5px;
    transition: max-height .5s ease-out;
  }

  .active, summary:hover {
    background-color: rgb(var(--capital-sky), .3);
    transition: max-height .5s ease-out;
    transition: .5s all ease;
  }

  details[open] summary ~ * {
    animation: open .5s ease-in-out;
  }

  details[open] summary:after {
    content: "-";
  }

  .menu-container {
    color: rgba(var(--ceremonial-blue));
    padding: 20px 0;
    display: flex;
    justify-content: center;
    height: 60px;
  }

  .menu {
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-size: 0.9em;
    font-weight: 700;
  }

  .calendar {
    margin-left: auto;
  }

  .feedback,
  .tickets {
    margin-left: 20px;
  }

  .feedback {
    padding-right: 26px;
  }

  /* .tickets {
    padding-right: 26px;
  }

  .tickets img {
    width: 175px;
  } */

  .header-social-icons {
    width: 100%;
    height: 40;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    /* padding-right: 210px; */
    padding-right: 30px;
  }


  .header-social-icons a {
    width: 2rem;
    transition: fill .5s ease;
    margin-left: 20px;
}

  .header-social-icons svg,
  .header-social-icons path {
    fill: rgb(var(--ceremonial-blue));
    transition: fill .5s ease;
  }

  .header-social-icons a:hover svg,
  .header-social-icons a:hover path {
        fill: rgb(var(--pershings-red));
        transition: fill .5s ease;
    }

  .hidden-stuff {
    visibility: hidden;
    display: none;
  }



  .red-button {
    color: white;
    display: inline-flex;
    background-color: rgba(var(--pershings-red));
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    padding: 5px 10px 5px 10px;
    height: 2.1em;
    text-align: center;
    border-radius: 12px;
    text-decoration: none;
    width: max-content;
    line-height: 1.5em;
    margin: auto auto 0;
  }

  a.red-button {
    color: white;
    display: inline-flex;
    background-color: rgba(var(--pershings-red));
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    padding: 5px 10px 5px 10px;
    height: 2.1em;
    text-align: center;
    border-radius: 12px;
    text-decoration: none;
    width: max-content;
    line-height: 1.5em;
    margin: auto auto 0;
  }

  a.red-button-align-left {
    color: white;
    display: block;
    background-color: rgba(var(--pershings-red));
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    padding: 5px 10px 5px 10px;
    height: 2.1em;
    text-align: center;
    border-radius: 12px;
    text-decoration: none;
    width: max-content;
    line-height: 1.5em;
  }

  a.red-outline-button {
    color: rgba(var(--pershings-red));
    background-color: white;
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    padding: 7px 10px 7px 10px;
    height: 2.1em;
    text-align: center;
    border: 2px solid rgba(var(--pershings-red));
    border-radius: 12px;
    text-decoration: none;
    margin-right: 20px;
  }


  .red-outline-button {
    color: rgba(var(--pershings-red));
    background-color: white;
    font-family: 'rawline', sans-serif;
    /* font-size: 1rem; */
    font-weight: 700;
    padding: 5px 10px 5px 10px;
    height: 2.1rem;
    text-align: center;
    border: 2px solid rgba(var(--pershings-red));
    border-radius: 12px;
    text-decoration: none;
  }

  a.hb-button {
    color: #0C275B;
    background-color:  rgba(var(--harmonic-blue));
    font-family: 'rawline', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    padding: 12px 4%;
    height: 2.5em;
    text-align: center;
    text-decoration: none;
    width: 75%;
    min-width: 325px;
    display: inline-block;
    border-radius: 20px;
    /* allows transition to hover effect */
    box-shadow:  none;
    transition: 0.5s ease;
  }

a.hb-button:hover {
  background-color: white;
  box-shadow:  11px 11px 14px #081b40,
  -11px -11px 14px #103376;
  transition: 0.5s ease;

}

  .logo {
    width: 150px;
    display: flex;
    margin-left: 20px;
    margin-top: 5px;
    justify-content: flex-start;
  }

  /* .logo img {
    width: 250px;
    height: 250px;
    object-fit: scale-down;
  } */

.main-container {
  margin-top: 3.57rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 4rem;
}

.generic h1, h2, h3, h4, h5, h6 {
  text-align: center;
}

h1 {
  font-size: 2.4em;
  font-weight: 700;
}

h2 {
  font-size: 2em;
  font-weight: 800;
}

h4 {
  font-size: 1em;
  font-weight: 500;
}

.body-social-icons {
  width: 100%;
  height: 40;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 20px;
  padding-right: 30px;
  margin-left: -20px;
}


.body-social-icons a {
  width: 2rem;
  transition: fill .5s ease;
  margin-left: 20px;
}

.body-social-icons svg,
.body-social-icons path {
  fill: rgb(var(--ceremonial-blue));
  transition: fill .5s ease;
}

.body-social-icons a:hover svg,
.body-social-icons a:hover path {
      fill: rgb(var(--pershings-red));
      transition: fill .5s ease;
  }

.image-only-billboard {
  width: calc(100vw - 45px);
  max-width: 1200px;
  margin: 0 auto;
}

.image-only-billboard img {
  max-height: min(675px, calc(100vw / 1.777));
  max-width: calc(100vw - 45px);
}

.billboard-slider {
 /* margin: 0 auto; */
  width: 100%;
  display: block;
  margin: 0 0 3rem 0;
}

.billboard-slider a {
  color: white;
}

.billboard-slider img {
   max-height: min(563px, calc(100vw / 1.777));
}

.bbimage-slider {
  max-width: 1000px;
  /* margin-bottom: -15px; */
  /* background: rgb(var(--pershings-red)); */
  margin: 0 auto;
  margin-top: 0;
  line-height: 0;
}

.featured-image {
  background: /* gradient can be an image */
  linear-gradient(to right, #0C275B, #C31F3C);
  margin: 0 auto;
  margin-bottom: 5px;
 /* box-shadow: 5px 0 10px 1px rgba(144,146,173,1); */
}

.bbimage-slider .swiper-lazy-preloader {
margin-top: 275px;
}

.bbimage-slider .swiper-pagination-bullet {
  width: 18px;
  height: 18px;
  text-align: center;
  line-height: 20px;
  font-size: 12px;
  color:rgb(202, 200, 200);
  opacity: 0.5;
  background: #D0DCEA;
}

.bbimage-slider .swiper-pagination-bullet-active {
  width: 20px;
  height: 20px;
  opacity: 1;
  color: white;
  background: lightgray;
}

.bbtext-slider-wrapper {
  margin-top: -10px;
  display: block;
  margin: 0 auto;
  background-color: #0C275B;
  color: white;
  /* height: 200px; */
  max-width: 1000px;
  padding-bottom: 25px;
  border-top: 10px solid rgba(var(--pershings-red));
}

.bbtext-slider-wrapper h3 {
  padding-top: 15px;
  padding-bottom: 0px;
  text-align: left;
  padding-left: 5%;
  text-transform: uppercase;
}

.bbtext-slider-wrapper h1 {
  padding-left: 5%;
  line-height: 1.35em;
}

/* Event Page Styles START */

.event-bb {
  /* margin: 0 auto; */
   width: 96%;
 display: flex;
   margin: 0;
 }

 .event-bb img {
    /* max-height: min(425px, calc(101vw / 1.777)); */
    max-width: 100vw;
 }

 .event-bb-image {
   max-width: 750px;
   margin-bottom: -15px;
 }

.event-bb-title {
  /* margin-top: -15px; */
  display: flex;
  margin: 0 auto;
  background-color: #0C275B;
  color: white; 
}

.event-bb-title-text {
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 20px;
}


.event-bb-title h2,
.event-bb-title h3,
.event-bb-title p {
  text-align: left;
  padding-right: 30px;
}

.bluebox {
  justify-content: center;
  justify-items: center;
  color: #FFF;
  background: rgb(var(--ceremonial-blue));
  margin: 0 4.375px;
  text-align: center;
  max-width: 1200px;
}

  .bluebox:first-of-type * {
      transition: none;
  }

  /* .bluebox:hover {
       box-shadow: 8px 10px 10px 3px rgb(150, 150, 150, .7);
  } */

  .bluebox:not(:hover) {
      transition: all 2.5s ease-out;
      transition-delay: box-shadow 1s ease-out;
  }

  .bluebox-text {
      grid-column: 1 / -1;
  }
      .bluebox-text h1 {
          margin-block-end: 1.5rem;
      }

      .bluebox-text p {
          text-align: center;
          max-width: 70%;
          margin: 0 auto 2rem auto;
      }

  .bluebox-icon {
      display: grid;
      grid-template-rows: 6rem 2rem;
      justify-content: center;
      justify-items: center;
      align-items: center;
      text-align: center;
      text-transform: uppercase;
      width: 100%;
      line-height: 1rem;
      transition: all .5s ease-in-out;
  }

  .bluebox-icon:hover i {
      color: #FFF;
      transition: all .5s ease-in-out;
  }
  .bluebox-icon h5 {
      align-self: start;
  }

.body-box {
  display: grid;
  margin: 2rem 0 0 0;
  padding: 50px;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  row-gap: 50px;
  column-gap: 65px;
}

/* redactor styles */

figure {
  text-align: center;
  margin: 10px 15px 0 1rem;
  max-width: calc(100vw - 40px);
}

figure > iframe {
  text-align: center;
}

figure img {
  max-height: 300px;
}

figure.image-left {
  float: left;
  margin: 10px 15px 0 4rem;
}

figure.image-right {
  float: right;
  margin: 10px 0 0 15px;
}

figure.image-center {
  margin: 0px auto 10px;
  text-align: center;
}

.pulldown figure {
  text-align: left;
  margin-left: 50px;
  padding: 10px;
}

.pulldown figure.image-left {
  float: left;
  margin-left: 50px;
  padding: 10px;
}

.pulldown figure.image-right {
  float: right;
  /* margin-right: 50px; */
  padding: 10px;
}

.pulldown figure.image-center {
  margin: 0px auto 10px;
  text-align: center;
}

/* pulldown styles */

.heading {
  margin: auto;
  max-width: 1200px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
  padding-bottom: 5px;
}

   .heading > p:first-child {
      padding: 1.5rem 0 1rem 0;
  }

.about {
  width: 100%;
  /* This max-width is needed to keep some pages from getting horizontal scroll */
  max-width: calc(100vw - 40px);
}

.about p {
  text-align: left;
  margin: 1em auto 1em 4rem;
}

.about h1 {
  text-align: left;
  margin: 1em 4rem;
}

.about h2 {
  text-align: left;
  margin: 1em 4rem;
}

.about h3 {
  text-align: left;
  text-transform: uppercase;
  margin: 2em 1rem .5em 20px;
}

.about h4 {
  text-align: left;
  text-transform: uppercase;
  margin: 1.5em 4rem .5em 4rem;
}

.about ul, .heading ol {
    text-align: left;
    margin: 0 6rem 1.5em 6rem;
}

.about a {
  font-weight: 500;
  text-decoration: underline;
}

.about ol {
  width: calc(100vw - 50px);
  max-width: 1200px;
  margin-left: 5em;
}

.about > .red-button {
  display: block;
  margin: 2rem auto;
  text-decoration: none;
  font-weight: 700;
}

.collapsible {
  background-color: #fff;
  color: rgb(var(--ceremonial-blue));
  font-size: large;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  padding: 18px;
  width: calc(100% - 25px);
  max-width: 1200px;
  border: none;
  text-align: left;
  outline: none;
  font-size: 1rem;
  transition: .5s all ease;
  height: max-content;
}

button.collapsible {
  font-size: 2rem;
  background-color: rgb(var(--artiesenal-gray), .2);
}
  .collapsible:after {
    content: '+';
    color: rgb(var(--ceremonial-blue));
    font-weight: bold;
    font-size: 3rem;
    float: right;
    margin-top: -1rem;
    margin-left: 5px;
    transition: max-height .5s ease-out;
  }

.active, .collapsible:hover {
    background-color: rgb(var(--harmonic-blue), .4);
  }

.active:after {
  font-size: 3rem;
  content: "-"; /* Unicode character for "minus" sign (-) */
}
/* end pulldown styles */

.event-container {
  grid-area: content;
  display: grid;
  grid-template-columns: minmax(0px, 1fr);
  row-gap: 3rem;
  padding: 3rem 0;
}

.event-container p {
  margin-block-start: .5em;
  margin-block-end: 1em;
  line-height: 1.25em;
}

.event-container h3 {
  text-align: left;
}

.event-headings {
  display: grid;
  grid-template-columns: minmax(0px, 1fr) minmax(0px, 720px) minmax(0px, 1fr);
  row-gap: 3rem;
}
  .event-heading {
      grid-column: 2;
      display: grid;
      grid-template-columns: 50px minmax(0px, 1fr);
      grid-auto-rows: max-content;
      grid-template-areas: "icon event-details";
      width: 100%;
      column-gap: 5px;
      justify-content: stretch;
  }
      .event-heading-icon {
          grid-area: icon;
          text-align: center;
          font-size: 1.25em;
          /* transition: all .5s ease-in-out; */
      }
/*       .event-heading-icon:hover {
          transition: all .5s ease-in-out;
      } */

      .event-details {
          grid-area: event-details;
          padding-right: 5px;
      }

      .event-details a {
        font-weight: bold;
      }

      .event-details ul {
        margin-top: 10px;
        margin-left: 30px;
      }
      
      .event-details label > strong {
        color: rgb(var(--pershings-red));
      }



  /* Event Page Styles END /*

/* Featured Events Slider Styles */

.featured-slider {
  margin-top: 3rem;
  max-width: 98%;
  /* margin-bottom: 3rem; */
  display: flex;
  flex-direction: row;
  height: 705px;
}

.featured-slider h2 {
  padding-left: 25px;
  text-align: left;
}


.swiper-button-prev2 {
  justify-self: flex-start;
  align-self: center;
  width: 27px;
  height: 44px;
  min-width: 27px; /* prevents arrow errors at narrow page width */
}

.swiper-button-next2 {
  justify-self: flex-end;
  align-self: center;
  width: 27px;
  height: 44px;
  min-width: 27px; /* prevents arrow errors at narrow page width */
}


/*
.swiper-button-next2 {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 27px 44px;
  -webkit-background-size: 27px 44px;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}
*/

.swiper-button-prev2.swiper-button-disabled,
.swiper-button-next2.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

 .swiper-button-prev2,
.swiper-container-rtl .swiper-button-next2 {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%235fa8f7'%2F%3E%3C%2Fsvg%3E");
  left: 0px;
  right: auto;
}

.swiper-button-prev2.swiper-button-black,
.swiper-container-rtl .swiper-button-next2.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev2.swiper-button-white,
.swiper-container-rtl .swiper-button-next2.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next2,
.swiper-container-rtl .swiper-button-prev2 {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%235fa8f7'%2F%3E%3C%2Fsvg%3E");
  right: 0px;
  left: auto;
}

.swiper-button-next2.swiper-button-black,
.swiper-container-rtl .swiper-button-prev2.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next2.swiper-button-white,
.swiper-container-rtl .swiper-button-prev2.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.s2 {
  max-width: 95%;
}

.s2 h2 {
  font-size: 1.8em;
  font-weight: 500;
  color: rgba(var(--pershings-red));
  margin-left: -15px;
}


.s2 > .swiper-wrapper > .swiper-slide {
display: flex;
flex-direction: column;
  align-items: center;
  margin-bottom: 1rem;
  width: 350px;
}

.featured-border {
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);;
  transition: 0.8s ease;
  width: 350px;
  height: 585px;
  max-width: 100%;
}

.featured-border:hover {
  box-shadow: 3px 5px 12px 0px rgba(0,0,0,0.2);
  transition: 0.8s ease;
  transform: scale(1.04);
}

.featured-image {
  background: /* gradient can be an image */
  linear-gradient(to right, #0C275B, #C31F3C);
  margin: 0 auto;
  margin-top: 0;
  margin-bottom: 5px;
 /* box-shadow: 5px 0 10px 1px rgba(144,146,173,1); */
}

.featured-image img {
  max-width: 100%;
}

.featured-text {
  display: block;
  padding: 15px 35px 0 35px;
  width: 350px;
  max-width: 100%;
  margin: auto 0;
  line-height: 1.5em;
}

.featured-text p,
.featured-text h3,
.featured-text h4 {
margin-bottom: 10px;
margin-right: unset;
margin-left: unset;
margin-top: unset;
text-transform: unset;
}

.featured-text a {
  text-decoration: none;
  font-weight: 700;
}

.featured-text em {
  color: rgba(var(--pershings-red));
  font-style: normal;
}

.featured-text p {
  text-align: left;
  line-height: 1.5em;
  font-size: 0.9em;
  max-height: 100px;
  overflow-y: auto;
  margin-bottom: 20px;
  margin-left: unset;
  margin-right: unset;
}

.featured-text h3, h4 {
  text-align: left;
  margin: unset;
}

.featured-text svg {
  height: 30px;
}

.featured-image {
  display: block;
}

/* Begin special styles for social media posts based on featured events cards */

.social-post-text {
  display: block;
  padding: 15px 35px 0 35px;
  width: 350px;
  max-width: 100%;
  margin: auto 0;
  line-height: 1.5em;
}

.social-post-text p,
.social-post-text h3,
.social-post-text h4 {
margin-bottom: 10px;
margin-right: unset;
margin-left: unset;
margin-top: unset;
text-transform: unset;
}

.social-post-text a {
  text-decoration: none;
  font-weight: 700;
}

.social-post-text em {
  color: rgba(var(--pershings-red));
  font-style: normal;
}

.social-post-text p {
  text-align: left;
  line-height: 1.5em;
  font-size: 0.9em;
  max-height: 195px;
  overflow-y: auto;
  margin-bottom: 20px;
  margin-left: unset;
  margin-right: unset;
  padding: 5px;
}

.social-post-text h3, h4 {
  text-align: left;
  margin: unset;
  padding-bottom: 5px;
}

.social-post-text-text svg {
  height: 30px;
}

/* End special social media styles */

/* End Featured Events Slider Styles */


/* Begin Styles for Calendar View */

.calendar-wrapper {
  max-width: 1150px;
  width: 90vw;
  margin-top: 0.5rem;
  display: grid;
  gap: 10px;
  grid-template-columns: 150px 1fr;
  grid-template-rows: auto;
  row-gap: 20px;
  justify-content: start;
  align-content: start;
  color: rgb(var(--ceremonial-blue));
  margin-bottom: 10px;
}

.calendar-wrapper  a.red-button {
  margin-top: 15px;
}

.calendar-wrapper em {
  color: rgba(var(--pershings-red));
  font-style: normal;
}

.calendar-wrapper > div {
    background:rgb(var(--artiesenal-gray));
    padding: 15px;
    border-radius: 5px;
}

/* End Styles for Calendar View */



/* Begin Style for Vacancies page grid */

.current-openings {
  margin: 3rem auto 5rem;
  max-width: min((1200px),(100vw - 45px));
  display: grid;
  grid-row-gap: 100px;
  grid-column-gap: 60px;
  grid-template-columns: repeat(auto-fill, minmax(340px, max-content));
  grid-auto-rows: 520px;
  justify-content: space-between;
}

.vacancy {
  display: flex;
  flex-direction: column;
    align-items: center;
    justify-content: space-between;
    /* margin-bottom: 1rem; */
    width: 350px;
  }

  .vacancy-text {
    padding: 15px 35px 0 35px;
    width: 350px;
    margin: auto 0;
    line-height: 1.5em;
  }


  .vacancy-text h3 {
    font-size: 1.7rem;
  margin-bottom: 25px;
  }


  .vacancy-text em {
    color: rgba(var(--pershings-red));
    font-style: normal;
    font-weight: 500;
    font-size: 1rem;
  }

  .vacancy p {
    display: flex;
    margin-bottom: 15px;
    text-align: center;
    line-height: 1.5em;
    font-size: 0.9em;
  }

  .vacancy-text h3, h4 {
    text-align: left;
  }

  .vacancy-text {
    display: block;
  }

.job-details {
  width: 100%;
  /* max-width: 1230px; */
  /* margin-top: 2rem; */
  padding: 10px;
}

.job-details h2 {
  margin-top: 0;
  padding-left: 0;
  /* margin-left: -20px; */
    text-align: left;
    font-size: 1.8rem;
}

  .job-details h3 {
    /* margin-left: -20px; */
    text-align: left;
    padding-top: 20px;
  }

  .job-details h4 {
    /* margin-left: -20px; */
    text-align: left;
    font-size: 1.2rem;
    padding-top: 20px;
  }

  .job-details h5 {
    /* margin-left: -20px; */
    text-align: left;
    padding-top: 20px;
  }

  .job-details em {
    font-style: normal;
    font-weight: 500;
    color: rgba(var(--pershings-red));
  }

  .job-details p {
    width: 95%;
    margin-top: 20px;
    text-align: left;
    padding-left: 20px;
  }

  .job-details ul {
    margin-top: 1rem;
    margin-left: 0.5rem;
    list-style-type: disc;
    padding-left: 30px;
  }

  .job-details li {
    padding-left: 1rem;
    max-width: 95%;
  }

  .job-details ol > li {
    margin-top: 15px;
  }

  .job-details a {
    font-weight: 500;
    text-decoration: underline;
  }

  .job-details figure.image-left {
    margin-left: 75px;
  }

  .job-details figure.image-right {
    margin-right: 0;
  }

  .pulldown .job-details {
    margin-left: -20px;
    padding-right: 30px;
  }

  .benefits {
    width: 100%;
    margin-top: 5em;
    display: flex;
    flex-direction: column;
    background-color: rgba(var(--ceremonial-blue));
    color: white;
  }

  .benefits a {
    font-weight: 700;
    text-decoration: none;
    color: white;
  }

  .benefits p {
    padding-left: 85px;
    padding-bottom: 10px;
    padding-right: 80px;
    text-align: left;
  }


  .benefits h1 {
    text-align: center;
    margin-bottom: 1rem;
    line-height: 1em;
  }

  .benefits h3 {
    padding-top: 40px;
    padding-left: 40px;
    align-self: flex-start;
  }

  .benefits i {
    padding-right: 20px;
    width: 45px;
  }

  .benefits h4 {
    padding-top: 20px;
    align-self: center;

  }

.selections li {
  margin-left: 50px;
}

/* End Style for Vacancies page */

.generic {
  margin-top: 25px;
}

.blue {
  background-color: rgb(var(--ceremonial-blue));
  color: white;
}

.interjection h2 {
  line-height: 1.1em;
  /* margin-bottom: -15px; */
  text-align: center;
  margin-bottom: 2rem;
}

.interjection p {
  text-align: center;
  margin: 2rem;
}

/* Styles for Callouts */

.buttonblock-wrapper {
  display: flex;
  margin: 3rem 0;
  max-width: calc(100vw - 45px);
 /* height: 500px; */
 justify-self: center;
}

.buttonblock-image {
 /* width: 550px; */
  padding: 0;
}

.buttonblock-image img {
  width: 550px;
  max-width: calc(100vw - 45px);
  height: 100%;
}

.buttonblock-video {
  /* width: 640px; */
  max-width: calc(100vw - 45px);
  min-height: 480px;
  height: 100%;
}

.buttonblock-video iframe {
width: 640px;
max-width: calc(100vw - 45px);
min-height: 480px;
height: 100%;
}

.buttonblock-text {
  color: white;
  background-color: rgba(var(--ceremonial-blue));
  /* width: 650px; */
  min-height: max-content;
  padding: 0px 25px 25px 25px;
}

.buttonblock-text p,
.buttonblock-text h2 {
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 15px;
  text-align: left;
}

.buttonblock-tracklist {
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);;
  transition: 0.8s ease;
  color: rgba(var(--ceremonial-blue));
  background-color: white;
  min-height: max-content;
  padding: 0px 25px 25px 25px;
  max-width: 640px;
}

.buttonblock-tracklist ol {
  padding-left: 35px;
  padding-right: 20px;
}

.buttonblock-tracklist h2 {
  margin-top: -25px;
  padding-left: 20px;
  text-align: left;
}

.buttonblock-tracklist p {
  margin-top: 15px;
  padding-left: 20px;
  text-align: left;
}


/* Education page styles */


.edu-section {
  display: flex;
  flex-direction: row;
  max-width: 1200px;
  margin-top: 3rem;
}

.edu-blue-section {
  display: flex;
  flex-direction: row;
  color: white;
  background-color: rgba(var(--ceremonial-blue));
  max-width: 1200px;
  margin-top: 3rem;

}


.edu-section-graphic img {
  width: 500px;
}

.edu-section-text {
  font-weight: 500;
  align-self: center;
  padding-left: 50px;
  padding-right: 25px;
}

.edu-section-text h2 {
  padding-top: 0;
}

.generic {
  width: 99%;
}

.video-buttons {
  width: 100%;
  padding: 0 5px;
  display: grid;
  grid-row-gap: 5px;
  grid-column-gap: 5px;
  grid-template-columns: repeat(auto-fill, 155px);
  grid-auto-rows: 35px;
  justify-content: space-evenly;
}

.edu-videos {
  width: 100%;
  margin-top: 3rem;
  padding: 0 5px;
  display: grid;
  grid-row-gap: 30px;
  grid-column-gap: 40px;
  grid-template-columns: repeat(auto-fill, 360px);
  grid-auto-rows: 250px;
  justify-content: space-evenly;
}

.single-video {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.2rem;
}

.single-video p {
  margin: 0;
}

.collapse {
  display: grid;
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
}

.collapse.show {
  max-height: 299em;
  transition: max-height .5s ease-in-out;
}

/* Education video sprigboard styles */

.vidboard-header {
  /* padding-left: 10px;
  padding-right: 10px; */
  padding: 10px;
  display: grid;
  grid-template-columns: 40% 1.5fr 2fr 0.5fr;
  grid-column-gap: 10px;
}

.vidboard-header label {
  font-weight: 600;
}

#search {
  width: 100%;
  height: 40px;
}

#vid-grid .edu-videos {
  margin-top: 0;
  padding-top: 25px;
  padding-bottom: 15px;
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);;
  border-radius: 5px;
  transition: ease-in-out 1s;
  background-color: rgba(var(--harmonic-blue), .2);
}

.vidboard-footer {
  padding: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 10px;
  justify-content: space-between;
  font-weight: 600;
}

.vidboard-footer p {
  margin-right: 35px;
}

.page-number {
  border: rgba(var(--ceremonial-blue)) 2px solid;
  padding: 2px 5px 2px 5px;
}

.page-number-selected {
  background-color: rgba(var(--harmonic-blue), .5);
  border: rgba(var(--ceremonial-blue)) 2px solid;
  padding: 2px 5px 2px 5px;
}

.fade-me-out.htmx-swapping {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.fade-me-in.htmx-settling {
  opacity: 0;
}

.fade-me-in {
  opacity: 1;
  transition: opacity 0.3s ease-in;
}


/* end Education page styles */

/* Stylesheet for Meet the Band section */

/*Ensembles Page*/
.horizontal-rule {
  height: 5px;
  background: linear-gradient(to right, rgb(var(--pershings-red)), rgb(var(--ceremonial-blue)));
  width: auto;
  margin: .75em 1em 0 0;
  border: none;
}

.title-container {
  margin-bottom: 3rem;
    color: #0C275B;
    padding: 35px 20px 20px;
    width: auto;
    display: flex;
    justify-content: center;
  }

.instrument-heading {
  margin: 1em 0 27.5px;
  text-align: left;
  position: relative;
}

h2.instrument-heading::after {
  content: '';
  width: 340px;
  position: absolute;
  bottom: -15px;
  height: 5px;
  left: 0;
  background: linear-gradient(to right, rgb(var(--pershings-red), .65) 0%, rgb(var(--pershings-red)) 25px, rgb(var(--ceremonial-blue)) 60%, rgb(var(--ceremonial-blue), 0) 100%);
  transition: all 1s ease;
}

.instrument-group {
  margin: 0 auto;
  width: calc(100vw - 50px);
  max-width: 1200px;
}
.instrument-group:hover h2.instrument-heading:after {
  background: linear-gradient(to right, rgb(var(--pershings-red), 1) 0%, rgb(var(--pershings-red)) 30%, rgb(var(--ceremonial-blue)) 60%, rgb(var(--ceremonial-blue), 0) 100%);
  transition: all .5s ease;
  width: calc(100% - 25px);
}

.ensemble {
		display: grid;
    /*grid-template-columns: repeat(auto-fill, 550px);*/
    grid-template-columns: repeat(auto-fill, 600px);
    /*grid-template-rows: 439px;*/
    grid-template-rows: 239px;
    justify-content: center;
    gap: 30px;
    /*margin-bottom: 50px;*/
  }

.ensemble-item {
    max-height: 239px;
  }

.ensemble-pic {
    width: 50%;
    float: left;
		background-color: green;
		border-style: solid;
		border-width: 1px 0px 1px 1px;
		border-color: #E0E0E0;
    filter: drop-shadow(1px 1px 1px #E0E0E0);
    max-height: 239px;
    overflow-y: hidden;
	}


.ensemble-info {
    width: 50%;
		padding: 5 px 20px 20px 20px;
		border-style: solid;
		border-width: 1px 1px 1px 0px;
		border-color: #E0E0E0;
    background-color: white;
    filter: drop-shadow(1px 1px 1px #E0E0E0);
    overflow-y: auto;
    line-height: 1.6;
    height: 239px;
    padding-left: 20px;
  }

  .ensemble-info h3, p {
    text-align: left;
  }

  .ensemble-info h3 {
    font-size: 1.5em;
  }

  .ensemble-info p {
    margin-bottom: 20px;
    font-size: small;
  }

  .buttons {
    position: absolute;
    bottom: 15px;
  }

  /* styles for 3 across*/

.ensemble2 {
  display: grid;
  padding: 0 20px;
  grid-template-columns: repeat(auto-fill, 380px);
  grid-auto-rows: 430px;
  justify-content: space-evenly;
  gap: 30px;
}

.ensemble-item2 {
  border-width: 1px 1px 1px 1px;
  border-color: #E0E0E0 ;
  border-style: solid;
  box-shadow: 2px 2px 3px #E0E0E0;
  overflow: hidden;
  max-height: 430px;
}

.ensemble-pic2 {
  height:316px;
  max-height: auto;
  overflow: hidden;
  position: relative;
}

.ensemble-pic2 img {
  width: 100%;
  height: 100%;
}

.ensemble-info2 {
  width: 100%;
  overflow: hidden;
  background-color: rgba(var(--ceremonial-blue));
  overflow-y: auto;
  line-height: 1.2;
  height: 160px;
  padding-top: 20px;
  padding-left: 20px;
  position: relative;
}

.ensemble-info2 a {
  text-decoration: none;
  color: white;
}

.ensemble-info2 h3, p {
  text-align: left;
}

.ensemble-info2 h3 {
  font-size: 1.5em;
  color: white;
}

.ensemble-info2 p {
  margin-bottom: 20px;
  font-size: small;
}

.ensemble-overlay2 {
  position: absolute;
  bottom: 8px;
  right: 16px;
}


  /* Styles for the "Soldiers" page */


/* Ensemble Heading Slider */

.ensemble-heading {
   width: 100%;
   max-width: 1200px;
  display: flex;
   margin: 0 auto 2rem;
 }

 .ensemble-heading img {
    max-height: min(425px, calc(100vw / 1.777));
 }

 .ensemble-slider {
   max-width: 750px;
   margin-bottom: -15px;
   height: 100%;
 }

 .ensemble-slider .swiper-pagination-bullet {
   width: 18px;
   height: 18px;
   text-align: center;
   line-height: 20px;
   font-size: 12px;
   color:rgb(202, 200, 200);
   opacity: 0.5;
   background: #D0DCEA;
 }

 .ensemble-slider .swiper-pagination-bullet-active {
   width: 20px;
   height: 20px;
   opacity: 1;
   color: white;
   background: #007aff;
 }

 .ensemble-heading-text {
   padding: 25px;
   display: flex;
   /* margin: 0 auto;  */
   background-color: #0C275B;
   color: white;
   overflow-y: auto;
 }


 .ensemble-heading-text h2 {
   padding-top: 15px;
   padding-left: 5%;
   text-align: left;
   line-height: 1.2em;
 }

 .ensemble-heading-text p {
   padding: 3% 5%;
   line-height: 1.5em;
 }

  /* For the Roster section */

h2 {
  text-transform: capitalize;
  padding-top: 35px;
}

.roster {
  margin: 3rem auto 5rem;
  width: 1200px;
  max-width: calc(100vw - 45px);
  display: grid;
  grid-row-gap: 100px;
  grid-column-gap: 60px;
  grid-template-columns: repeat(auto-fill, minmax(340px, max-content));
  /* grid-template-columns: repeat(auto-fit, 340px); */
  grid-auto-rows: 476px;
  justify-content: space-between;
}


/* Hotel cards */

.roster.hotels {
  display: grid;
  grid-template-columns: repeat(auto-fit,375px);
  grid-auto-rows: max-content;
  justify-content: space-evenly;
  grid-gap: 1.5rem;
  width: 100%;
  max-width: 1200px;
  margin: 2rem 25px;
  text-decoration: none;
  text-align: center;
}

.hotels * p.vitals {
  text-align: center;
}

.hotel-card {
  width: 100%;
  height: max-content;
  border-radius: 2px;
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);
  background-color: #FFF;
  padding: 1em;
}

.hotels > a {
  text-decoration: none;
}

.hotel-name {
position: absolute;
height: 75px;
width: 255px;
bottom: 15px;
right: 0px;
padding: 10px;
background-color: white;
border: 0px solid;
border-bottom: 8px solid;
border-image-source: linear-gradient(45deg, rgb(195,31,60), rgb(12,39,90));
border-image-slice: 1;
}

.roster.hotels img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

  /* Flip Card Code */
.roster label {
  -webkit-perspective: 1000px;
  perspective: 1000px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
/* -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); */
  cursor: pointer;
  /* justify-self: center; */
  width: 340px;
}

.card {
  position: relative;
  height: 100%;
  width: 100%;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: all 600ms;
  transition: all 600ms;
  z-index: 20;
  /* justify-self: center; */
}

.card div {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.front {
  position: absolute;
  height: 100%;
  width: 100%;
  background: #fff;
  text-align: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 2px;
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
}


.back {
  height: 100%;
  width: 100%;
  background: white;
  color: rgba(var(--ceremonial-blue));
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  border-radius: 2px;
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
  border: 0px solid;
  border-bottom: 8px solid;
  border-image-source: linear-gradient(45deg, rgb(195,31,60), rgb(12,39,90));
  border-image-slice: 1;
/*  outline: 2px solid rgba(var(--harmonic-blue));
  outline-offset: -8px; */
  padding: 20px;
}

.back {
  text-align: left;
}

.back i {
  color: rgb(var(--ceremonial-blue));
}

.back i:hover {
  color: rgb(var(--pershings-red));
}

.hometown {
  font-weight: 400;
  font-size: 0.9em;
  line-height: 2em;
}

.vitals {
  font-size: 0.8em;
  line-height: 2em;
}

.bio {
  margin-top: 5px;
  font-size: 0.9em;
  font-weight: 400;
  overflow-y: auto;
}

.roster label:hover .card {
  -webkit-transform: rotateX(-10deg);
  transform: rotateY(-10deg);
  box-shadow: 0 20px 20px rgba(50, 50, 50, 0.2);
}

.roster input {
  display: none;
}

.roster :checked + .card {
  transform: rotateY(-180deg);
  -webkit-transform: rotateY(-180deg);
}

.roster label:hover :checked + .card {
  transform: rotateY(-180deg);
  -webkit-transform: rotateY(-180deg);
  box-shadow: 0 20px 20px rgba(255, 255, 255, 0.2);
}

  .front img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

.soldier-name {
  position: absolute;
  height: 65px;
  width: 295px;
  bottom: 15px;
  right: 0px;
  padding: 10px;
 background-color: white;
 border: 0px solid;
 border-bottom: 8px solid;
 border-image-source: linear-gradient(45deg, rgb(195,31,60), rgb(12,39,90));
 border-image-slice: 1;
}

.soldier-name h4 {
  font-size: 0.95em;
  margin-top: -5px;
}

.soldier-name h5 {
  margin-top: -5px;
}

.roster h3,
.roster h4 {
  text-align: left;
  line-height: 1.25em;
  font-weight: 700;
  text-transform: uppercase;
}

.roster h5 {
  text-align: left;
  line-height: 2em;
  font-weight: 700;
  color: rgb(var(--pershings-red));
  text-transform: capitalize;
}

/* Begin officer bio block styling */

.officer-bio-block {
  width: calc(100vw - 17.5%);
  max-width: 1200px;
  max-height: 600px;
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-column-gap: 20px;
  align-items: start;
  margin: 4rem auto 2rem auto;
  transition: box-shadow 0.5s ease-in-out;
}

.officer-bio-block:hover {
  transition: all 0.5s ease-in-out;
  box-shadow: 5px 5px 5px 3px rgba(0,0,0,0.2);
}

.officer-bio-block img {
  width: 435px;
  height: 600px;
  object-fit: cover;
}

.officer-bio-block .text {
  display: grid;
  grid-row-gap: 1em;
  grid-template-columns: 1fr;
  grid-template-rows: max-content 1fr;
  max-height: 600px;
}

.officer-bio-block .titles {
  padding-top: .5em;
}

.officer-bio-block .copy {
  font-weight: 400;
  overflow-y: auto;
  margin: 0 1em 1em auto;
}

.officer-bio-block h3 {
  margin: 0;
  text-align: justify;
  color: rgb(var(--pershings-red));
}

.officer-bio-block h4 {
  color: rgb(var(--ceremonial-blue));
  font-weight: 600;
}

/* end officer bio block styling */

/* begin individual bio page styling */

.individual-bio {
  width: calc(100vw - 17.5%);
  max-width: 1200px;
  align-items: start;
  margin: 4rem auto 2rem auto;
}

.individual-bio img {
  width: 435px;
  /* height: 600px; */
  float: left;
  margin-right: 2em;
  max-width: 95%;
  padding-bottom: 10px;
}

.individual-bio hr {
  margin-bottom: 1em;
}

.individual-bio h3 {
  margin: 0;
  text-align: justify;
  color: rgb(var(--pershings-red));
  padding-bottom: .5em;
}

.individual-bio h2 {
  text-align: left;
  padding-top: 0;
}

.individual-bio .titles {
  padding-bottom: .5em;
  line-height: 2em;;
}

.individual-bio .copy {
  padding-top: 2em;
  font-weight: 400;
  margin: 0 1em 1em auto;
}

/* END Stylesheet for Meet the Band section */

/* Begin index-grid styles (i.e. Competitions, Workshops index pages) */

.index-grid {
  max-width: calc(100vw - 50px);
  width: 1200px;
  margin: 2rem auto;
  /* padding: 0 25px; */
  display: grid;
  grid-row-gap: 50px;
  grid-column-gap: 50px;
  grid-template-columns: repeat(auto-fit, minmax(0px, 550px));
  grid-auto-rows: max-content;
  justify-items: center;
  align-items: flex-start;
  justify-content: space-evenly;
  -webkit-justify-content: space-evenly;
}

  .index-grid h1 {
      grid-column: 1 / -1;
      margin: 2rem auto;
  }

  .index-grid > a {
    height: 100%;
  }

  .index-item {
      display: grid;
      grid-template-columns: 1fr;
      grid-auto-rows: max-content;
      height: 100%;
      width: 100%;
      max-width: calc(100vw - 50px);
      box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);
      padding: 1.5rem;
      /* grid-row-gap: 20px; */
  }

    .index-image {
      min-height: min-content;
      text-align: center;
      margin-bottom: .75em;
    }
      .index-image img {
        width: 100%;
      }

    .index-text {
        display: grid;
        align-self: end;
        align-content: center;
    }

      .index-text a {
          box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);
          padding: 1em;
          transition: .5s ease-out;
          text-decoration: none;
          color: rgb(var(--ceremonial-blue));
      }

      .index-text a:hover {
          -webkit-transform:scale(1.015, 1.015);
          box-shadow: 3px 5px 12px 0px rgba(0,0,0,0.2);
          transition: 1s ease;
          transform: scale(101.5%);
          transition: all .5s ease-out;
      }
      .index-text a:not(:first-child), .index-text:not(:first-child) {
          margin-top: 1rem;
      }

      .index-text .title {
        text-transform: capitalize;
      }
      .date {
        text-align: center;
      }
      .index-text span + span:before {
        content: '/ ';
      }


.rep-box-item {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 40px);
}

.rep-box-item 
.collapsible:after {
  /* content: '+'; */
  color: rgb(var(--ceremonial-blue));
  font-weight: bold;
  font-size: 3rem;
  float: right;
  margin-top: -0.2rem;
  margin-left: 5px;
  transition: max-height .5s ease-out;
}

/* Feedback form styling begins here */

  /* [Object] Modal
 * =============================== */

 .modal {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: left;
  background: rgba(189, 187, 187, 0.9);
  transition: opacity .25s ease;
}

.modal__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  cursor: pointer;
}

.modal-state {
  display: none;
}

.modal-state:checked + .modal {
  opacity: 1;
  visibility: visible;
  z-index: 1000;
}

.modal-state:checked + .modal .modal__inner {
  top: 0;
}

.modal__inner {
  display: flex;
  transition: top .25s ease;
  position: absolute;
  color: rgb(var(--ceremonial-blue));
  top: -20%;
  right: 0;
  bottom: 0;
  left: 0;
  width: 70%;
  margin: auto;
  overflow: auto;
  background: #fff;
  border-radius: 5px;
  padding: 1em 2em;
  height: max-content;
  max-height: 90%;
  text-align: left;
  flex-direction: row;
}

 .modal__inner h2,
.modal__inner h3,
.modal__inner p {

  text-align: left;
}


.modal__close {
  position: absolute;
  right: 1em;
  top: 1em;
  width: 1.1em;
  height: 1.1em;
  cursor: pointer;
}

.modal__close:after,
.modal__close:before {
  content: '';
  position: absolute;
  width: 2px;
  height: 1.5em;
  background: #ccc;
  display: block;
  transform: rotate(45deg);
  left: 50%;
  margin: -3px 0 0 -1px;
  top: 0;
}

.modal__close:hover:after,
.modal__close:hover:before {
  background: #aaa;
}

.modal__close:before {
  transform: rotate(-45deg);
}

.btn {
  cursor: pointer;
}

.feedback-form {
  width: 80%;
  align-items: center;
  justify-items: center;
  margin: auto;
}

.feedback-form h1 {
  text-align: center;
}

.feedback-form h2 {
  margin-left: 0;
}

/* .feedback-form p {
  text-align: center;
} */

.freeform-row .freeform-column, .freeform-column ol {
  max-width: 90%;
}

.iframe-wrapper {
  display: grid;
  justify-content: center;
  margin: 1rem 4rem;
  grid-template-columns: 1fr;
  width: 100%;
}

/* Feedback styling ends here */



@media only screen and (min-width: 810px) {
  .rep-box-item {
    width: calc((100% - 2rem) / 2);
  }
}

@media only screen and (min-width: 1150px) {
  .rep-box-item {
    width: calc((100% - 2rem) / 3);
  }
}

.rep-box-item button {
  font-size:1em;
  line-height:1.5em;
  width:100%;
  margin-left: 20px;
  padding-left: calc(20px + 2rem);
}

.rep-box-item ul {
  display: grid;
  grid-row-gap: 1em;
  grid-template-columns: 1fr;
  padding-left: 4em;
  margin: 1em 0;
  list-style: none;
  width: 100%;
}

/* End index styles */

/* play-along styles */

.play-along-grid {
  margin: 3rem auto 5rem;
  width: 1200px;
  max-width: calc(100vw - 45px);
  display: grid;
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(590px, max-content));
  grid-auto-rows: max-content;
  justify-content: center;
}

.play-along-vid {
  width: 100%;
  max-width: 100vw;
  height: min(330px, 100vw/1.8);
}

/* end play-along styles */

/* competitions styles */

.competition-image {
  width: calc(100vw - 45px);
  max-width: 500px;
  margin: 0 auto;
}


/* Begin customInfo field styles */
.customInfo {
  width: 1250px;
  max-width: calc(100% - 20px);
}

.customInfo::after {
  content: "";
  clear: both;
  display: table;
}

/* End customInfo field styles */

/* Responsive table */
table.competition-table {
  /* border:1px solid rgb(var(--ceremonial-blue)); */
  border-collapse:collapse;
  margin: 1.5em auto 3em 4rem;
  width: calc(100% - 8rem);
  /* max-width: 500px; */
  box-shadow: 6px 6.5px 8.5px 3px rgba(150, 150, 150, 0.4);
  /* display: inline-block; */
  vertical-align: top;
  overflow-x: auto;
  /* optional - looks better for small cell values */
  /* white-space: nowrap; */
  border-spacing: 0;
}
.competition-table caption{
   font-size:1.5em;
   margin:.5em 0 .75em;
  }

  .competition-table  thead tr:first-child {
    background:rgb(var(--capital-sky), .5);
    /* border:1px solid rgb(var(--ceremonial-blue)); */
    padding:.35em;
  }
  .competition-table  tr:nth-of-type(even) {
      background:rgb(var(--ceremonial-blue), .05);;
      padding:.35em;
    }

    .competition-table  th,
    .competition-table  td {
    text-align:left;
    /* max-width: min-content; */
    /* width: 33%; */
    /* overflow: auto; */
    padding: 6px 12px;
    border: 1px solid #d9d7ce;
  }
  .competition-table  td {
    padding: .5em 0 .5em 1em;
    width: max-content;
  }
  .competition-table  tr[data-href] {
    cursor: pointer;
    transition: all .6s ease-in-out;
  }

  .competition-table  tr[data-href]:hover {
    background-color: rgb(var(--harmonic-blue), .6);
    transition: all .4s ease-in-out;
  }

  .winners td, .winners th {
      text-align: center;
      padding: 1em 2em;
      width: auto;
  }

  .competition-table  th{
    padding: 1em;
    /* font-size:1em;
    letter-spacing:.1em; */
    text-transform:uppercase;
  }


/* end competition table styles */

/* library table styles */

table.library-table {
  /* border:1px solid rgb(var(--ceremonial-blue)); */
  border-collapse:collapse;
  margin: 1.5em auto 3em 1rem;
  width: calc(100% - 8rem);
  /* max-width: 500px; */
  box-shadow: 6px 6.5px 8.5px 3px rgba(150, 150, 150, 0.4);
  /* display: inline-block; */
  vertical-align: top;
  overflow-x: auto;
  /* optional - looks better for small cell values */
  /* white-space: nowrap; */
  border-spacing: 0;
}
.library-table caption{
   font-size:1.5em;
   margin:.5em 0 .75em;
  }

  .library-table  thead tr:first-child {
    background:rgb(var(--capital-sky), .5);
    /* border:1px solid rgb(var(--ceremonial-blue)); */
    padding:.35em;
  }
  .library-table  tr:nth-of-type(even) {
      background:rgb(var(--ceremonial-blue), .05);;
      padding:.35em;
    }

    .library-table  th,
    .library-table  td {
    text-align:left;
    /* max-width: min-content; */
    width: 25vw;
    /* overflow: auto; */
    padding: 6px 12px;
    border: 1px solid #d9d7ce;
  }
  .library-table  td {
    padding: .5em 0 .5em 1em;
    width: max-content;
  }

  .library-table td:first-child {
    width: 5%;
  }

  .library-table td:nth-child(2) {
    width: 10%;
    min-width: 70px;
  }

  .library-table td:nth-child(4) {
    width: 30%;
  }

  .library-table  tr[data-href] {
    cursor: pointer;
    transition: all .6s ease-in-out;
  }

  .library-table  tr[data-href]:hover {
    background-color: rgb(var(--harmonic-blue), .6);
    transition: all .4s ease-in-out;
  }

  .library-table  th{
    padding: 1em;
    /* font-size:1em;
    letter-spacing:.1em; */
    text-transform:uppercase;
  }

/* end library table styles */

/* library board styles */

.library-footer {
  width: calc(100% - 6rem);
  padding: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 10px;
  justify-content: space-between;
  font-weight: 600;
}

.library-footer p {
  margin-right: 35px;
}

.library-header {
  /* padding-left: 10px;
  padding-right: 10px; */
  padding: 10px;
  display: grid;
  grid-template-columns: 40% 1.5fr 2fr 0.5fr;
  grid-column-gap: 10px;
}

.library-header label {
  font-weight: 600;
}

/* end library board styles */
/* Livestream embed styles */

.live-embed-wrapper {
  display: flex;
  justify-content: flex start;
  flex-flow: row wrap;
  width: 95vw;
}

.live-embed-video {
  width: 75%;
  flex-basis: 75%;
}

.live-embed-chat {
  width: 25%;
  flex-basis: 25%;
}

.blink-me {
  animation: blinker 3s linear infinite;
}

.header-sub-icon {
  position: absolute;
  margin-left: 185px;
  margin-top: -.8em;
}

.blinky {
  position: absolute;
  margin-left: 180px;
  margin-top: 1.1em;
}

.blinky-off {
  display: none;
}

@keyframes blinker {
  50% {
    opacity: .5;
  }
}

/* end Livestream embed styles */

/* responsive audio player styles */

/* Font Family
================================================== */

@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro&display=swap");


/* Global Styles
================================================== */

/* html,body {
-webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:100%;
background-color:#0665a2;
color:#fff;
font-size:1rem;
font-family:"Source Sans Pro", arial, sans-serif;
font-weight:400;
letter-spacing:.025rem;
line-height:1.618;
padding:1rem 0;
}

*,::before,::after {
box-sizing:border-box;
}

* {
-webkit-tap-highlight-color:rgba(0, 0, 0, 0);
-webkit-tap-highlight-color:transparent;
} */


/* Setup
================================================== */

.container {
  -webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:100%;
background-color: rgba(var(--ceremonial-blue));
color:#fff;
font-size:1rem;
/* font-family:"Source Sans Pro", arial, sans-serif; */
font-weight:400;
letter-spacing:.025rem;
line-height:1.618;
padding:1rem 0;
  position:relative;
  margin:0 auto;
  max-width:700px;
  width:100%; }
.column {
  width:inherit;
}


/* Typography / Links
================================================== */

/* p { color:#fff; display:block; font-size:.9rem; font-weight:400; margin:0 0 2px; }

a,a:visited { color:#8cc3e6; outline:0; text-decoration:underline; }
a:hover,a:focus { color:#bbdef5; }
p a,p a:visited { line-height:inherit; } */


/* Misc.
================================================== */

/* .add-bottom { margin-bottom:2rem !important; }
.left { float:left; }
.right { float:right; }
.center {
  text-align:center;
 }
.hidden { display:none; }

.no-support {
margin:2rem auto;
text-align:center;
width:90%;
} */


/* Audio Player Styles
================================================== */

.plyr--audio .plyr__controls {
  background-color: rgb(var(--ceremonial-blue)) !important;
  border:none !important;
  color:#fff !important;
  /* font-family:"Source Sans Pro", arial, sans-serif; */
  /* padding:20px 20px 20px 13px;
  width:100%; */
  }

#mainwrap audio {
display:none;
}

#audiowrap,
#plwrap {
margin:0 auto;
}

#plwrap {
  height: 500px;
  overflow-x: auto;
}

#tracks {
font-size:0;
position:relative;
text-align:center;
}

#nowPlay {
display:block;
font-size:0;
}

#nowPlay span {
display:inline-block;
font-size:1.05rem;
vertical-align:top;
}

#nowPlay span#npAction {
padding:21px;
width:30%;
}

#nowPlay span#npTitle {
padding:21px;
text-align:right;
width:70%;
}

#plList li {
cursor:pointer;
display:block;
margin:0;
padding:21px 0;
}

#plList li:hover {
  background-color:rgb(var(--capital-sky), .5);
}

.plItem {
position:relative;
}

.plTitle {
left:50px;
overflow:hidden;
position:absolute;
right:65px;
text-overflow:ellipsis;
top:0;
white-space:nowrap;
}

.plNum {
padding-left:21px;
width:25px;
}

.plLength {
padding-left:21px;
position:absolute;
right:21px;
top:0;
}

.plSel,
.plSel:hover {
background-color:rgb(var(--capital-sky), .5);
color:#fff;
cursor:default !important;
}

#tracks a {
border-radius:3px;
color:#fff;
cursor:pointer;
display:inline-block;
font-size:2.3rem;
height:40px;
line-height:.2;
margin:0 5px 30px;
padding:12px;
text-decoration:none;
transition:background .3s ease;
}

#tracks a:hover,
#tracks a:active {
background-color:rgb(var(--capital-sky), .5);
color:#fff;
}

#tracks a::-moz-focus-inner {
border:0;
padding:0;
}


/* Plyr Overrides
================================================== */

#mainwrap .plyr--audio .plyr__controls {
background-color:transparent;
border:none;
color:#fff;
/* font-family:"Source Sans Pro", arial, sans-serif; */
padding:20px 20px 20px 13px;
width:100%;
}

#mainwrap a.plyr__controls__item.plyr__control:hover,
#mainwrap .plyr--audio .plyr__controls button:hover,
#mainwrap .plyr--audio .plyr__controls button.tab-focus:focus,
#mainwrap .plyr__play-large {
background-color:rgba(0, 0, 0, .1);
}

#mainwrap .plyr__progress--played,
#mainwrap .plyr__volume--display {
color:rgba(0, 0, 0, .1);
}

#mainwrap .plyr--audio .plyr__progress--buffer,
#mainwrap .plyr--audio .plyr__volume--display {
background-color:rgba(0, 0, 0, .1);
}

#mainwrap .plyr--audio .plyr__progress--buffer {
color:rgba(0, 0, 0, .1);
}

#mainwrap .plyr--full-ui input[type="range"] {
width:calc(100% - 39px);
}

#mainwrap .plyr__controls .plyr__controls__item.plyr__time {
font-size:14px;
margin-left:7px;
}




/* Media Queries
================================================== */

/* added to bottom of page queries */



/* End responsive audio player styles */

/* Footer Styles Begin */

  /* Wrap the footer in a near-black bg color that extends across the browser
  Keep the contents confined to the 1250px maximum to line up with the rest of the page */
  .footer-bg {
    background: black;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0px, 1fr) minmax(0px, 1250px) minmax(0px, 1fr);
    grid-template-rows: max-content;
    grid-template-areas: ". footer .";
    justify-content: center;
    margin: 0 auto;
    transition: none;
    }

    /* Cut the footer into one double column (for the icons) and four other Safari-compatible columns for the link content, and a separate row for the tiny text links at the bottom */
    .footer {
        display: grid;
        grid-area: footer;
        grid-template-columns: repeat(6, minmax(0px, 1fr));
        grid-template-rows: max-content max-content;
        justify-content: center;
        justify-items: start;
        align-items: start;
        align-content: start;
        /* background: rgb(19, 19, 19); */
        background: black;
        grid-gap: 10px;
        padding-top: 2em;
    }
    .footer a {
      text-decoration: none;
    }
        /* Give all columns the same height so that their border-left (declared below) lines are all the same height */
        .footer-column {
            display: grid;
            justify-content: start;
            align-content: start;
            width: 100%;
            height: 100%;
            min-width: max-content;
            /* color: rgb(var(--artiesenal-gray)); */
            color: white;
            padding-left: 1em;
            transition: all .5s ease-in-out;
        }
            /* All but the first column gets a left border */
            .footer-column:not(:first-of-type) {
                border-left: 1.2px solid rgb(var(--artiesenal-gray), .3);
            }

            /* change the border color on column hover */
            div.footer-column:not(:first-of-type):hover {
                border-left: 1.2px solid rgb(var(--artiesenal-gray), .75);
                transition: all .5s ease-in-out;
            }

            /* double-up two of the columns to hold the icon area  */
            .footer-column:first-of-type {
                grid-column: 1 / span 2;
                grid-template-columns: max-content max-content;
                justify-self: center;
                justify-items: center;
                align-items: end;
            }
            .footer-column ul {
                list-style: none;
                height: 100%;
            }
                .footer-column ul li {
                    font-size: 0.9rem;
                    font-weight: 300;
                    padding-bottom: .5em;
                }
                .footer-column ul li:first-child {
                    text-transform: uppercase;
                    font-size: 1rem;
                    font-weight: 700;
                    color: #FFF;
                }

            /* Style the column links */
            .footer-column:not(:first-of-type) a {
                display: grid;
                grid-template-columns: repeat(2, max-content);
                align-content: center;
                grid-column-gap: .8em;
              /*  color: rgb(var(--artiesenal-gray)); */
              color: white;
                font-weight: 300;
            }

                /* I added this, Doug */
            .footer-column a {
                -webkit-transition: all .5s ease;
                transition: all .5s ease;
            }
            /* That's it... */

            /* Change the links' color on hover  */
            .footer-column a:hover {
                color: #FFF;
                -webkit-transition: all .5s ease;
                transition: all .5s ease;
            }


            /* Trying to get Safari to comply with SVG transitions...unsure if this is effective */
            path {
                transition: fill .5s ease;
            }

            .social-media svg,
                .social-media path {
                    width: 2rem;
                    fill: rgb(var(--artiesenal-gray));
                    transition: fill .5s ease;
                }
                .social-media li:hover svg,
                .social-media li:hover path {
                    fill: #FFF;
                    transition: fill .5s ease;
                }

        /* Span all 6 grid columns to form one row at the very bottom that evenly spaces the elements within it  */
        .footer-bottom {
            grid-column: 1 / -1;
            grid-row-start: -1 / span 1;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(0px, max-content));
            justify-content: space-evenly;
            width: 100%;
            /* color: rgb(var(--artiesenal-gray)); */
            color: white;
            font-size: .75rem;
            padding: 2em 0;
        }
            /* Earlier styles of span insert a "/" as a separator between elements holding date data, etc. This is intended to be easily targetable for auto-filling JS or other code targeting. Turning those separators off here  */
            .footer-bottom span, .footer-bottom span + span:before {
                width: max-content;
                content: none;
            }

        .footer-logo {
            fill: white;
            stroke: white;
            align-self: start;
          }

/* Footer Styles End */

/* Media Queries Down Here */

/* Desktop Styles */
@media only screen and (min-width: 1201px) {
  /* - background color for testing
    body {
      background-color: #B2D6FF;
    }
    */

        /* This is to center the page with max width 1200
    It puts everything except the footer in a wrapper so the footer
    stretches to the edge of the page. */
    .wrapper {
      max-width: 1250px;
      margin: 0 auto;
    }

    .mobile-nav {
      display: none;
    }

    .nav-container {
      color: #0C275B;
      /* background-color: #D6E9FE;  put in for debugging */
      display: flex;
      font-weight: 700;
      justify-content: center;
    }


    nav {
      width: 100%;
      height: 35px;
      display: flex;
      justify-content: space-evenly;
      align-items: center;
    }


  .nav-menu {
    display: flex;
    align-self: flex-end;
    margin-bottom: 0px;
    padding-right: 26px;
    justify-content: flex-end;
    text-transform: uppercase;
    font-size: 0.9em;
    width: inherit;
  }

  .nav-menu a:link {
    text-decoration: none;
    color: rgba(var(--ceremonial-blue));
  }

  .nav-menu a:visited {
    text-decoration: none;
    color: rgba(var(--ceremonial-blue));
  }

  .nav-menu li {
    display: inline;
    margin-left: 70px;
  }

  .nav-menu:focus {
    pointer-events:none;
  }

  .dropdown a {
    text-decoration: none;
    font-size: 1.3em;
    position: relative;
    transition: all 0.3s;
  }

  .dropdown a:after {
    content: '';
    width: 0;
    height: 0.3em;
    position: absolute;
    bottom: -5px;
    left: 50%;
    background: rgba(var(--ceremonial-blue));
    transition: all 0.3s;
  }

  .dropdown:hover > a::after {
    width: 100%;
    left: 0;
    background: rgba(var(--pershings-red));
  }


  .red-submenu {
    display: flex;
    flex-direction: row;
    padding-right: max(calc(25px + ((100% - 1250px) / 2 )), 25px);
    justify-content: flex-end;
    visibility: hidden;
    opacity: 0;
    background-color: rgba(var(--pershings-red));
    position: absolute;
    transition: all 0.3s ease;
    border-top: solid white 0.5rem;
    left: 0;
    text-transform: none;
    line-height: 3em;
    width: 100%;

  }

  .red-submenu li {
    padding-left: 50px;
  }

  .red-submenu a {
    font-size: 1.1em;
  }


  .dropdown:active .red-submenu,
  .dropdown:focus .red-submenu,
  .dropdown:hover > .red-submenu,
  .red-submenu:hover  {
    visibility: visible;
    opacity: 1;
    background-color: rgba(var(--pershings-red));
    width: 100%;
  }

  /*ul li ul li {
    clear: both;
    width: 100%;
  }*/

  .red-submenu a:link {
    text-decoration: none;
    color: white;
  }

  .red-submenu a:visited {
    text-decoration: none;
    color: white;
  }

  .red-submenu li a:hover:after {
    width: 0%;
    background: rgba(var(--pershings-red));
  }

  .interjection {
    margin: 2rem auto;
    width: 80%;
    padding: 20px 80px;
  }

  .bbtext-slider-wrapper h1 {
    font-size: 2.2em;
  }

  .buttonblock-wrapper {
  flex-direction: row;

  }
  .buttonblock-text {
    max-width: 650px;
  }

  .buttonblock-image {
    width: 550px;
  }

  .benefits {

    padding: 60px;
  }


  .event-bb {
    flex-direction: row;
    height: 425px;
  }

  .event-bb-title {
  padding-top: 10px;
  width: 450px;
  }

  /* from mtb.css */
  .ensemble-heading {
    flex-direction: row;
    width: 100%;
    max-width: calc(100% - 45px);
  }

  .ensemble-heading-text {
    width: 450px;
    max-height: 425px;
  }
  /* end from mtb.css */

  }

  /* !!! HERE ENDETH DESKTOP_ONLY STYLES   */

  /* Tablet Styles */
@media only screen and (max-width: 1200px) {
  /* - background color for testing
    body {
      background-color: #F5CF8E;
    }
    */


  /* test NAV for smaller width */

  .mobile-nav {
    display: none;
  }

  .nav-container {
    color: #0C275B;
    /* background-color: #D6E9FE;  put in for debugging */
    display: flex;
    font-weight: 700;
    justify-content: center;
  }

  nav {
    width: 100%;
    height: 35px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    /* background-color: rgb(var(--artiesenal-gray)); */
  }


  .nav-menu {
  display: flex;
  align-self: flex-end;
  margin-bottom: 0px;
  padding-right: 26px;
  justify-content: flex-end;
  text-transform: uppercase;
  font-size: 0.9em;
  width: inherit;
  }

  .nav-menu a:link {
  text-decoration: none;
  color: rgba(var(--ceremonial-blue));
  }

  .nav-menu a:visited {
  text-decoration: none;
  color: rgba(var(--ceremonial-blue));
  }

  .nav-menu li {
  display: inline;
  margin-left: 30px;
  }

  .nav-menu:focus {
  pointer-events:none;
  }

  .dropdown a {
  text-decoration: none;
  font-size: 1.1em;
  position: relative;
  transition: all 0.3s;
  }

  .dropdown a:after {
  content: '';
  width: 0;
  height: 0.3em;
  position: absolute;
  bottom: -5px;
  left: 50%;
  background: rgba(var(--ceremonial-blue));
  transition: all 0.3s;
  }

  .dropdown:hover > a::after {
  width: 100%;
  left: 0;
  background: rgba(var(--pershings-red));
  }


  .red-submenu {
  display: flex;
  flex-direction: row;
  padding-right: max(calc(25px + ((100% - 1250px) / 2 )), 25px);
  justify-content: flex-end;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(var(--pershings-red));
  position: absolute;
  transition: all 0.3s ease;
  border-top: solid white 0.5rem;
  left: 0;
  text-transform: none;
  line-height: 3em;
  width: 100%;
  }

  .red-submenu li {
  padding-left: 50px;
  }


  .dropdown:active .red-submenu,
  .dropdown:focus .red-submenu,
  .dropdown:hover > .red-submenu,
  .red-submenu:hover  {
  visibility: visible;
  opacity: 1;
  background-color: rgba(var(--pershings-red));
  width: 100%;
  }

  /*ul li ul li {
  clear: both;
  width: 100%;
  }*/

  .red-submenu a:link {
  text-decoration: none;
  color: white;
  }

  .red-submenu a:visited {
  text-decoration: none;
  color: white;
  }

  .red-submenu li a:hover:after {
  width: 0%;
  background: rgba(var(--pershings-red));
  }

  /* end test nav for smaller width */

  .interjection {
    margin: 2rem 0;
    width: 80%;
    padding: 20px 80px;
  }

  .buttonblock-wrapper {
    flex-direction: column;
  }

  .buttonblock-text {
    max-width: 550px;
    margin-top: -10px;
  }

  .buttonblock-image {
    max-width: 550px;
  }

  .bbtext-slider-wrapper h1 {
    font-size: 2em;
    font-weight: 700;
  }

  .benefits {
    padding: 40px;
  }

  .event-bb {
    flex-direction: column;
    max-width: 750px;
  }

  .event-bb-title {
    width: min(750px, 100vw);
    max-height: 350px;
    padding-top: 0;
  }

  .modal__inner {
    width: 90%;
    height: 90%;
    box-sizing: border-box;
  }

  /* from mtb.css */

  .roster, .current-openings {
    justify-content: space-evenly;
  }

  .instrument-heading {
    margin: 1em auto 0;
    text-align: center;
  }

  h2.instrument-heading::after {
    width: 50%;
    left: 25%;
    background: linear-gradient(to right, rgb(var(--pershings-red), .2) 0%, rgb(var(--pershings-red), 1) 20%, rgb(var(--ceremonial-blue), 1) 80%, rgb(var(--ceremonial-blue), .2) 100%);
  }

  .instrument-group:hover h2.instrument-heading::after {
    width: 75%;
    left: 12.5%;
    background: linear-gradient(to right, rgb(var(--pershings-red), .2) 0%, rgb(var(--pershings-red), 1) 20%, rgb(var(--ceremonial-blue), 1) 80%, rgb(var(--ceremonial-blue), .2) 100%);
  }

  .ensemble-heading {
    flex-direction: column;
    width: 1000px; /* to match width of homepage slider */
    max-width: calc(100vw - 45px); /* allows for both behaviors: the intent is for most sliders to keep 25px L/R buffer to match header lines, until the nav goes away and then a transition to full-bleed */
  }
  .ensemble-heading img {
    max-height: unset;
 }

  .ensemble-slider {
    max-width: 100%;
    object-fit: cover;
  }

  .ensemble-slider img {
    width: 100%;
    object-fit: cover;
  }

  .ensemble-heading-description {
    width: 100%;
  }
  /* end from mtb.css */


  }

  @media only screen and (max-width: 870px) {

    .header-sub-icon {
      position: absolute;
      margin-left: 185px;
      margin-top: -2em;
    }
    .officer-bio-block {
      grid-template-columns: 1fr;
      width: calc(100vw - 17.5%);
      height: auto;
      max-height: unset;
      padding: unset;
      margin-top: calc(100vw - 94%);
    }
    .officer-bio-block img {
      width: auto;
      max-width: 100%;
      height: auto;
    }
    .officer-bio-block .text {
      margin-top: .75em;
      height: auto;
      padding: 0 1.5rem;
    }


    /* end from mtb.css */


    .footer {
      grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr);
      grid-template-rows: auto;
      justify-self: center;
      grid-column-gap: 20vw;
      grid-row-gap: 3em;
      width: 100%;
      padding: 2rem 15vw;
    }
    .footer-column {
      width: 160px;
    }
    .footer-column.social-media {
      order: -1;
    }
    .footer-column:first-of-type {
      grid-column: span 2;
      justify-content: center;
      order: -2;
    }
    .footer-bottom {
      grid-column: 1 / -1;
      order: 1;
      grid-template-columns: minmax(0px, 1fr);
      justify-items: center;
      padding: 0;
    }

    }

 /* Mobile Styles */
 @media only screen and (max-width: 779px) {

  .social-post-text p {
    text-align: left;
    line-height: 1.5em;
    font-size: 0.9em;
    max-height: 150px;
    overflow-y: auto;
    margin-bottom: 20px;
    margin-left: unset;
    margin-right: unset;
    padding: 5px;
  }

  .header-sub-icon {
    position: absolute;
    margin-left: 185px;
    margin-top: -.8em;
  }

  .buttonblock-image img, .buttonblock-wrapper {
    width: 100vw;
    max-width: calc(100vw - calc(100vw - 505px));
  }

.logo {
  /* margin-top: -55px;
  margin-left: 0px; */
  width: 75px;
}

/* .logo img {
  width: 225px;
  height: 225px;
  object-fit: scale-down;
} */

.nav-container {
  display: none;
}

.header-social-icons {
  visibility: hidden;
}

 .mobile-nav {
  width: 100%;
  height: 35px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-right: 26px;
  font-weight: 700;
  margin-bottom: -2.5rem;
}

.mobile-social-icons {
  width: 100%;
  height: 30;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: -10px;
  margin-top: 5px;
}


.mobile-social-icons a {
  width: 3rem;
  transition: fill .5s ease;
  margin-left: 10px;
}

.mobile-social-icons svg,
.mobile-social-icons path {
  fill: rgb(var(--ceremonial-blue));
  transition: fill .5s ease;
}

.mobile-social-icons a:hover svg,
.mobile-social-icons a:hover path {
      fill: rgb(var(--pershings-red));
      transition: fill .5s ease;
  }


.netflix-text {
	text-transform: uppercase;
}

.netflix-nav-btn {
	border: 0;
	background: transparent;
	cursor: pointer;
  font-size: 40px;
  color: rgb(var(--ceremonial-blue));
  z-index: 100;
  margin-bottom: -10px;
}

 /* .netflix-open-btn {
	position: fixed;
	top: 75px;
  right: 10px;
  z-index: 100;
}  */

.netflix-nav {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	transform: translateX(-100%);
  transition: transform .3s ease-in-out;
  z-index: 100;
}

.netflix-nav.visible {
  transform: translateX(0);
  z-index: 100;
}

.netflix-nav-black {
	background-color: rgba(var(--ceremonial-blue));
	width: 60%;
	max-width: 480px;
	min-width: 320px;
  transition-delay: .4s;
  z-index: 100;
}

.netflix-nav-black.visible {
  transition-delay: 0s;
  z-index: 100;
}

.netflix-nav-red {
	background-color: rgba(var(--pershings-red));
	transition-delay: .2s;
  width: 95%;
  z-index: 100;
}

.netflix-nav-red.visible {
  transition-delay: .2s;
  z-index: 100;
}

.netflix-nav-white {
	background-color: #fff;
	padding: 40px;
	position: relative;
	transition-delay: 0s;
  width: 95%;
  z-index: 100;
}

.netflix-nav-white.visible {
  transition-delay: .4s;
  z-index: 100;
}

.netflix-close-btn {
	opacity: 0.3;
	position: absolute;
	top: 40px;
	right: 30px;
}

.netflix-list {
	list-style-type: none;
  padding: 0;
  overflow-x: auto;
}

.netflix-list li {
	margin: 20px 0;
}

.netflix-list li a {
	color: rgba(var(--ceremonial-blue));
	font-size: 14px;
	text-decoration: none;
	text-transform: uppercase;
}


.netflix-list ul {
	list-style-type: none;
  padding-left: 20px;
  height: 0;
  overflow: hidden;
  transition: height 0.5s;
}

.dropdown-mobile {
  line-height: 0.5em;
}

.dropdown-mobile:hover .submenu-mobile {
  height: 9em;
}

.submenu-mobile {
  line-height: 0.5em;
}

.submenu-mobile li a {
  color: rgba(var(--pershings-red));
}

.about p {
  margin: 1rem 20px;
}

.about ul, .heading ol {
  margin: 0 1rem 1.5em 2rem;
  width: auto;
}

.about ol {
  margin-left: 2rem;
}

.about h4 {
  margin: 1.5em 1rem .5em 20px;
}

figure.image-left {
  float: left;
  margin: 10px 15px 0 20px;
}

.pulldown figure.image-left {
  margin-left: 0;
}

.pulldown figure.image-right {
  margin-right: 0;
}


.event-bb {
  flex-direction: column;
  max-width: 750px;
  width: 100%;
}

.event-bb-title {
  width: min(750px, 100vw);
  max-height: 500px;
  padding-top: 0;
  padding-bottom: 25px;
}

  .buttonblock-wrapper {
    flex-direction: column;
  }

  .buttonblock-text {
    max-width: 550px;
  }

  .buttonblock-image {
    max-width: 550px;
  }

  .bbtext-slider-wrapper h1 {
    font-size: 1.8em;
    font-weight: 700;
  }

  .benefits {
    padding: 25px 10px 25px 10px;
  }

  .benefits p {
    padding-left: 85px;
    padding-bottom: 10px;
    padding-right: 30px;
    text-align: left;
  }

   .interjection {
     width: 95%;
     max-width: calc(100vw - 45px);
     margin: 2rem 0;
     padding: 20px 20px;
   }

   .play-along-grid {
    margin: 3rem auto 5rem;
    max-width: calc(100vw - 45px);
    display: grid;
    grid-row-gap: 10px;
    grid-column-gap: 10px;
    grid-template-columns: 100vw;
    grid-auto-rows: max-content;
    justify-content:center;
  }

.live-embed-video {
  width: 100%;
  flex-basis: 100%;
}

.live-embed-chat {
  flex-basis: 100%;
  width: 100%;
}

#nowPlay span#npAction { display:none; }
#nowPlay span#npTitle { display:block; text-align:center; width:100%; }

table.competition-table {
  /* border:1px solid rgb(var(--ceremonial-blue)); */
  margin: 1.5em 1rem 3em 20px;
  display: block;
  width: calc(100% - 40px);
  overflow: scroll;
}

table.library-table {
  /* border:1px solid rgb(var(--ceremonial-blue)); */
  margin: 1.5em 1rem 3em 20px;
  display: block;
  width: calc(100% - 40px);
  overflow: scroll;
}

.library-footer {
  width: calc(100% - 1rem);
}

.vidboard-footer {
  width: calc(100% -1rem);
}

.winners td, .winners th {
  text-align: center;
}

/* from mtb.css */

.header-container {
  margin-bottom: 55px;
}

.image-only-billboard, .image-only-billboard img {
  width: 100vw;
  max-width: 100vw;
  /* max-width: calc(100vw - calc(100vw - 755px)); */
}

.ensemble-heading {
  width: 100%;
  flex-direction: column;
  max-width: calc(100vw - calc(100vw - 750px));
}

.ensemble-slider {
  max-width: 100%;
  object-fit: cover;
}

.ensemble-slider img {
  width: 100%;
  object-fit: cover;
}

.ensemble-heading-description {
  width: 100%;
}

.individual-bio img {
  float: none;
}

}

@media only screen and (max-width: 499px) {

  /* .calendar {
    visibility: hidden;
  } */

  .bbtext-slider-wrapper h1 {
    font-size: 1.5em;
    font-weight: 700;
  }

  .bbtext-slider-wrapper h3 {
    font-size: 1em;
  }

  .tickets img {
    width: 100px;
  }

  /* .featured-slider {
    height: 705px;
  } */

  .event-blurb {
    display: none;
  }

.vacancy {
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);
  transition: 0.8s ease;
  width: 95%;
  max-width: 350px;
  height: 500px;
}

.vacancy:hover {
  box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.2);
  transition: none;
  transform: none;
}

.footer {
  padding: 2rem 5vw;
  grid-column-gap: 0vw;
  grid-row-gap: 2em;
}

}


/* Print Styles */

@media print {
  .nav-container {
    display: none;
  }

  .benefits {
    display: none;
  }

  .footer-bg {
    display: none;
  }
}