:root {
  --sean-v18: sean-v18;
  --large-screen: 1400px;
  --max-width: var(--large-screen);
  --max-content-width: 1020px;
  --small-screen: $small-screen;
  --spacer: 2rem;
  --spacer--small: calc(var(--spacer) * 0.9);
  --spacer--half: var(--spacer--small);
  --spacer--quarter: calc(var(--spacer--half) / 2);
  --spacer--teeny: calc(var(--spacer--half) / 4);
  --spacer--double: calc(var(--spacer) * 2);
  --transition-speed: 0.2s;
  --transition-speed: 0.3s;
  --transition-speed-slower: calc(var(--transition-speed) * 2);
}

:root {
  --orange: 241, 124, 14;
  --orange-translucent: 241, 124, 14;
  --turquoise: 16, 165, 158;
  --turquoise-translucent: 16, 165, 158;
  --red: 190, 30, 45;
  --red-translucent: 190, 30, 45;
  --blue: 39, 78, 159;
  --blue-translucent: 39, 78, 159;
  --purple: 102, 49, 143;
  --purple-translucent: 102, 49, 143;
  --white: 255, 255, 255;
  --black: 34, 34, 35;
  --grey: 51, 51, 51;
  --grey-dark: 34, 34, 35;
  --grey-light: 178, 178, 178;
  --grey-lighter: 241, 241, 241;
  --body-copy: 78, 78, 78;
  --twitter-blue: #00aced;
  --facebook-blue: #3b5998;
  --instagram-peach: #e4405f;
  --sectionColour: var(--orange);
}

.classical {
  --sectionColour: var(--purple);
}
.classical .translucent {
  --sectionColour: var(--purple-translucent);
}

.venues,
[class*=reviews],
.galleries {
  --sectionColour: var(--red);
}
.venues .translucent,
[class*=reviews] .translucent,
.galleries .translucent {
  --sectionColour: var(--red-translucent);
}

.festivals,
.bands {
  --sectionColour: var(--blue);
}
.festivals .translucent,
.bands .translucent {
  --sectionColour: var(--blue-translucent);
}

.featured {
  --sectionColour: var(--turquoise);
}
.featured .translucent {
  --sectionColour: var(--turquoise-translucent);
}

:root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", Arial, sans-serif;
} /*
Example of how to use
h3 {
    @include fluid-size('font-size', 18px, 40px);
    @include fluid-size('font-size', $font-size, 100px);
    @include fluid-size('line-height', $font-size, $font-size * 4);
}
*/
.ss h2,
.ss h3,
.ss h4,
.ss h5 {
  font-weight: 600;
  color: rgba(var(--sectionColour), 1);
  text-transform: uppercase;
  margin-top: var(--spacer--double);
  margin-bottom: var(--spacer--double);
  word-wrap: break-word;
}
.ss h2 {
  font-size: calc(
		30px + 12 * ((100vw - 480px) / 820)
	);
}
@media (max-width: 480px) {
  .ss h2 {
    font-size: 30px;
  }
}
@media (min-width: 1300px) {
  .ss h2 {
    font-size: 42px;
  }
}
.ss h3,
.ss h4,
.ss h5 {
  font-size: calc(
		16px + 4 * ((100vw - 480px) / 820)
	);
}
@media (max-width: 480px) {
  .ss h3,
.ss h4,
.ss h5 {
    font-size: 16px;
  }
}
@media (min-width: 1300px) {
  .ss h3,
.ss h4,
.ss h5 {
    font-size: 20px;
  }
}

.ss main h2 {
  display: inline-block;
  color: rgba(var(--sectionColour), 1);
  border-bottom: 4px solid rgba(var(--sectionColour), 1);
  padding-bottom: var(--spacer--quarter);
}
@media only screen and (min-width: 600px) {
  .ss main h2 {
    border-width: 8px;
  }
}
.ss main h2 span {
  color: var(--grey-light);
}
.ss main h3 {
  font-weight: 500;
}

body:not(.single) .ss h3 span {
  display: inline;
  background-color: rgba(var(--sectionColour), 1);
  color: rgba(var(--white), 1);
  padding: var(--spacer--teeny) var(--spacer--quarter);
  margin: 0;
  line-height: 1.4;
  transition: var(--transition-speed) background-color ease, var(--transition-speed) color ease;
}
body:not(.single) .ss h3 span:hover {
  background-color: rgba(var(--white), 1);
  color: rgba(var(--sectionColour), 1);
}

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

.full-width,
.full-bleed {
  width: 100%;
  margin-left: 50%;
  transform: translateX(-50%);
  max-width: 100vw;
  padding: 0 var(--spacer) var(--spacer) var(--spacer);
}
@media only screen and (max-width: 1020px) {
  .full-width,
.full-bleed {
    --spacer: var(--spacer--half);
  }
}
.full-width > *,
.full-bleed > * {
  padding: 0;
}
@media only screen and (min-width: 1020px) {
  .full-width > *,
.full-bleed > * {
    max-width: var(--max-content-width);
    margin: 0 auto;
  }
}

.ss .btn {
  display: inline-block;
  padding: var(--spacer--half);
  color: rgba(var(--black), 1);
  transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease, border var(--transition-speed) ease;
  white-space: nowrap;
  border: 1px solid var(--grey-light);
}
.ss .btn svg {
  height: var(--spacer--half);
  width: auto;
  margin-left: var(--spacer--quarter);
  overflow: visible;
  transform: scale(0.75);
  transform-origin: center;
}
.ss .btn svg path {
  fill: rgba(var(--black), 1);
  transition: fill var(--transition-speed) ease, transform var(--transition-speed-slower) ease;
}
.ss .btn:hover, .ss .btn:focus {
  color: rgba(var(--white), 1);
  background-color: rgba(var(--sectionColour), 1);
  border-color: rgba(var(--sectionColour), 1);
}
.ss .btn:hover svg path, .ss .btn:focus svg path {
  transform: translateX(175px);
  fill: rgba(var(--white), 1);
}

.homepageSection {
  padding-top: var(--spacer--double);
  padding-bottom: var(--spacer--double);
}
.homepageSection:nth-of-type(even) {
  background: var(--grey-lighter);
}
.homepageSection .title_wrapper {
  margin-bottom: var(--spacer--double);
}
.homepageSection .title_wrapper h2 {
  margin: 0;
  margin-right: auto;
}
.homepageSection ul {
  margin-bottom: 0;
  padding: 0;
}
.homepageSection ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.homepageSection ul li a {
  width: 100%;
  background-color: rgba(var(--sectionColour), 1);
  text-decoration: none;
  overflow: hidden;
}
.homepageSection ul li a:hover h3, .homepageSection ul li a:focus h3 {
  opacity: 1;
}
.homepageSection ul li a:hover h3 span, .homepageSection ul li a:focus h3 span {
  background-color: rgba(var(--white), 1);
  color: rgba(var(--sectionColour), 1);
}
.homepageSection ul li a:hover img, .homepageSection ul li a:focus img {
  transform: scale(1.04);
  opacity: 0.9;
}
.homepageSection ul li a h3 {
  z-index: 2;
  opacity: 0.95;
  max-width: 98%;
  transition: opacity ease var(--transition-speed);
  z-index: 1;
}
.homepageSection ul li a h3 span.colorBG {
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  display: inline;
  overflow: hidden;
}
.homepageSection ul li a img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(var(--sectionColour), 1);
  transition: transform ease var(--transition-speed-slower), opacity ease var(--transition-speed-slower);
}

.homepageSection .title_wrapper {
  display: flex;
  align-items: center;
}
.homepageSection .title_wrapper .btn {
  margin-left: auto;
  display: flex;
  align-items: center;
}
@supports (display: grid) {
  .homepageSection .title_wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacer);
  }
  .homepageSection .title_wrapper .btn {
    margin-left: 0;
    margin-right: auto;
  }
  @media only screen and (min-width: 500px) {
    .homepageSection .title_wrapper {
      grid-template-columns: auto auto;
    }
    .homepageSection .title_wrapper .btn {
      margin-left: auto;
      margin-right: 0;
    }
  }
}
.homepageSection ul {
  display: grid;
  grid-gap: var(--spacer);
  grid-auto-rows: minmax(30vh, -webkit-min-content);
  grid-auto-rows: minmax(30vh, min-content);
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 400px) {
  .homepageSection ul {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 600px) {
  .homepageSection ul {
    grid-gap: var(--spacer);
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.homepageSection.fourColumn ul {
  grid-template-columns: 1fr 1fr;
}
@media only screen and (min-width: 600px) {
  .homepageSection.fourColumn ul {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media only screen and (max-width: 400px) {
  .homepageSection.fourColumn ul li:nth-child(n+1) {
    display: flex;
    visibility: visible;
  }
}
.homepageSection li {
  display: flex;
  min-height: 33.3vh;
}
@media only screen and (max-width: 600px) {
  .homepageSection li:nth-child(n+5) {
    display: none;
    visibility: hidden;
  }
}
@media only screen and (max-width: 400px) {
  .homepageSection li:nth-child(n+4) {
    display: none;
    visibility: hidden;
  }
}
.homepageSection li > a {
  height: 100%;
  min-height: 33.3vh;
  display: block;
  position: relative;
}
.homepageSection li > a h3 {
  position: absolute;
  bottom: var(--spacer);
  margin-bottom: 0;
}
@supports (display: grid) {
  .homepageSection li > a {
    display: grid;
    position: relative;
  }
  .homepageSection li > a > * {
    grid-area: 1/1;
  }
  .homepageSection li > a h3 {
    position: relative;
    bottom: 0;
    align-self: end;
    margin-bottom: var(--spacer);
  }
}

.highlighted-content {
  padding-top: unset;
}

footer.ss_footer a,
footer.ss_footer li,
footer.ss_footer p,
footer.ss_footer span {
  font-size: 13px;
  color: #b2b2b2;
  line-height: 1.15;
}
footer.ss_footer h2 {
  font-size: 18px;
  margin-bottom: 20px;
}
footer.ss_footer h2 > * {
  font-size: 18px;
}

footer.ss_footer {
  color: inherit;
  background-color: var(--grey-dark);
  background-color: #222223;
}
footer.ss_footer a {
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}
footer.ss_footer a:hover {
  color: rgba(var(--white), 1);
}
footer.ss_footer a:hover div,
footer.ss_footer a:hover span,
footer.ss_footer a:hover small {
  color: rgba(var(--white), 1);
}
footer.ss_footer div,
footer.ss_footer span,
footer.ss_footer small {
  transition: color 0.2s ease-in-out;
}
footer.ss_footer h2 {
  color: rgba(var(--orange), 1);
}
footer.ss_footer h2 a {
  color: rgba(var(--orange), 1);
}
footer.ss_footer img {
  max-width: 100%;
}
footer.ss_footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
footer.ss_footer .upper_footer .social ul {
  display: flex;
  flex-direction: column;
}
footer.ss_footer .upper_footer .social li {
  margin-bottom: 2rem;
}
footer.ss_footer .upper_footer .social li:last-of-type {
  margin-bottom: 0;
}
footer.ss_footer .upper_footer .social li :hover svg {
  background-color: rgba(var(--orange), 1);
}
footer.ss_footer .upper_footer .social li.facebook:hover svg {
  background-color: var(--facebook-blue);
}
footer.ss_footer .upper_footer .social li.twitter:hover svg {
  background-color: var(--twitter-blue);
}
footer.ss_footer .upper_footer .social li.instagram:hover svg {
  background-color: var(--instagram-peach);
}
footer.ss_footer .upper_footer .social svg {
  transition: background 0.2s ease-in-out;
  background: var(--grey-light);
  fill: rgba(var(--white), 1);
  width: 42px;
  height: 42px;
  padding: 9px;
  border-radius: 5px;
  margin-right: 0.75rem;
}
footer.ss_footer .upper_footer .social a {
  display: flex;
  flex-direction: row;
  align-items: center;
}
footer.ss_footer .upper_footer .social a div {
  display: flex;
  flex-direction: column;
}
footer.ss_footer .upper_footer .social a div span {
  font-size: 30px;
}
footer.ss_footer .upper_footer .social a div small {
  font-size: 16px;
  text-transform: uppercase;
}
footer.ss_footer .upper_footer .menu ul {
  -moz-columns: 2;
       columns: 2;
}
footer.ss_footer .upper_footer .menu ul li {
  margin-bottom: 20px;
}
footer.ss_footer .upper_footer .insta-feed #instagram-feed {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1rem;
  align-items: flex-start;
}
@media only screen and (min-width: 600px) {
  footer.ss_footer .upper_footer .insta-feed #instagram-feed {
    grid-template-columns: 1fr;
  }
}
footer.ss_footer .upper_footer .insta-feed .instagram-image {
  position: relative;
  display: flex;
  overflow: hidden;
}
footer.ss_footer .upper_footer .insta-feed .instagram-image img {
  transition: transform 0.2s;
}
footer.ss_footer .upper_footer .insta-feed .instagram-image:hover img {
  transform: scale(1.1);
}
footer.ss_footer .upper_footer .insta-feed .instagram-image::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 5px solid rgba(var(--white), 1);
  pointer-events: none;
}
footer.ss_footer .sub-footer {
  background-color: rgba(var(--black), 1);
  padding: 1rem;
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
}
footer.ss_footer .sub-footer .hd_advert {
  display: flex;
  max-width: 100vw;
  justify-content: center;
  max-width: calc(100vw - 2rem);
  overflow: hidden;
}
footer.ss_footer .sub-footer .copy_legal {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto auto;
  grid-gap: 1rem;
  margin-top: 1rem;
}
@media only screen and (min-width: 600px) {
  footer.ss_footer .sub-footer .copy_legal {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto;
  }
}
footer.ss_footer .sub-footer .copy_legal .copyright {
  padding: 0;
  margin: 0;
  justify-self: center;
}
@media only screen and (min-width: 600px) {
  footer.ss_footer .sub-footer .copy_legal .copyright {
    grid-column: 1/span 1;
    grid-row: 1/span 1;
  }
}
footer.ss_footer .sub-footer .copy_legal ul {
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
}
@media only screen and (min-width: 600px) {
  footer.ss_footer .sub-footer .copy_legal ul {
    grid-column: 1/-1;
    grid-row: 1/span 1;
  }
}
footer.ss_footer .sub-footer .copy_legal ul li {
  margin-right: 1rem;
}
footer.ss_footer .sub-footer .copy_legal ul li:last-of-type {
  margin-right: 0;
}

footer.ss_footer {
  display: grid;
  grid-template-areas: "upper" "sub";
}
footer.ss_footer .upper_footer {
  display: grid;
  grid-gap: 5vw;
  justify-self: center;
  grid-template-columns: 1fr;
  grid-template-areas: "social" "menu" "instagram";
}
@media only screen and (min-width: 600px) {
  footer.ss_footer .upper_footer {
    /* Bigger than 600px */
    grid-template-columns: 3fr 5fr 4fr;
    grid-template-areas: "social menu instagram";
  }
}
footer.ss_footer .upper_footer .social {
  grid-area: social;
}
footer.ss_footer .upper_footer .menu {
  grid-area: menu;
}
footer.ss_footer .upper_footer .insta-feed {
  grid-area: instagram;
}
footer.ss_footer .upper_footer .sub-footer {
  grid-area: sub;
}

.hero nav {
  align-items: center;
  justify-content: space-between;
  padding: var(--spacer);
  min-height: 70px;
  color: rgba(var(--white), 1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hero nav h2,
.hero nav h3 {
  font-size: 18px;
}
.hero nav .this-year {
  color: var(--white);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero nav button.nav_toggle {
  border: none;
  background: transparent;
  cursor: pointer;
}
.hero nav button.nav_toggle svg {
  pointer-events: none;
}
.hero nav button.nav_toggle path {
  transition: 0.2s ease-in-out stroke;
}
.hero nav button.nav_toggle:hover path {
  stroke: rgba(var(--orange), 1);
}

.popup_menu {
  position: absolute;
  background-color: rgba(var(--orange), 0.1);
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 150;
  display: none;
  justify-content: center;
  align-items: center;
  color: rgba(var(--white), 0.3);
  font-size: 2rem;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.popup_menu.open {
  display: flex;
  opacity: 1;
}

.ss_leaderboard {
  display: flex;
  margin-bottom: 0;
  padding-bottom: 0;
  padding: var(--spacer) 0;
}
.middle_part .ss_leaderboard {
  padding-top: 0px;
}

.single .wp-caption {
  max-width: 100%;
  margin: 30px 0;
}

.post-type-archive-festivals {
  --sectionColour: rgba(var(--orange), 1);
}
.post-type-archive-festivals .hd_single_link.wide .hd_link_title {
  background-color: rgba(var(--orange), 1);
  color: rgba(var(--white), 1);
}
.post-type-archive-festivals .hd_single_link.wide:hover .hd_link_title {
  background-color: rgba(var(--white), 1) !important;
  color: rgba(var(--orange), 1) !important;
}

* {
  outline: 0px solid transparent;
}
