.elementor-16210 .elementor-element.elementor-element-2fc9d85{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-5113737 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-6716e97 > .elementor-container{min-height:100vw;}.elementor-16210 .elementor-element.elementor-element-6716e97{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-0ed0795 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-322cbe4{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-48f145f{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-0eb4357{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-95c2b9a{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-875dc16{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-5e5fa72{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-162632a{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-7cbed73{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16210 .elementor-element.elementor-element-7d1993b{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}/* Start custom CSS for section, class: .elementor-element-2fc9d85 */.sotf-hero {
  position: relative;
  min-height: 100svh;
  overflow: clip;
  display: flex;
  align-items: center;
  background: #0c3225;
}

.sotf-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
  transform: scale(1.02);
}

.sotf-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(
      90deg,
      rgba(7, 36, 27, .72) 0%,
      rgba(7, 36, 27, .30) 45%,
      rgba(7, 36, 27, .08) 72%
    );
}

.sotf-hero-content {
  position: relative;
  z-index: 4;
  width: min(820px, calc(100% - 48px));
  margin-left: clamp(24px, 7vw, 120px);
  color: white;
  padding-block: clamp(90px, 14vh, 170px);
}

.sotf-main-logo {
  width: clamp(140px, 18vw, 260px);
  height: auto;
  display: block;
  margin-bottom: 26px;
}

.sotf-kicker {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
  font-weight: 700;
}

.sotf-hero h1 {
  font-size: clamp(48px, 7vw, 110px);
  line-height: .92;
  margin: 10px 0 16px;
}

.sotf-subline {
  font-size: clamp(20px, 2vw, 32px);
}

.sotf-btn {
  display: inline-flex;
  margin-top: 26px;
  padding: 14px 22px;
  border-radius: 14px;
  background: #f1c43d;
  color: #102d22;
  font-weight: 800;
  text-decoration: none;
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   SOUND OF THE FOREST FESTIVAL 2027
   COMPLETE HOMEPAGE CSS
   DESKTOP + MOBILE
========================================================= */


/* =========================================================
   VARIABLES
========================================================= */

:root {

  --sotf-green: #13784a;
  --sotf-leaf: #72bc46;
  --sotf-lake: #209da5;
  --sotf-sun: #f4c83c;
  --sotf-cream: #fff7e8;
  --sotf-dark: #072c20;

  --sotf-safe:
    clamp(
      24px,
      6.5vw,
      118px
    );

  --sotf-header-live-h:
    82px;
}


/* =========================================================
   GLOBAL
========================================================= */

html,
body {

  margin:
    0;

  padding:
    0;

  overflow-x:
    clip;

  background:
    var(--sotf-dark);
}


body.page-id-16210 {

  margin:
    0 !important;

  padding:
    0 !important;

  background:
    var(--sotf-dark);
}


body.page-id-16210 .site-main,
body.page-id-16210 main,
body.page-id-16210 .entry-content,
body.page-id-16210 .elementor,
body.page-id-16210 .elementor-inner,
body.page-id-16210 .elementor-section-wrap {

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


body.page-id-16210 * {

  box-sizing:
    border-box;
}


.sotf-mobile-only {

  display:
    none !important;
}


/* =========================================================
   TRUE FULL WIDTH
========================================================= */

body.page-id-16210 .sotf-hero,
body.page-id-16210 .sotf-location,
body.page-id-16210 .sotf-music,
body.page-id-16210 .sotf-artist-frame,
body.page-id-16210 .sotf-people,
body.page-id-16210 .sotf-more,
body.page-id-16210 .sotf-guide,
body.page-id-16210 .sotf-big,
body.page-id-16210 .sotf-lineup,
body.page-id-16210 .sotf-news,
body.page-id-16210 .sotf-aftermovie,
body.page-id-16210 .sotf-final {

  position:
    relative !important;

  width:
    100vw !important;

  max-width:
    100vw !important;

  left:
    50% !important;

  margin-left:
    -50vw !important;

  margin-right:
    -50vw !important;

  padding-left:
    0 !important;

  padding-right:
    0 !important;
}


.sotf-hero > .elementor-container,
.sotf-location > .elementor-container,
.sotf-music > .elementor-container,
.sotf-artist-frame > .elementor-container,
.sotf-people > .elementor-container,
.sotf-more > .elementor-container,
.sotf-guide > .elementor-container,
.sotf-big > .elementor-container,
.sotf-lineup > .elementor-container,
.sotf-news > .elementor-container,
.sotf-aftermovie > .elementor-container,
.sotf-final > .elementor-container {

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


/* =========================================================
   EXISTING HEADER
   MENU STRUCTURE REMAINS UNCHANGED
========================================================= */

body.page-id-16210 .elementor-location-header,
body.page-id-16210 header.site-header,
body.page-id-16210 #masthead {

  position:
    fixed !important;

  top:
    0 !important;

  left:
    0 !important;

  right:
    0 !important;

  width:
    100% !important;

  height:
    82px !important;

  min-height:
    82px !important;

  max-height:
    82px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  z-index:
    99999 !important;

  overflow:
    visible !important;

  background:
    transparent !important;

  border:
    0 !important;

  box-shadow:
    none !important;

  transition:
    background .30s ease,
    backdrop-filter .30s ease,
    box-shadow .30s ease;
}


/* WordPress admin bar */

body.admin-bar.page-id-16210
.elementor-location-header,

body.admin-bar.page-id-16210
header.site-header,

body.admin-bar.page-id-16210
#masthead {

  top:
    32px !important;
}


/* =========================================================
   HEADER INNER STRUCTURE
========================================================= */

body.page-id-16210
.elementor-location-header
> .elementor-section,

body.page-id-16210
.elementor-location-header
.elementor-top-section {

  height:
    82px !important;

  min-height:
    82px !important;

  max-height:
    82px !important;

  margin:
    0 !important;

  padding:
    8px
    22px !important;

  background:
    transparent !important;

  border:
    0 !important;

  box-shadow:
    none !important;

  overflow:
    visible !important;
}


body.page-id-16210
.elementor-location-header
.e-con {

  background:
    transparent !important;

  border:
    0 !important;

  box-shadow:
    none !important;
}


body.page-id-16210
.elementor-location-header
.elementor-container {

  width:
    100% !important;

  max-width:
    1460px !important;

  height:
    66px !important;

  min-height:
    66px !important;

  max-height:
    66px !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;

  padding:
    0 !important;

  align-items:
    center !important;
}


body.page-id-16210
.elementor-location-header
.elementor-row {

  width:
    100% !important;

  height:
    100% !important;

  align-items:
    center !important;
}


body.page-id-16210
.elementor-location-header
.elementor-column {

  min-height:
    0 !important;

  height:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


body.page-id-16210
.elementor-location-header
.elementor-column
> .elementor-element-populated,

body.page-id-16210
.elementor-location-header
.elementor-widget-wrap {

  height:
    100% !important;

  min-height:
    0 !important;

  margin:
    0 !important;

  padding-top:
    0 !important;

  padding-bottom:
    0 !important;

  align-content:
    center !important;

  align-items:
    center !important;
}


/* =========================================================
   HEADER LOGO
========================================================= */

body.page-id-16210
.elementor-location-header
.elementor-widget-theme-site-logo,

body.page-id-16210
.elementor-location-header
.elementor-widget-image {

  margin:
    0 !important;

  padding:
    0 !important;

  align-self:
    center !important;
}


body.page-id-16210
.elementor-location-header
.elementor-widget-theme-site-logo
.elementor-widget-container,

body.page-id-16210
.elementor-location-header
.elementor-widget-image
.elementor-widget-container {

  min-height:
    0 !important;

  margin:
    0 !important;

  padding:
    0 !important;

  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    flex-start !important;

  line-height:
    0 !important;
}


body.page-id-16210
.elementor-location-header
.custom-logo-link {

  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    flex-start !important;

  height:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;

  line-height:
    0 !important;
}


/* =========================================================
   DESKTOP MAIN MENU
========================================================= */

body.page-id-16210
.elementor-location-header
.elementor-nav-menu--main
a,

body.page-id-16210
header.site-header
.main-navigation
a,

body.page-id-16210
#masthead
.main-navigation
a {

  color:
    #ffffff !important;

  font-weight:
    700;

  text-decoration:
    none !important;

  text-shadow:
    0 1px 12px
    rgba(0,0,0,.22);

  transition:
    color .22s ease,
    opacity .22s ease;
}


body.page-id-16210
.elementor-location-header
.elementor-nav-menu--main
a:hover,

body.page-id-16210
header.site-header
.main-navigation
a:hover,

body.page-id-16210
#masthead
.main-navigation
a:hover {

  color:
    var(--sotf-sun) !important;
}


body.page-id-16210
.elementor-location-header
.elementor-nav-menu--main
.elementor-item::after {

  background-color:
    var(--sotf-sun) !important;
}


/* =========================================================
   DESKTOP SUBMENUS
========================================================= */

body.page-id-16210
.elementor-location-header
.elementor-nav-menu--main
.sub-menu,

body.page-id-16210
header.site-header
.sub-menu,

body.page-id-16210
#masthead
.sub-menu {

  padding:
    9px !important;

  border:
    1px solid
    rgba(255,255,255,.12) !important;

  border-radius:
    16px !important;

  background:
    rgba(5,40,29,.95) !important;

  backdrop-filter:
    blur(18px);

  -webkit-backdrop-filter:
    blur(18px);

  box-shadow:
    0 20px 55px
    rgba(0,0,0,.25) !important;

  overflow:
    hidden;
}


body.page-id-16210
.elementor-location-header
.elementor-nav-menu--main
.sub-menu a,

body.page-id-16210
.elementor-location-header
.elementor-sub-item,

body.page-id-16210
header.site-header
.sub-menu a {

  padding:
    11px
    15px !important;

  color:
    rgba(255,255,255,.95) !important;

  background:
    transparent !important;

  border-radius:
    9px !important;

  text-shadow:
    none !important;

  font-size:
    14px;

  line-height:
    1.3;
}


body.page-id-16210
.elementor-location-header
.elementor-nav-menu--main
.sub-menu a:hover,

body.page-id-16210
.elementor-location-header
.elementor-sub-item:hover,

body.page-id-16210
header.site-header
.sub-menu a:hover {

  color:
    var(--sotf-dark) !important;

  background:
    var(--sotf-sun) !important;
}


/* =========================================================
   HEADER AFTER SCROLL
========================================================= */

body.page-id-16210.sotf-header-scrolled
.elementor-location-header,

body.page-id-16210.sotf-header-scrolled
header.site-header,

body.page-id-16210.sotf-header-scrolled
#masthead {

  background:
    rgba(5,40,29,.88) !important;

  backdrop-filter:
    blur(18px)
    saturate(125%);

  -webkit-backdrop-filter:
    blur(18px)
    saturate(125%);

  box-shadow:
    0 8px 30px
    rgba(0,0,0,.16) !important;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.sotf-kicker {

  margin:
    0 0 14px;

  font-size:
    13px;

  line-height:
    1.2;

  font-weight:
    800;

  letter-spacing:
    .13em;

  text-transform:
    uppercase;
}


.sotf-lead {

  max-width:
    720px;

  margin:
    0 0 18px;

  font-size:
    clamp(
      20px,
      1.8vw,
      28px
    ) !important;

  line-height:
    1.35 !important;

  font-weight:
    650;
}


.sotf-copy-highlight {

  display:
    block;

  margin-top:
    24px;

  font-size:
    clamp(
      20px,
      2vw,
      28px
    );

  line-height:
    1.25;
}


/* =========================================================
   BUTTONS
========================================================= */

.sotf-btn {

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    50px;

  margin-top:
    26px;

  padding:
    0 24px;

  border-radius:
    14px;

  background:
    var(--sotf-sun);

  color:
    var(--sotf-dark) !important;

  text-decoration:
    none !important;

  font-weight:
    800;

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}


.sotf-btn:hover {

  transform:
    translateY(-2px);

  box-shadow:
    0 12px 32px
    rgba(0,0,0,.18);
}


/* =========================================================
   HERO
========================================================= */

.sotf-hero {

  position:
    relative !important;

  height:
    100vh !important;

  height:
    100dvh !important;

  min-height:
    100svh !important;

  overflow:
    hidden !important;

  background:
    var(--sotf-dark);
}


.sotf-hero
.elementor-column,

.sotf-hero
.elementor-widget-wrap,

.sotf-hero
.elementor-widget-html,

.sotf-hero
.elementor-widget-container {

  width:
    100% !important;

  height:
    100% !important;

  min-height:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


.sotf-hero-inner {

  position:
    relative;

  width:
    100%;

  height:
    100vh;

  height:
    100dvh;

  min-height:
    100svh;

  display:
    flex;

  align-items:
    center;

  overflow:
    hidden;
}


.sotf-hero-bg {

  position:
    absolute;

  inset:
    0;

  width:
    100%;

  height:
    100%;

  object-fit:
    cover;

  object-position:
    center;

  z-index:
    1;
}


.sotf-hero-overlay {

  position:
    absolute;

  inset:
    0;

  z-index:
    2;

  background:
    linear-gradient(
      90deg,
      rgba(3,28,20,.78),
      rgba(3,28,20,.34) 48%,
      rgba(3,28,20,.04) 80%
    );
}


.sotf-hero-content {

  position:
    relative;

  z-index:
    3;

  width:
    min(
      850px,
      calc(100% - 48px)
    );

  margin-left:
    var(--sotf-safe);

  color:
    #fff;
}


.sotf-main-logo {

  display:
    block;

  width:
    clamp(
      155px,
      17vw,
      280px
    );

  height:
    auto;

  margin-bottom:
    28px;
}


.sotf-hero h1 {

  margin:
    8px
    0
    18px;

  font-size:
    clamp(
      48px,
      7vw,
      112px
    );

  line-height:
    .91;

  letter-spacing:
    -.035em;
}


.sotf-subline {

  margin:
    0;

  font-size:
    clamp(
      20px,
      2vw,
      32px
    );
}


.sotf-scroll-hint {

  position:
    absolute;

  z-index:
    4;

  left:
    50%;

  bottom:
    24px;

  transform:
    translateX(-50%);

  color:
    #fff;

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    .17em;

  text-align:
    center;
}


.sotf-scroll-hint i {

  display:
    block;

  width:
    1px;

  height:
    34px;

  margin:
    8px auto 0;

  background:
    rgba(255,255,255,.5);
}


/* =========================================================
   IMMERSIVE STORY SECTIONS
========================================================= */

.sotf-location,
.sotf-music,
.sotf-people,
.sotf-more,
.sotf-big {

  position:
    relative !important;

  height:
    auto !important;

  margin:
    0 !important;

  padding:
    0 !important;

  overflow:
    visible !important;

  background:
    var(--sotf-dark);
}


.sotf-location {

  min-height:
    185svh !important;
}


.sotf-music {

  min-height:
    235svh !important;
}


.sotf-people {

  min-height:
    210svh !important;
}


.sotf-more {

  min-height:
    195svh !important;
}


.sotf-big {

  min-height:
    180svh !important;
}


/* =========================================================
   DESKTOP STICKY VIEWPORT
   HEADER HEIGHT IS SUBTRACTED
========================================================= */

@media (min-width:768px) {

  .sotf-location
  > .elementor-container,

  .sotf-music
  > .elementor-container,

  .sotf-people
  > .elementor-container,

  .sotf-more
  > .elementor-container,

  .sotf-big
  > .elementor-container {

    position:
      sticky !important;

    top:
      var(
        --sotf-header-live-h,
        82px
      ) !important;

    width:
      100% !important;

    max-width:
      none !important;

    height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          82px
        )
      ) !important;

    min-height:
      calc(
        100svh -
        var(
          --sotf-header-live-h,
          82px
        )
      ) !important;

    max-height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          82px
        )
      ) !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    background:
      var(--sotf-dark);
  }

}


/* =========================================================
   STORY ELEMENTOR CLASSIC STRUCTURE
========================================================= */

.sotf-location
.elementor-column,

.sotf-music
.elementor-column,

.sotf-people
.elementor-column,

.sotf-more
.elementor-column,

.sotf-big
.elementor-column,

.sotf-location
.elementor-widget-wrap,

.sotf-music
.elementor-widget-wrap,

.sotf-people
.elementor-widget-wrap,

.sotf-more
.elementor-widget-wrap,

.sotf-big
.elementor-widget-wrap,

.sotf-location
.elementor-widget-html,

.sotf-music
.elementor-widget-html,

.sotf-people
.elementor-widget-html,

.sotf-more
.elementor-widget-html,

.sotf-big
.elementor-widget-html,

.sotf-location
.elementor-widget-container,

.sotf-music
.elementor-widget-container,

.sotf-people
.elementor-widget-container,

.sotf-more
.elementor-widget-container,

.sotf-big
.elementor-widget-container {

  width:
    100% !important;

  height:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


.sotf-location
.elementor-widget-html,

.sotf-music
.elementor-widget-html,

.sotf-people
.elementor-widget-html,

.sotf-more
.elementor-widget-html,

.sotf-big
.elementor-widget-html {

  position:
    absolute !important;

  inset:
    0 !important;
}


.sotf-location
.elementor-widget-container,

.sotf-music
.elementor-widget-container,

.sotf-people
.elementor-widget-container,

.sotf-more
.elementor-widget-container,

.sotf-big
.elementor-widget-container {

  position:
    relative !important;

  display:
    flex !important;

  align-items:
    center !important;

  overflow:
    hidden !important;
}


/* =========================================================
   VIDEOS
========================================================= */

.sotf-scroll-video {

  position:
    absolute !important;

  inset:
    0 !important;

  width:
    100% !important;

  height:
    100% !important;

  object-fit:
    cover !important;

  object-position:
    center !important;

  display:
    block !important;

  z-index:
    1 !important;

  pointer-events:
    none;

  background:
    var(--sotf-dark);

  transform:
    translate3d(0,0,0);

  backface-visibility:
    hidden;

  -webkit-backface-visibility:
    hidden;

  will-change:
    transform;
}


.sotf-location-video {

  object-position:
    center center !important;
}


.sotf-music-video {

  object-position:
    center 46% !important;
}


.sotf-people-video {

  object-position:
    center center !important;
}


.sotf-more-video {

  object-position:
    center center !important;
}


.sotf-big-video {

  object-position:
    center 44% !important;
}


/* =========================================================
   VIDEO OVERLAYS
========================================================= */

.sotf-location-overlay,
.sotf-music-overlay,
.sotf-people-overlay,
.sotf-more-overlay,
.sotf-big-overlay {

  position:
    absolute;

  inset:
    0;

  z-index:
    2;

  pointer-events:
    none;
}


.sotf-location-overlay {

  background:
    linear-gradient(
      90deg,
      rgba(4,38,28,.72),
      rgba(4,38,28,.07)
    );
}


.sotf-music-overlay {

  background:
    linear-gradient(
      90deg,
      rgba(4,26,20,.78),
      rgba(4,26,20,.05)
    );
}


.sotf-people-overlay {

  background:
    linear-gradient(
      90deg,
      rgba(4,36,27,.70),
      rgba(4,36,27,.05)
    );
}


.sotf-more-overlay {

  background:
    linear-gradient(
      90deg,
      rgba(5,39,29,.76),
      rgba(5,39,29,.06)
    );
}


.sotf-big-overlay {

  background:
    linear-gradient(
      90deg,
      rgba(3,25,19,.43),
      rgba(3,25,19,.10)
    );
}


/* =========================================================
   STORY COPY
========================================================= */

.sotf-location-copy,
.sotf-music-copy,
.sotf-people-copy,
.sotf-more-copy {

  position:
    relative;

  z-index:
    3;

  width:
    min(
      830px,
      calc(100% - 48px)
    );

  margin-left:
    var(--sotf-safe);

  color:
    #fff;
}


.sotf-location-copy h2,
.sotf-music-copy h2,
.sotf-people-copy h2,
.sotf-more-copy h2 {

  margin:
    8px
    0
    26px;

  font-size:
    clamp(
      50px,
      7vw,
      110px
    );

  line-height:
    .89;

  letter-spacing:
    -.03em;
}


.sotf-location-copy p,
.sotf-music-copy p,
.sotf-people-copy p,
.sotf-more-copy p {

  max-width:
    720px;

  font-size:
    clamp(
      17px,
      1.25vw,
      21px
    );

  line-height:
    1.48;
}


/* =========================================================
   DESKTOP STORY SAFE ZONE
========================================================= */

@media (min-width:768px) {

  .sotf-location-copy,
  .sotf-music-copy,
  .sotf-people-copy,
  .sotf-more-copy {

    max-height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          82px
        ) -
        50px
      );

    padding-top:
      22px;

    padding-bottom:
      22px;
  }


  .sotf-big-copy {

    padding-top:
      42px !important;

    padding-bottom:
      42px !important;
  }

}


/* =========================================================
   MORE TAGS
========================================================= */

.sotf-more-tags {

  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    9px;

  margin-top:
    26px;
}


.sotf-more-tags span {

  padding:
    8px
    13px;

  border:
    1px solid
    rgba(255,255,255,.55);

  border-radius:
    999px;

  background:
    rgba(0,0,0,.13);

  color:
    #fff;

  font-size:
    13px;

  font-weight:
    700;
}


/* =========================================================
   ARTIST DESKTOP
========================================================= */

.sotf-artist-frame {

  position:
    relative !important;

  min-height:
    160svh !important;

  overflow:
    visible !important;

  background:
    var(--sotf-sun);
}


@media (min-width:768px) {

  .sotf-artist-frame
  > .elementor-container {

    position:
      sticky !important;

    top:
      var(
        --sotf-header-live-h,
        82px
      ) !important;

    width:
      100% !important;

    max-width:
      none !important;

    height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          82px
        )
      ) !important;

    min-height:
      calc(
        100svh -
        var(
          --sotf-header-live-h,
          82px
        )
      ) !important;

    max-height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          82px
        )
      ) !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    background:
      var(--sotf-sun);
  }

}


.sotf-artist-frame
.elementor-column,

.sotf-artist-frame
.elementor-widget-wrap,

.sotf-artist-frame
.elementor-widget-html,

.sotf-artist-frame
.elementor-widget-container {

  width:
    100% !important;

  height:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


.sotf-artist-stage {

  position:
    relative;

  width:
    100%;

  height:
    100%;

  overflow:
    hidden;
}


.sotf-artist-word {

  position:
    absolute;

  z-index:
    1;

  left:
    50%;

  top:
    50%;

  transform:
    translate(-50%,-50%);

  font-size:
    clamp(
      180px,
      32vw,
      560px
    );

  line-height:
    .68;

  font-weight:
    900;

  color:
    transparent;

  -webkit-text-stroke:
    2px
    rgba(7,44,32,.20);

  white-space:
    nowrap;
}


.sotf-artist-window {

  position:
    absolute;

  inset:
    0;

  z-index:
    2;

  overflow:
    hidden;

  clip-path:
    inset(
      12%
      10%
      12%
      10%
      round 28px
    );

  -webkit-clip-path:
    inset(
      12%
      10%
      12%
      10%
      round 28px
    );
}


.sotf-artist-image {

  position:
    absolute;

  inset:
    0;

  width:
    100%;

  height:
    100%;

  object-fit:
    cover;

  object-position:
    center;
}


.sotf-artist-shade {

  position:
    absolute;

  inset:
    0;

  z-index:
    2;

  background:
    linear-gradient(
      90deg,
      rgba(3,24,18,.58),
      rgba(3,24,18,.05)
    );
}


.sotf-artist-copy {

  position:
    absolute;

  z-index:
    3;

  left:
    var(--sotf-safe);

  bottom:
    clamp(
      35px,
      6vh,
      80px
    );

  width:
    min(
      650px,
      calc(100% - 48px)
    );

  color:
    #fff;

  opacity:
    0;
}


.sotf-artist-copy h2 {

  margin:
    6px
    0
    18px;

  font-size:
    clamp(
      54px,
      7vw,
      115px
    );

  line-height:
    .87;
}


/* =========================================================
   FOREST GUIDE
========================================================= */

.sotf-guide {

  padding:
    clamp(
      95px,
      10vw,
      160px
    )
    var(--sotf-safe) !important;

  background:
    var(--sotf-cream);

  color:
    var(--sotf-dark);
}


.sotf-guide-inner {

  width:
    100%;

  max-width:
    1500px;

  margin:
    auto;
}


.sotf-guide-head {

  max-width:
    900px;

  margin-bottom:
    55px;
}


.sotf-guide-head h2 {

  margin:
    7px
    0
    22px;

  font-size:
    clamp(
      55px,
      7vw,
      110px
    );

  line-height:
    .9;

  letter-spacing:
    -.04em;
}


.sotf-guide-head
> p:last-child {

  max-width:
    720px;

  font-size:
    clamp(
      18px,
      1.5vw,
      23px
    );

  line-height:
    1.45;
}


.sotf-guide-grid {

  display:
    grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:
    18px;
}


.sotf-guide-card {

  position:
    relative;

  min-height:
    330px;

  padding:
    28px;

  display:
    flex;

  flex-direction:
    column;

  border-radius:
    24px;

  background:
    #fff;

  overflow:
    hidden;
}


.sotf-guide-card-featured {

  background:
    var(--sotf-green);

  color:
    #fff;
}


.sotf-guide-number {

  margin-bottom:
    auto;

  font-size:
    12px;

  font-weight:
    800;

  opacity:
    .55;
}


.sotf-guide-card h3 {

  margin:
    35px
    0
    14px;

  font-size:
    clamp(
      27px,
      2.3vw,
      39px
    );

  line-height:
    1;
}


.sotf-guide-card p {

  margin:
    0;

  font-size:
    16px;

  line-height:
    1.45;
}


.sotf-guide-card strong {

  display:
    block;

  margin-top:
    22px;

  font-size:
    21px;
}


.sotf-guide-card a {

  display:
    inline-block;

  margin-top:
    22px;

  color:
    var(--sotf-green) !important;

  text-decoration:
    none !important;

  font-weight:
    800;
}


.sotf-guide-cta {

  margin-top:
    18px;

  padding:
    28px
    32px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    30px;

  border-radius:
    24px;

  background:
    var(--sotf-dark);

  color:
    #fff;
}


.sotf-guide-cta span,
.sotf-guide-cta strong {

  display:
    block;
}


.sotf-guide-cta span {

  opacity:
    .65;
}


.sotf-guide-cta strong {

  margin-top:
    4px;

  font-size:
    clamp(
      25px,
      3vw,
      42px
    );
}


.sotf-guide-cta
.sotf-btn {

  flex-shrink:
    0;

  margin-top:
    0;
}


/* =========================================================
   BIG ADVENTURE
========================================================= */

.sotf-big-copy {

  position:
    relative;

  z-index:
    3;

  width:
    100%;

  padding:
    70px
    var(--sotf-safe);

  color:
    #fff;

  text-transform:
    uppercase;
}


.sotf-big-small {

  display:
    block;

  font-size:
    clamp(
      25px,
      3vw,
      52px
    );

  font-weight:
    700;
}


.sotf-big-copy strong {

  display:
    block;

  font-size:
    clamp(
      68px,
      10.5vw,
      172px
    );

  line-height:
    .78;

  letter-spacing:
    -.05em;
}


.sotf-big-copy p {

  margin-top:
    30px;

  font-size:
    clamp(
      18px,
      2vw,
      28px
    );

  line-height:
    1.12;
}


/* =========================================================
   LINEUP
========================================================= */

.sotf-lineup {

  padding:
    clamp(
      105px,
      12vw,
      190px
    )
    var(--sotf-safe) !important;

  background:
    var(--sotf-green);

  color:
    #fff;

  text-align:
    center;
}


.sotf-lineup-inner {

  width:
    100%;

  max-width:
    1400px;

  margin:
    auto;
}


.sotf-lineup h2 {

  margin:
    12px
    0;

  font-size:
    clamp(
      56px,
      9vw,
      150px
    );

  line-height:
    .88;
}


.sotf-coming {

  margin:
    0;

  font-size:
    clamp(
      28px,
      4vw,
      58px
    );

  font-weight:
    700;
}


.sotf-lineup-copy {

  margin:
    20px auto 0;

  font-size:
    18px;

  opacity:
    .8;
}


.sotf-btn-light {

  background:
    var(--sotf-cream);
}


/* =========================================================
   NEWS
========================================================= */

.sotf-news {

  padding:
    clamp(
      95px,
      10vw,
      160px
    )
    var(--sotf-safe) !important;

  background:
    var(--sotf-dark);

  color:
    #fff;
}


.sotf-news-inner {

  width:
    100%;

  max-width:
    1500px;

  margin:
    auto;
}


.sotf-news-head {

  margin-bottom:
    45px;

  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    30px;
}


.sotf-news-head h2 {

  margin:
    7px
    0
    0;

  font-size:
    clamp(
      52px,
      7vw,
      108px
    );

  line-height:
    .88;

  letter-spacing:
    -.04em;
}


.sotf-news-all,
.sotf-news-bottom a {

  color:
    var(--sotf-sun) !important;

  text-decoration:
    none !important;

  font-weight:
    800;
}


.sotf-news-grid {

  display:
    grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:
    18px;
}


.sotf-news-card {

  min-width:
    0;

  overflow:
    hidden;

  border:
    1px solid
    rgba(255,255,255,.10);

  border-radius:
    22px;

  background:
    rgba(255,255,255,.055);

  transition:
    transform .3s ease,
    background .3s ease;
}


.sotf-news-card:hover {

  transform:
    translateY(-5px);

  background:
    rgba(255,255,255,.08);
}


.sotf-news-image {

  display:
    block;

  width:
    100%;

  aspect-ratio:
    16 / 10;

  object-fit:
    cover;
}


.sotf-news-card-content {

  padding:
    23px;
}


.sotf-news-date {

  display:
    block;

  margin-bottom:
    12px;

  font-size:
    11px;

  text-transform:
    uppercase;

  letter-spacing:
    .12em;

  opacity:
    .55;
}


.sotf-news-card h3 {

  margin:
    0
    0
    15px;

  font-size:
    clamp(
      23px,
      2vw,
      32px
    );

  line-height:
    1.05;
}


.sotf-news-card p {

  margin:
    0
    0
    20px;

  color:
    rgba(255,255,255,.70);

  font-size:
    15px;

  line-height:
    1.45;
}


.sotf-news-card a {

  color:
    var(--sotf-sun) !important;

  text-decoration:
    none !important;

  font-weight:
    800;
}


.sotf-news-loading {

  grid-column:
    1 / -1;

  padding:
    40px
    0;

  opacity:
    .6;
}


.sotf-news-bottom {

  margin-top:
    38px;

  display:
    flex;

  justify-content:
    space-between;

  gap:
    30px;

  color:
    rgba(255,255,255,.65);
}


.sotf-news-bottom p {

  max-width:
    650px;

  margin:
    0;
}


/* =========================================================
   AFTERMOVIE
========================================================= */

.sotf-aftermovie {

  padding:
    clamp(
      90px,
      10vw,
      160px
    )
    var(--sotf-safe) !important;

  background:
    var(--sotf-cream);

  color:
    var(--sotf-dark);
}


.sotf-aftermovie-inner {

  width:
    100%;

  max-width:
    1500px;

  margin:
    auto;
}


.sotf-aftermovie h2 {

  margin:
    10px
    0
    22px;

  font-size:
    clamp(
      50px,
      7vw,
      108px
    );

  line-height:
    .89;
}


.sotf-after-intro {

  max-width:
    680px;

  margin-bottom:
    36px;

  font-size:
    clamp(
      18px,
      1.5vw,
      23px
    );

  line-height:
    1.4;
}


.sotf-after-video-wrap {

  width:
    100%;

  overflow:
    hidden;

  border-radius:
    25px;

  background:
    #000;

  box-shadow:
    0 25px 70px
    rgba(0,0,0,.15);
}


.sotf-after-video {

  display:
    block;

  width:
    100%;

  aspect-ratio:
    16 / 9;

  object-fit:
    cover;
}


/* =========================================================
   FINAL
========================================================= */

.sotf-final {

  overflow:
    hidden !important;

  background:
    var(--sotf-dark);
}


.sotf-final,
.sotf-final-stage {

  height:
    100vh !important;

  height:
    100dvh !important;

  min-height:
    700px !important;
}


.sotf-final
.elementor-column,

.sotf-final
.elementor-widget-wrap,

.sotf-final
.elementor-widget-html,

.sotf-final
.elementor-widget-container {

  width:
    100% !important;

  height:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


.sotf-final-stage {

  position:
    relative;

  width:
    100%;

  display:
    flex;

  align-items:
    flex-end;

  overflow:
    hidden;
}


.sotf-final-image {

  position:
    absolute;

  inset:
    0;

  width:
    100%;

  height:
    100%;

  object-fit:
    cover;

  object-position:
    50% 47%;

  z-index:
    1;
}


.sotf-final-overlay {

  position:
    absolute;

  inset:
    0;

  z-index:
    2;

  background:
    linear-gradient(
      90deg,
      rgba(4,25,19,.83),
      rgba(4,25,19,.48) 34%,
      rgba(4,25,19,.08) 70%
    );
}


.sotf-final-content {

  position:
    relative;

  z-index:
    3;

  width:
    min(
      760px,
      calc(100% - 48px)
    );

  margin-left:
    var(--sotf-safe);

  margin-bottom:
    clamp(
      70px,
      10vh,
      120px
    );

  color:
    #fff;
}


.sotf-final-content h2 {

  margin:
    7px
    0
    20px;

  font-size:
    clamp(
      58px,
      7.5vw,
      118px
    );

  line-height:
    .87;
}


.sotf-final-date {

  margin:
    0
    0
    9px;

  font-size:
    clamp(
      23px,
      2.2vw,
      34px
    );

  font-weight:
    800;
}


/* =========================================================
   SHORT DESKTOP / LAPTOP
========================================================= */

@media
(min-width:768px)
and
(max-height:850px) {

  .sotf-location-copy h2,
  .sotf-music-copy h2,
  .sotf-people-copy h2,
  .sotf-more-copy h2 {

    margin-bottom:
      17px !important;

    font-size:
      clamp(
        42px,
        5.7vw,
        82px
      ) !important;

    line-height:
      .90 !important;
  }


  .sotf-location-copy p,
  .sotf-music-copy p,
  .sotf-people-copy p,
  .sotf-more-copy p {

    font-size:
      clamp(
        15px,
        1.1vw,
        18px
      ) !important;

    line-height:
      1.38 !important;
  }


  .sotf-lead {

    margin-bottom:
      12px !important;

    font-size:
      clamp(
        17px,
        1.45vw,
        22px
      ) !important;
  }


  .sotf-kicker {

    margin-bottom:
      9px !important;
  }


  .sotf-big-copy strong {

    font-size:
      clamp(
        62px,
        9vw,
        138px
      ) !important;
  }


  .sotf-artist-copy h2 {

    font-size:
      clamp(
        48px,
        6vw,
        88px
      ) !important;
  }

}


/* =========================================================
   VERY SHORT DESKTOP
========================================================= */

@media
(min-width:768px)
and
(max-height:700px) {

  .sotf-location-copy h2,
  .sotf-music-copy h2,
  .sotf-people-copy h2,
  .sotf-more-copy h2 {

    font-size:
      clamp(
        38px,
        5vw,
        68px
      ) !important;
  }


  .sotf-location-copy p,
  .sotf-music-copy p,
  .sotf-people-copy p,
  .sotf-more-copy p {

    font-size:
      15px !important;
  }


  .sotf-more-tags {

    margin-top:
      13px !important;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px) {

  :root {

    --sotf-safe:
      18px;

    --sotf-header-live-h:
      72px;
  }


  /* =======================================================
     MOBILE GLOBAL
  ======================================================= */

  .sotf-desktop-only {

    display:
      none !important;
  }


  .sotf-mobile-only {

    display:
      block !important;
  }


  .sotf-kicker {

    margin-bottom:
      8px;

    font-size:
      10px;

    letter-spacing:
      .15em;
  }


  .sotf-btn {

    min-height:
      47px;

    margin-top:
      18px;

    padding:
      0 17px;

    border-radius:
      12px;

    font-size:
      13px;
  }


  /* =======================================================
     MOBILE HEADER
  ======================================================= */

  body.page-id-16210
  .elementor-location-header,

  body.page-id-16210
  header.site-header,

  body.page-id-16210
  #masthead {

    height:
      72px !important;

    min-height:
      72px !important;

    max-height:
      72px !important;

    padding:
      0 !important;

    overflow:
      visible !important;
  }


  body.admin-bar.page-id-16210
  .elementor-location-header,

  body.admin-bar.page-id-16210
  header.site-header,

  body.admin-bar.page-id-16210
  #masthead {

    top:
      46px !important;
  }


  body.page-id-16210
  .elementor-location-header
  > .elementor-section,

  body.page-id-16210
  .elementor-location-header
  .elementor-top-section {

    height:
      72px !important;

    min-height:
      72px !important;

    max-height:
      72px !important;

    margin:
      0 !important;

    padding:
      7px
      12px !important;

    overflow:
      visible !important;

    background:
      transparent !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-container {

    width:
      100% !important;

    max-width:
      none !important;

    height:
      58px !important;

    min-height:
      58px !important;

    max-height:
      58px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    align-items:
      center !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-row {

    width:
      100% !important;

    height:
      100% !important;

    display:
      flex !important;

    align-items:
      center !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-column {

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      flex !important;

    align-items:
      center !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-column
  > .elementor-element-populated,

  body.page-id-16210
  .elementor-location-header
  .elementor-widget-wrap {

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;

    display:
      flex !important;

    align-items:
      center !important;

    align-content:
      center !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-column:first-child
  .elementor-widget-wrap {

    justify-content:
      flex-start !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-column:last-child
  .elementor-widget-wrap {

    justify-content:
      flex-end !important;
  }


  /* =======================================================
     MOBILE LOGO
  ======================================================= */

  body.page-id-16210
  .elementor-location-header
  .elementor-widget-theme-site-logo,

  body.page-id-16210
  .elementor-location-header
  .elementor-widget-image {

    width:
      auto !important;

    height:
      58px !important;

    min-height:
      0 !important;

    margin:
      0 !important;

    padding:
      0 !important;

    display:
      flex !important;

    align-items:
      center !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-widget-theme-site-logo
  .elementor-widget-container,

  body.page-id-16210
  .elementor-location-header
  .elementor-widget-image
  .elementor-widget-container {

    width:
      auto !important;

    height:
      58px !important;

    min-height:
      0 !important;

    margin:
      0 !important;

    padding:
      0 !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      flex-start !important;

    line-height:
      0 !important;
  }


  body.page-id-16210
  .elementor-location-header
  .custom-logo-link {

    width:
      auto !important;

    height:
      58px !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      flex-start !important;

    margin:
      0 !important;

    padding:
      0 !important;

    line-height:
      0 !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-widget-theme-site-logo img,

  body.page-id-16210
  .elementor-location-header
  img.custom-logo,

  body.page-id-16210
  .elementor-location-header
  .custom-logo-link img,

  body.page-id-16210
  .elementor-location-header
  .elementor-widget-image img {

    display:
      block !important;

    width:
      auto !important;

    height:
      auto !important;

    max-width:
      92px !important;

    max-height:
      50px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    object-fit:
      contain !important;

    object-position:
      left center !important;

    vertical-align:
      middle !important;

    transform:
      none !important;
  }


  /* =======================================================
     MOBILE HAMBURGER
  ======================================================= */

  body.page-id-16210
  .elementor-location-header
  .elementor-menu-toggle {

    width:
      46px !important;

    height:
      46px !important;

    min-width:
      46px !important;

    min-height:
      46px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      center !important;

    color:
      #fff !important;

    border:
      1px solid
      rgba(255,255,255,.16) !important;

    border-radius:
      13px !important;

    background:
      rgba(5,40,29,.32) !important;

    backdrop-filter:
      blur(14px);

    -webkit-backdrop-filter:
      blur(14px);
  }


  /* =======================================================
     MOBILE MENU DROPDOWN
  ======================================================= */

  body.page-id-16210
  .elementor-location-header
  .elementor-nav-menu--dropdown {

    position:
      absolute !important;

    top:
      68px !important;

    left:
      8px !important;

    right:
      8px !important;

    width:
      auto !important;

    max-height:
      calc(
        100dvh -
        82px
      ) !important;

    overflow-y:
      auto !important;

    overscroll-behavior:
      contain;

    -webkit-overflow-scrolling:
      touch;

    margin:
      0 !important;

    padding:
      10px
      8px
      calc(
        18px +
        env(safe-area-inset-bottom)
      ) !important;

    border:
      1px solid
      rgba(255,255,255,.10) !important;

    border-radius:
      15px !important;

    background:
      rgba(5,40,29,.985) !important;

    box-shadow:
      0 18px 50px
      rgba(0,0,0,.28) !important;

    backdrop-filter:
      blur(20px);

    -webkit-backdrop-filter:
      blur(20px);
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-nav-menu--dropdown
  a {

    min-height:
      44px;

    display:
      flex;

    align-items:
      center;

    color:
      #fff !important;

    background:
      transparent !important;
  }


  body.page-id-16210
  .elementor-location-header
  .elementor-nav-menu--dropdown
  .sub-menu {

    margin-left:
      10px !important;

    padding-left:
      8px !important;

    border:
      0 !important;

    border-left:
      1px solid
      rgba(255,255,255,.15) !important;

    border-radius:
      0 !important;

    background:
      transparent !important;

    box-shadow:
      none !important;
  }


  /* =======================================================
     MOBILE HERO
  ======================================================= */

  body.page-id-16210
  .sotf-hero {

    position:
      relative !important;

    height:
      100dvh !important;

    min-height:
      100svh !important;

    max-height:
      100dvh !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    background:
      #072c20 !important;
  }


  .sotf-hero
  > .elementor-container {

    position:
      relative !important;

    width:
      100% !important;

    max-width:
      none !important;

    height:
      100% !important;

    min-height:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;
  }


  .sotf-hero
  .elementor-column,

  .sotf-hero
  .elementor-widget-wrap,

  .sotf-hero
  .elementor-widget-html,

  .sotf-hero
  .elementor-widget-container {

    position:
      relative !important;

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;
  }


  .sotf-hero-inner {

    position:
      absolute !important;

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      0 !important;

    margin:
      0 !important;

    padding:
      0 !important;

    display:
      block !important;

    overflow:
      hidden !important;
  }


  .sotf-hero-bg {

    position:
      absolute !important;

    inset:
      0 !important;

    display:
      block !important;

    width:
      100% !important;

    height:
      100% !important;

    min-width:
      100% !important;

    min-height:
      100% !important;

    max-width:
      none !important;

    max-height:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;

    object-fit:
      cover !important;

    object-position:
      51% 50% !important;

    z-index:
      1 !important;
  }


  .sotf-hero-overlay {

    position:
      absolute !important;

    inset:
      0 !important;

    z-index:
      2 !important;

    width:
      100% !important;

    height:
      100% !important;

    background:
      linear-gradient(
        180deg,
        rgba(3,28,20,.03) 0%,
        rgba(3,28,20,.03) 30%,
        rgba(3,28,20,.15) 50%,
        rgba(3,28,20,.55) 70%,
        rgba(3,28,20,.93) 100%
      ) !important;

    pointer-events:
      none;
  }


  .sotf-hero
  .sotf-main-logo {

    display:
      none !important;
  }


  .sotf-hero-content {

    position:
      absolute !important;

    left:
      18px !important;

    right:
      18px !important;

    bottom:
      calc(
        30px +
        env(safe-area-inset-bottom)
      ) !important;

    top:
      auto !important;

    z-index:
      3 !important;

    width:
      auto !important;

    max-width:
      540px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    color:
      #fff !important;

    transform-origin:
      left bottom;
  }


  .sotf-hero-content
  .sotf-kicker {

    margin:
      0
      0
      8px !important;

    font-size:
      10px !important;

    line-height:
      1.25 !important;

    letter-spacing:
      .14em !important;

    color:
      rgba(255,255,255,.92) !important;
  }


  .sotf-hero h1 {

    width:
      100% !important;

    max-width:
      none !important;

    margin:
      0
      0
      10px !important;

    padding:
      0 !important;

    font-size:
      clamp(
        34px,
        9.7vw,
        43px
      ) !important;

    line-height:
      .96 !important;

    letter-spacing:
      -.04em !important;

    white-space:
      nowrap !important;

    color:
      #fff !important;
  }


  .sotf-hero
  .sotf-subline {

    margin:
      0 !important;

    font-size:
      clamp(
        16px,
        4.5vw,
        19px
      ) !important;

    line-height:
      1.25 !important;

    color:
      rgba(255,255,255,.94) !important;
  }


  .sotf-hero
  .sotf-btn {

    min-height:
      47px !important;

    margin-top:
      17px !important;

    padding:
      0 18px !important;

    border-radius:
      12px !important;

    font-size:
      13px !important;
  }


  .sotf-scroll-hint {

    display:
      none !important;
  }


  /* =======================================================
     MOBILE STORY LENGTH
  ======================================================= */

  .sotf-location {

    min-height:
      185svh !important;
  }


  .sotf-music {

    min-height:
      240svh !important;
  }


  .sotf-people {

    min-height:
      195svh !important;
  }


  .sotf-more {

    min-height:
      190svh !important;
  }


  .sotf-big {

    min-height:
      165svh !important;
  }


  /* =======================================================
     MOBILE STICKY VIEWPORT BELOW HEADER
  ======================================================= */

  .sotf-location
  > .elementor-container,

  .sotf-music
  > .elementor-container,

  .sotf-people
  > .elementor-container,

  .sotf-more
  > .elementor-container,

  .sotf-big
  > .elementor-container {

    position:
      sticky !important;

    top:
      var(
        --sotf-header-live-h,
        72px
      ) !important;

    width:
      100% !important;

    height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          72px
        )
      ) !important;

    min-height:
      calc(
        100svh -
        var(
          --sotf-header-live-h,
          72px
        )
      ) !important;

    max-height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          72px
        )
      ) !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    background:
      var(--sotf-dark);
  }


  /* =======================================================
     MOBILE VIDEO
  ======================================================= */

  .sotf-scroll-video {

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;

    object-fit:
      cover !important;

    object-position:
      center center !important;

    transform:
      translate3d(0,0,0);
  }


  .sotf-location-video {

    object-position:
      center center !important;
  }


  .sotf-music-video {

    object-position:
      50% 50% !important;
  }


  .sotf-people-video {

    object-position:
      center center !important;
  }


  .sotf-more-video {

    object-position:
      center center !important;
  }


  .sotf-big-video {

    object-position:
      center center !important;
  }


  /* =======================================================
     MOBILE VIDEO GRADIENT
  ======================================================= */

  .sotf-location-overlay,
  .sotf-music-overlay,
  .sotf-people-overlay,
  .sotf-more-overlay {

    background:
      linear-gradient(
        180deg,
        rgba(4,31,23,.01) 0%,
        rgba(4,31,23,.03) 40%,
        rgba(4,31,23,.32) 62%,
        rgba(4,31,23,.91) 100%
      );
  }


  .sotf-big-overlay {

    background:
      linear-gradient(
        180deg,
        rgba(3,23,17,.01) 0%,
        rgba(3,23,17,.05) 44%,
        rgba(3,23,17,.38) 67%,
        rgba(3,23,17,.86) 100%
      );
  }


  /* =======================================================
     MOBILE STORY COPY
  ======================================================= */

  .sotf-location
  .elementor-widget-container,

  .sotf-music
  .elementor-widget-container,

  .sotf-people
  .elementor-widget-container,

  .sotf-more
  .elementor-widget-container {

    align-items:
      flex-end !important;
  }


  .sotf-location-copy,
  .sotf-music-copy,
  .sotf-people-copy,
  .sotf-more-copy {

    width:
      calc(
        100% -
        36px
      );

    max-width:
      none;

    margin:
      0
      18px
      calc(
        28px +
        env(safe-area-inset-bottom)
      );

    color:
      #fff;
  }


  .sotf-location-copy h2,
  .sotf-music-copy h2,
  .sotf-people-copy h2,
  .sotf-more-copy h2 {

    max-width:
      96%;

    margin:
      4px
      0
      12px;

    font-size:
      clamp(
        37px,
        10.6vw,
        52px
      );

    line-height:
      .91;

    letter-spacing:
      -.035em;
  }


  .sotf-mobile-copy {

    max-width:
      94%;
  }


  .sotf-mobile-story {

    margin:
      0 !important;

    font-size:
      17px !important;

    line-height:
      1.28 !important;

    font-weight:
      650;
  }


  .sotf-mobile-detail {

    margin:
      9px
      0
      0 !important;

    max-width:
      95%;

    font-size:
      13.5px !important;

    line-height:
      1.38 !important;

    color:
      rgba(255,255,255,.75);
  }


  .sotf-more-tags {

    margin-top:
      14px;

    gap:
      5px;
  }


  .sotf-more-tags span {

    padding:
      5px
      8px;

    font-size:
      10px;
  }


  /* =======================================================
     MOBILE ARTIST
  ======================================================= */

  body.page-id-16210
  .sotf-artist-frame {

    position:
      relative !important;

    width:
      100vw !important;

    height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          72px
        )
      ) !important;

    min-height:
      calc(
        100svh -
        var(
          --sotf-header-live-h,
          72px
        )
      ) !important;

    max-height:
      calc(
        100dvh -
        var(
          --sotf-header-live-h,
          72px
        )
      ) !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    background:
      #072c20 !important;
  }


  .sotf-artist-frame
  > .elementor-container {

    position:
      relative !important;

    top:
      auto !important;

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      100% !important;

    max-height:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;

    background:
      #072c20 !important;
  }


  .sotf-artist-frame
  .elementor-column,

  .sotf-artist-frame
  .elementor-widget-wrap,

  .sotf-artist-frame
  .elementor-widget-html,

  .sotf-artist-frame
  .elementor-widget-container {

    position:
      relative !important;

    width:
      100% !important;

    height:
      100% !important;

    min-height:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      hidden !important;
  }


  .sotf-artist-stage {

    position:
      absolute !important;

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;

    margin:
      0 !important;

    overflow:
      hidden !important;

    background:
      #072c20 !important;
  }


  .sotf-artist-word {

    display:
      none !important;
  }


  .sotf-artist-window {

    position:
      absolute !important;

    inset:
      0 !important;

    width:
      100% !important;

    height:
      100% !important;

    margin:
      0 !important;

    border-radius:
      0 !important;

    clip-path:
      none !important;

    -webkit-clip-path:
      none !important;

    transform:
      none !important;

    box-shadow:
      none !important;

    overflow:
      hidden !important;

    background:
      #072c20 !important;
  }


  .sotf-artist-image {

    position:
      absolute !important;

    inset:
      0 !important;

    display:
      block !important;

    width:
      100% !important;

    height:
      100% !important;

    min-width:
      100% !important;

    min-height:
      100% !important;

    max-width:
      none !important;

    margin:
      0 !important;

    object-fit:
      cover !important;

    object-position:
      55% 50% !important;

    opacity:
      1 !important;

    visibility:
      visible !important;

    transform:
      scale(1.02) !important;
  }


  .sotf-artist-shade {

    position:
      absolute !important;

    inset:
      0 !important;

    z-index:
      2 !important;

    opacity:
      1 !important;

    background:
      linear-gradient(
        180deg,
        rgba(3,24,18,.00) 0%,
        rgba(3,24,18,.01) 38%,
        rgba(3,24,18,.18) 54%,
        rgba(3,24,18,.64) 74%,
        rgba(3,24,18,.95) 100%
      ) !important;
  }


  .sotf-artist-copy {

    position:
      absolute !important;

    left:
      18px !important;

    right:
      18px !important;

    bottom:
      calc(
        28px +
        env(safe-area-inset-bottom)
      ) !important;

    top:
      auto !important;

    z-index:
      3 !important;

    width:
      auto !important;

    max-width:
      520px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    opacity:
      1 !important;

    visibility:
      visible !important;

    transform:
      none !important;

    color:
      #fff !important;
  }


  .sotf-artist-copy
  .sotf-kicker {

    margin:
      0
      0
      8px !important;

    font-size:
      10px !important;

    letter-spacing:
      .15em !important;
  }


  .sotf-artist-copy h2 {

    max-width:
      94%;

    margin:
      0
      0
      10px !important;

    font-size:
      clamp(
        41px,
        11.8vw,
        57px
      ) !important;

    line-height:
      .90 !important;

    letter-spacing:
      -.04em !important;
  }


  .sotf-artist-copy
  .sotf-mobile-story {

    display:
      block !important;

    max-width:
      90% !important;

    margin:
      0 !important;

    font-size:
      16px !important;

    line-height:
      1.30 !important;

    color:
      rgba(255,255,255,.90) !important;
  }


  .sotf-artist-stage::after {

    content:
      "";

    position:
      absolute;

    top:
      0;

    left:
      0;

    z-index:
      4;

    width:
      100%;

    height:
      6px;

    background:
      var(--sotf-sun);

    pointer-events:
      none;
  }


  /* =======================================================
     MOBILE GUIDE
  ======================================================= */

  .sotf-guide {

    padding:
      72px
      14px
      80px !important;
  }


  .sotf-guide-head {

    margin-bottom:
      32px;

    padding:
      0 4px;
  }


  .sotf-guide-head h2 {

    margin-bottom:
      15px;

    font-size:
      clamp(
        44px,
        13vw,
        62px
      );
  }


  .sotf-guide-head
  > p:last-child {

    font-size:
      16px;
  }


  .sotf-guide-grid {

    grid-template-columns:
      1fr;

    gap:
      10px;
  }


  .sotf-guide-card {

    min-height:
      0;

    padding:
      22px;

    border-radius:
      18px;
  }


  .sotf-guide-number {

    margin-bottom:
      32px;
  }


  .sotf-guide-card h3 {

    margin:
      0
      0
      12px;

    font-size:
      28px;
  }


  .sotf-guide-card p {

    font-size:
      15px;
  }


  .sotf-guide-cta {

    margin-top:
      10px;

    padding:
      23px
      20px;

    flex-direction:
      column;

    align-items:
      flex-start;

    border-radius:
      18px;
  }


  .sotf-guide-cta
  .sotf-btn {

    width:
      100%;
  }


  /* =======================================================
     MOBILE BIG
  ======================================================= */

  .sotf-big
  .elementor-widget-container {

    align-items:
      flex-end !important;
  }


  .sotf-big-copy {

    width:
      100%;

    padding:
      0
      18px
      calc(
        28px +
        env(safe-area-inset-bottom)
      );
  }


  .sotf-big-small {

    font-size:
      18px;
  }


  .sotf-big-copy strong {

    font-size:
      clamp(
        55px,
        16.5vw,
        79px
      );

    line-height:
      .80;
  }


  /* =======================================================
     MOBILE LINEUP
  ======================================================= */

  .sotf-lineup {

    padding:
      78px
      18px !important;
  }


  .sotf-lineup h2 {

    font-size:
      clamp(
        51px,
        16vw,
        78px
      );
  }


  .sotf-coming {

    font-size:
      27px;
  }


  .sotf-lineup-copy {

    font-size:
      15px;
  }


  /* =======================================================
     MOBILE NEWS
  ======================================================= */

  .sotf-news {

    padding:
      72px
      14px
      82px !important;
  }


  .sotf-news-head {

    margin-bottom:
      30px;

    align-items:
      flex-start;

    flex-direction:
      column;

    gap:
      14px;
  }


  .sotf-news-head h2 {

    font-size:
      clamp(
        43px,
        13vw,
        62px
      );
  }


  .sotf-news-grid {

    grid-template-columns:
      1fr;

    gap:
      12px;
  }


  .sotf-news-card {

    border-radius:
      18px;
  }


  .sotf-news-card-content {

    padding:
      19px;
  }


  .sotf-news-card h3 {

    font-size:
      25px;
  }


  .sotf-news-bottom {

    margin-top:
      26px;

    flex-direction:
      column;

    gap:
      12px;
  }


  /* =======================================================
     MOBILE AFTERMOVIE
  ======================================================= */

  .sotf-aftermovie {

    padding:
      70px
      14px
      76px !important;
  }


  .sotf-aftermovie h2 {

    font-size:
      clamp(
        41px,
        12.5vw,
        60px
      );
  }


  .sotf-after-intro {

    margin-bottom:
      22px;

    font-size:
      16px;
  }


  .sotf-after-video-wrap {

    border-radius:
      12px;
  }


  /* =======================================================
     MOBILE FINAL
  ======================================================= */

  .sotf-final,
  .sotf-final-stage {

    height:
      100dvh !important;

    min-height:
      650px !important;
  }


  .sotf-final-image {

    object-position:
      50% 48%;
  }


  .sotf-final-overlay {

    background:
      linear-gradient(
        180deg,
        rgba(3,22,17,.02) 0%,
        rgba(3,22,17,.05) 38%,
        rgba(3,22,17,.48) 68%,
        rgba(3,22,17,.94) 100%
      );
  }


  .sotf-final-content {

    width:
      calc(
        100% -
        36px
      );

    margin:
      0
      18px
      calc(
        28px +
        env(safe-area-inset-bottom)
      );
  }


  .sotf-final-content h2 {

    margin-bottom:
      15px;

    font-size:
      clamp(
        43px,
        12.8vw,
        62px
      );
  }


  .sotf-final-date {

    font-size:
      21px;
  }

}


/* =========================================================
   VERY SMALL PHONES
========================================================= */

@media (max-width:390px) {

  .sotf-hero-content {

    left:
      16px !important;

    right:
      16px !important;

    bottom:
      calc(
        24px +
        env(safe-area-inset-bottom)
      ) !important;
  }


  .sotf-hero h1 {

    font-size:
      32px !important;
  }


  .sotf-hero
  .sotf-subline {

    font-size:
      16px !important;
  }


  .sotf-location-copy h2,
  .sotf-music-copy h2,
  .sotf-people-copy h2,
  .sotf-more-copy h2 {

    font-size:
      36px;
  }


  .sotf-mobile-story {

    font-size:
      16px !important;
  }


  .sotf-mobile-detail {

    font-size:
      13px !important;
  }


  .sotf-artist-copy {

    left:
      16px !important;

    right:
      16px !important;

    bottom:
      calc(
        24px +
        env(safe-area-inset-bottom)
      ) !important;
  }


  .sotf-artist-copy h2 {

    font-size:
      39px !important;
  }


  .sotf-big-copy strong {

    font-size:
      53px;
  }

}


/* =========================================================
   MOBILE LANDSCAPE
========================================================= */

@media
(max-width:900px)
and
(orientation:landscape)
and
(max-height:500px) {

  .sotf-location-copy h2,
  .sotf-music-copy h2,
  .sotf-people-copy h2,
  .sotf-more-copy h2 {

    margin-bottom:
      8px;

    font-size:
      34px;
  }


  .sotf-mobile-story {

    font-size:
      14px !important;
  }


  .sotf-mobile-detail {

    font-size:
      12px !important;
  }


  .sotf-hero h1 {

    font-size:
      34px !important;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media
(prefers-reduced-motion:reduce) {

  .sotf-hero-bg,
  .sotf-scroll-video,
  .sotf-artist-window,
  .sotf-artist-image,
  .sotf-final-image {

    transform:
      none !important;
  }

}/* End custom CSS */