/* LOGIN BAR (top strip with username/log out) Extends purple background edge to edge */
.zoneHeader1 {
  background-color: #6f7394;
}

/* =============================================
   HEADER BACKGROUND - TAN LINE
   Removes the original bg-rev.jpg image and
   recreates the tan/gold line as a CSS border.
   Adjust bottom value to reposition the line,
   height to change thickness.
   ============================================= */
.zoneHeader2 {
  background-image: none !important;
  position: relative;
}

.zoneHeader2::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 158px !important;
  left: 0 !important;
  width: 100% !important;
  height: 2px !important;
  background-color: rgb(166, 154, 120) !important;
  z-index: 999 !important;
}

/* =============================================
   LOGIN BAR - PROFILE LINKS WHITE TEXT
   Forces username and profile links to white
   on the purple background
   ============================================= */
.loginBoxProfileLink,
.loginBoxProfileLink a {
  color: #ffffff !important;
}

/* =============================================
   MEMBERSHIP HUB - LOGIN FORM TEXT & LINKS
   Makes username, profile links, and log out
   visible and styled on the cream background
   ============================================= */
.loginPasswordForgot a,
.loginActionRememberMe,
.loginActionRememberMe label {
  color: #6f7394 !important;
}

.loginPasswordForgot a:hover {
  color: #6fb9ab !important;
}

/* =============================================
   MEMBERSHIP HUB - REMEMBER ME & FORGOT PASSWORD
   Makes these visible on the cream background
   ============================================= */
#id_Me2KwKU .loginPasswordForgot,
#id_Me2KwKU .loginActionRememberMe {
  color: #6f7394 !important;
}

#id_Me2KwKU .loginPasswordForgot:hover,
#id_Me2KwKU .loginActionRememberMe:hover {
  color: #6fb9ab !important;
}

/*NAV BAR BOTTOM BORDER Adds thin purple stripe below orange nav bar */
.zoneHeader3 {
  border-bottom: 18px solid #6f7394;
}

/* NAV BAR BOTTOM SPACING
   Removes default padding so purple stripe
   sits flush against the orange nav bar*/

.WaPlaceHolderHeader2 > div {
  padding-bottom: 0 !important;
}


/* NAV BAR HEIGHT & ITEM SPACING
   Reduces height of orange navigation bar
   and tightens space between menu items */
.menuStyle006 ul li a {
  padding: 15px 15px !important;
}

/* SECONDARY MENU GADGET LINK COLORS
   Used on Membership and Membership Hub pages
   for anchor link menus (e.g. Why Membership |
   Member Benefits | etc.)*/

.WaGadgetCustomMenu a,
.WaGadgetCustomMenu li a {
  color: #dc6446 !important;
}

.WaGadgetCustomMenu a:hover,
.WaGadgetCustomMenu li a:hover {
  color: #6fb9ab !important;
}


/*SECONDARY MENU GADGET DIVIDER COLOR
   Colors the | separators between menu items */
.WaGadgetCustomMenu li + li::before {
  color: #dc6446 !important;
}


/* Import Open Sans font */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&display=swap');

/* Apply Open Sans to the entire membership form */
.membership-form-custom,
.membership-form-custom * {
  font-family: 'Open Sans', sans-serif !important;
}
/* Membership level name + price - 24px, not bold */
.membership-form-custom [id*="levelLabel"],
.membership-form-custom span[id$="levelLabel"],
.membership-form-custom .levelPrice,
.membership-form-custom span[id$="price"] {
  font-size: 24px !important;
  font-weight: 500 !important;
  color: #000000 !important;
}
/* Hide subscription period and recurring payment text */
.membership-form-custom .levelRecurring,
.membership-form-custom span[id$="recurring"],
.membership-form-custom .levelRenewal,
.membership-form-custom span[id$="renewal"] {
  display: none !important;
}
/* Description - smaller, gray */
.membership-form-custom .levelDescription,
.membership-form-custom span[id$="description"] {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #555555 !important;
  display: block !important;
  margin-top: 4px !important;
}
/* Spacing between membership level rows - no dividers */
.membership-form-custom .fieldItem {
  margin-bottom: 24px !important;
}
.membership-form-custom .fieldItem:last-child {
  margin-bottom: 0 !important;
  

/* Main learning objectives expandable box */
.learning-objectives {
  border: 2px solid #6f7394 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin-top: 20px !important;
  background-color: #ffffff !important;
}
.learning-objectives summary {
  font-family: 'Open Sans', sans-serif !important;
  cursor: pointer !important;
  list-style: none !important;
  padding: 12px 10px !important;
  position: relative !important;
  padding-left: 45px !important;
}
.learning-objectives summary:hover {
  color: #dc6446 !important;
}
/* Hide default arrow markers */
.learning-objectives summary::-webkit-details-marker {
  display: none !important;
}
.learning-objectives summary::marker {
  display: none !important;
}
/* Add caret BEFORE "View Year 1 Learning Objectives" - closed state (pointing down) */
.learning-objectives summary:before {
  content: "›" !important;
  font-size: 30px !important;
  position: absolute !important;
  left: 10px !important;
  top: 12px !important;
  color: #dc6446 !important;
  transform: rotate(90deg) !important;
  transform-origin: center center !important;
  display: inline-block !important;
  font-weight: bold !important;
  transition: transform 0.3s ease !important;
  will-change: transform !important;
}
/* Caret when main dropdown is open (pointing up) */
.learning-objectives[open] summary:before {
  content: "›" !important;
  transform: rotate(270deg) !important;
}
/* Main objectives title styling - 24pt bold */
.main-objectives-title {
  font-size: 24pt !important;
  font-weight: bold !important;
  color: #dc6446 !important;
}
/* Content inside the main expandable */
.objectives-content {
  margin-top: 20px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e0e0e0 !important;
}
/* Individual topic dropdowns (nested) */
.topic-detail {
  border-left: 3px solid #dc6446 !important;
  padding-left: 15px !important;
  margin-bottom: 15px !important;
  background-color: #f9f9f9 !important;
  border-radius: 4px !important;
}
.topic-detail summary {
  font-family: 'Open Sans', sans-serif !important;
  cursor: pointer !important;
  list-style: none !important;
  padding: 12px 10px !important;
  position: relative !important;
  padding-left: 30px !important;
}
/* Hide default markers for topic details */
.topic-detail summary::-webkit-details-marker {
  display: none !important;
}
.topic-detail summary::marker {
  display: none !important;
}
/* Add custom caret for topic details - CLOSED state */
.topic-detail summary::before {
  content: "›" !important;
  font-size: 30px !important;
  position: absolute !important;
  left: 8px !important;
  top: 8px !important;
  color: #000000 !important;
  transform: rotate(90deg) !important;
  transform-origin: center center !important;
  display: inline-block !important;
  transition: transform 0.3s ease !important;
  will-change: transform !important;
  line-height: 1 !important;
}
/* Caret when topic is OPEN */
.topic-detail[open] summary::before {
  transform: rotate(270deg) !important;
}
/* Topic title - first line, black, 18pt */
.topic-title {
  display: block !important;
  font-size: 18pt !important;
  font-weight: 500 !important;
  color: #000000 !important;
  line-height: 1.3 !important;
}
/* Faculty name - second line, black, italic */
.faculty {
  display: block !important;
  font-weight: normal !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: #000000 !important;
  margin-top: 5px !important;
}
/* Lists inside topic details */
.topic-detail ul {
  margin: 15px 0 10px 20px !important;
  padding-left: 20px !important;
}
.topic-detail li {
  margin-bottom: 10px !important;
  line-height: 1.6 !important;
  color: #333 !important;
  font-size: 16pt !important;
}
#id_svH7x7B {
  overflow: visible !important;
  position: relative !important;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}

#id_svH7x7B::before,
#id_svH7x7B::after {
  content: "";
  position: absolute;
  z-index: -2;
  bottom: 15px;
  left: 10px;
  width: 50%;
  height: 20%;
  max-width: 300px;
  visibility: visible;
  box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
  transform: rotate(-3deg);
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
}

#id_svH7x7B::after {
  right: 10px;
  left: auto;
  transform: rotate(3deg);
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
}