/* =============================================================
   Jubilee Ministry — Theme Stylesheet
   Consolidated from SCSS partials, July 2026
   Plain CSS — no SASS build step required
   ============================================================= */


/* -------------------------------------------------------------
   BASE
   ------------------------------------------------------------- */

body {
  font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
  font-size: 12px;
  color: #020202;
  margin: 0;
  min-height: 500px;
  background: radial-gradient(#F15B22, transparent);
}

a {
  text-decoration: none;
}

h1 {
  font-size: 1.4em;
}

img {
  max-width: 100%;
}

.lefty {
  float: left;
  margin: 10px;
}

.righty {
  float: right;
  margin: 10px;
}

.no-margin {
  margin: 0;
}


/* -------------------------------------------------------------
   LAYOUT
   ------------------------------------------------------------- */

.page-wrapper {
  margin: 0 auto;
  background-color: white;
}

.content-inner {
  padding: 15px;
  overflow: hidden;
}

main.page-content {
  max-width: 960px;
  margin: 0 auto;
}
/*
.content-inner table {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}

.content-inner td {
  width: auto !important;
  box-sizing: border-box;
}
*/


/* -------------------------------------------------------------
   HEADER
   ------------------------------------------------------------- */

#header {
  background: linear-gradient(45deg, #C04A11, transparent);
  border-bottom: 5px solid #C04A11;
  margin-bottom: 10px;
  min-height: 140px;
}

#logo {
  float: left;
  margin-left: 5px;
}

#jubilee-text {
  width: 500px;
  height: 88px;
  float: right;
  object-fit: fill;
}

#head-elements {
  height: 140px;
}


/* -------------------------------------------------------------
   NAVIGATION
   ------------------------------------------------------------- */

#block-jubilee-main-menu {
  float: left;
  z-index: 2;
  margin: 0;
  top: 4px;
  position: relative;
  background: #1a1a1a;
  padding: 10px 0;
  width: 100%;
}

#block-jubilee-account-menu {
  margin-top: 12px;
  text-transform: uppercase;
}

#block-jubilee-main-menu ul,
#block-jubilee-account-menu ul {
  list-style: none;
  margin: 0;
  padding: 7px 0;
}

#block-jubilee-account-menu ul {
  margin: 0 -5px 10px 9px;
}

#block-jubilee-account-menu.log-in-or-out > ul {
  margin: -2px -5px 10px 0;
  display: inline-block;
}

#block-jubilee-main-menu li,
#block-jubilee-account-menu li {
  position: relative;
  display: inline-block;
}

/* Dropdown menus */
#block-jubilee-main-menu ul ul {
  display: block;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 1s linear;
  position: absolute;
  left: -1px;
  top: 25px;
  min-width: 200px;
  margin: 0;
  padding: 0;
  z-index: 1;
}

#block-jubilee-main-menu ul ul li {
  display: block;
  background-color: #1a1a1a;
  width: 100%;
  padding: 12px 20px;
  box-shadow: 3px 4px 10px 0 black;
}

#block-jubilee-main-menu ul li:hover ul {
  display: block;
  visibility: visible;
  opacity: 1;
}

/* Nav items */
#block-jubilee-main-menu ul li,
#block-jubilee-account-menu ul li {
  display: inline;
  padding: 6px 21px;
}

#block-jubilee-main-menu ul li a,
#block-jubilee-account-menu ul li a {
  text-decoration: none;
  color: white;
  font-weight: normal;
  letter-spacing: 1px;
}

#block-jubilee-main-menu ul li a:hover {
  text-decoration: none;
  border-bottom: 2px solid #F15B22;
  padding-bottom: 2px;
}

#block-jubilee-main-menu ul li a.is-active {
  font-weight: bold;
  border-bottom: 2px solid #F15B22;
  padding-bottom: 2px;
}


/* -------------------------------------------------------------
   EDITOR / ADMIN TOOLBAR
   ------------------------------------------------------------- */

#block-jubilee-local-tasks ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#block-jubilee-local-tasks li {
  display: inline-block;
}

#block-jubilee-local-tasks a {
  text-decoration: none;
  color: #000;
  border: 1px solid #DDD;
  background-color: white;
  text-align: center;
  padding: 6px;
  display: inline-block;
}

#block-jubilee-local-tasks a.is-active {
  color: #ffffff;
  background: linear-gradient(#F15B22, rgba(0, 0, 0, 0.8));
}

#block-jubilee-local-tasks a:hover {
  color: #ffffff;
  background-color: #F15B22;
}

.node-1 .editor-buttons {
  display: none;
}


/* -------------------------------------------------------------
   SIDEBAR
   ------------------------------------------------------------- */

#block-frontpageinformationwidget-2 {
  float: right;
  margin: 15px;
  width: 220px;
  background-color: #cbb8e8;
  border-radius: 5px;
  padding: 5px;
  text-align: center;
  box-sizing: border-box;
}

.sideblock {
  float: left;
  clear: left;
  width: 220px;
  border-radius: 10px;
  margin: 10px;
  background: rgba(0, 0, 0, 0.1);
}

.sideblock h2:first-child {
  background: #F15B22;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  color: white;
  margin: 0;
  padding: 10px 5px;
  font-size: 12px;
  text-align: center;
}

.sideblock p {
  padding: 10px;
  margin: 0;
}

@media only screen and (max-width: 768px) {
  .sideblock {
    width: 100%;
    clear: both;
    margin: 0;
  }
}


/* -------------------------------------------------------------
   MUSIC PLAYER (Musify)
   ------------------------------------------------------------- */

.musify {
  width: 300px;
  margin: 0 auto;
}

.musify-button {
  display: inline-block;
  width: 32.5%;
  background-color: #000;
  border: 1px solid #DDD;
  padding: 5px 25px;
  color: #DDD;
  font-weight: bold;
  margin: -3px 0 20px 0;
  text-align: center;
  user-select: none;
}

.musify-button:hover {
  background-color: #CCC;
}

.musify-track-title {
  color: white;
  background-color: black;
  text-align: center;
  letter-spacing: 0.15em;
  font-style: italic;
  font-size: 16px;
  font-weight: bold;
  padding: 5px;
  text-shadow: 1px -1px 0 #767676, -1px 2px 1px #737272;
}

.safari-sucks {
  background-color: #000;
  border: 1px solid #DDD;
  padding: 7px 0;
}

.safari-sucks a {
  color: white;
}


/* -------------------------------------------------------------
   MUSIC ALBUMS
   ------------------------------------------------------------- */

.button {
  padding: 10px 12px;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 5px;
  color: white;
  font-weight: bold;
  font-size: 14px;
}

.album {
  position: relative;
  width: 250px;
  margin: 0 auto;
  text-align: center;
}

.listing {
  position: absolute;
  top: 0;
  width: 100%;
  height: 210px;
  margin-top: 10px;
  padding: 10px 0;
  opacity: 0;
  font-weight: bold;
  font-size: 14px;
}

.listing:hover {
  background: rgba(250, 250, 250, 0.8);
  opacity: 1;
}

.listing .album-clicked {
  background: rgba(250, 250, 250, 0.8);
  opacity: 1;
}

.listing a {
  color: black;
}


/* -------------------------------------------------------------
   MONTHLY REPORT FORM
   ------------------------------------------------------------- */

#contact-message-jubilee-academy-monthly-report-form .fieldset-wrapper div {
  margin: 5px 0;
}

.subject-group label {
  display: none;
}

.subject-group .form-wrapper {
  width: 16%;
  display: inline-block;
}

.subject-group input {
  width: 100%;
}

div.subject-group,
div.field--type-string {
  margin: 0 !important;
}

.field--name-field-first-name label {
  width: 20%;
}

.field--name-field-first-name input {
  width: 50%;
}


/* -------------------------------------------------------------
   MOBILE MENU
   ------------------------------------------------------------- */

.jubilee-hamburger {
  display: none;
}

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

  /* Nav bar strip — always visible, contains hamburger */
  #block-jubilee-main-menu {
    position: relative;
    width: 100%;
    background: #1a1a1a;
    padding: 0;
    min-height: 55px;
    float: none;
    top: -5px;
    margin-bottom: -5px;
  }

  /* Hide the visually-hidden h2 so it doesn't affect layout */
  #block-jubilee-main-menu h2.visually-hidden {
    display: none;
  }

  /* Hamburger button — pinned top right */
  .jubilee-hamburger {
    display: block;
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 100;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px;
  }

  .jubilee-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: white;
    margin: 5px 0;
    transition: all 0.25s ease;
  }

  /* Animate to X */
  .jubilee-hamburger.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .jubilee-hamburger.is-active span:nth-child(2) {
    opacity: 0;
  }
  .jubilee-hamburger.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* Hide menu UL by default */
  #block-jubilee-main-menu ul {
    display: none !important;
    margin: 0;
    padding: 0;
  }

  /* Show when open */
  #block-jubilee-main-menu.nav-open > ul {
    display: block !important;
    border-top: 2px solid #F15B22;
  }

  /* Top level items — consistent height via stretch */
  #block-jubilee-main-menu ul li,
  #block-jubilee-main-menu ul li:hover {
    display: flex !important;
    align-items: stretch !important;
    padding: 0 !important;
    width: 100%;
    min-height: 48px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: #1a1a1a;
  }

  /* Nav links — fill full height, centered vertically */
  #block-jubilee-main-menu ul li a {
    flex: 1;
    display: flex !important;
    align-items: center;
    padding: 0 20px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #e0e0e0;
    min-height: 48px;
    border-bottom: none !important;
  }

  #block-jubilee-main-menu ul li a:hover {
    color: #F15B22;
    border-bottom: none !important;
  }

  #block-jubilee-main-menu ul li a.is-active {
    color: #F15B22;
    font-weight: 700;
    border-bottom: none !important;
  }

  /* Submenu toggle — same height as nav item */
  .jubilee-submenu-toggle {
    background: transparent;
    border: none;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    color: #888;
    font-size: 18px;
    font-weight: 300;
    line-height: 1;
    padding: 0 18px;
    cursor: pointer;
    flex-shrink: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    transition: color 0.2s;
  }

  .jubilee-submenu-toggle:hover {
    color: #F15B22;
  }

  /* Submenu UL — flat, no shadow, darker background */
  #block-jubilee-main-menu ul ul {
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    background: #111 !important;
    border-top: none;
    padding: 0 !important;
  }

  /* Show submenu when expanded */
  #block-jubilee-main-menu li.submenu-open > ul {
    display: block !important;
  }

  /* Submenu items — consistent height, indented */
  #block-jubilee-main-menu ul ul li {
    background: #111 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    padding: 0 !important;
    min-height: 44px;
    box-shadow: none !important;
  }

  #block-jubilee-main-menu ul ul li a {
    padding: 0 20px 0 36px !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    color: #999 !important;
    min-height: 44px;
    display: flex !important;
    align-items: center;
  }

  #block-jubilee-main-menu ul ul li a:hover {
    color: #F15B22 !important;
  }

}

