/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
/* ===== Heading Banner Particle ===== */
.pby-headingbanner {
  position: relative;
  isolation: isolate;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: var(--hb-height, 520px);
  display: flex;
  align-items: center;
  /* vertical center */
  overflow: hidden;
}
@media (max-width: 768px) {
  .pby-headingbanner {
    height: var(--hb-height-mobile, 320px);
  }
}
/* Dark overlay layer (color + opacity controlled by CSS vars) */
.pby-headingbanner__overlay {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--hb-overlay-color, #000);
  opacity: var(--hb-overlay-opacity, 0.45);
  pointer-events: none;
  z-index: 0;
}
/* Content wrapper */
.pby-headingbanner__inner {
  position: relative;
  z-index: 1;
  width: 100%;
}
.pby-headingbanner__content {
  max-width: 80ch;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.pby-headingbanner.is-left .pby-headingbanner__content {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}
.pby-headingbanner.is-right .pby-headingbanner__content {
  text-align: right;
  margin-left: auto;
  margin-right: 0;
}
/* Icon above heading */
.pby-headingbanner__icon {
  display: inline-block;
  margin: 0 0 0.35rem;
  line-height: 1;
}
/* Title & description (fonts inherit from your template) */
.pby-headingbanner__title {
  margin: 0 0 0.5rem;
  line-height: 1.1;
}
.pby-headingbanner__desc {
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 80ch;
}
.pby-headingbanner__cta {
  margin-top: 0.9rem;
}
/* Bottom edge area */
.pby-headingbanner__edge {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: var(--hb-edge-height, 48px);
  line-height: 0;
  z-index: 1;
}
.pby-headingbanner__edge svg {
  display: block;
  width: 100%;
  height: 100%;
}
.gp_content3 {
  position: relative;
}
.gp_content3 h3, .gp_content3 h4 {
  margin: 0 0 8px;
}
.gp_content3 > .g-grid.gp_center {
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
}
.gp_content3 .gp_content {
  position: relative;
}
.gp_content3 .gp_buttons {
  margin-top: 1rem;
}
.gp_content3 .gp_buttons a {
  margin-bottom: 10px;
}
.gp_content3 .gp_text > div {
  padding: 1.563rem;
}
.gp_content3 .gp_text > div > div {
  margin-bottom: 1.5rem;
}
.gp_content3 .gp_text.gp_img_right {
  margin-left: auto;
}
@media only all and (min-width: 75rem) {
  .gp_content3 .gp_text {
    max-width: 37.5rem;
  }
}
@media only all and (min-width: 60rem) and (max-width: 74.99rem) {
  .gp_content3 .gp_text {
    width: 30rem;
  }
}
@media only all and (min-width: 60rem) {
  .gp_content3 .gp_text_left {
    margin-right: 2rem;
  }
  .gp_content3 .gp_text_right {
    margin-left: 2rem;
  }
}
@media only all and (max-width: 59.99rem) {
  .gp_content3 .g-block {
    -webkit-flex-grow: 0;
    -moz-flex-grow: 0;
    flex-grow: 0;
    -ms-flex-positive: 0;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
  }
}
.outline-18 #g-intro {
  padding: 1rem 0;
}
/* ===== Main Nav Top-Level Menu Item Caps ===== */
.g-main-nav .g-toplevel > li > .g-menu-item-container > .g-menu-item-content {
  text-transform: uppercase;
}
/* ----------------------------------------------------
   Dropdown Menu Redesign
   Light Gray Background + Bold Links + Clean SVG Carets
----------------------------------------------------- */
/* Main dropdown panel */
.g-dropdown {
  background: #E6E7EB !important;
  border: none !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  padding: 0 !important;
}
.g-dropdown .g-grid, .g-dropdown .g-block {
  border: none !important;
}
.g-dropdown .g-sublevel .g-menu-item-container {
  padding: 14px 18px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  transition: background 0.15s ease;
}
/* Remove last divider */
.g-dropdown .g-sublevel li:last-child .g-menu-item-container {
  border-bottom: none;
}
/* Dropdown text */
.g-dropdown .g-menu-item-title {
  color: #2A2A2F !important;
  font-weight: 600;
  font-size: 0.95rem;
}
/* Hover */
.g-dropdown .g-menu-item-container:hover {
  background: rgba(0, 0, 0, 0.05);
}
/* ----------------------------------------------------
   Menu > Carat
----------------------------------------------------- */
/* Kill any default caret styling */
.g-menu-parent-indicator {
  all: unset !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-left: 6px !important;
  width: 12px !important;
  height: 12px !important;
  pointer-events: none !important;
}
/* Insert SVG caret */
.g-menu-parent-indicator::after {
  content: url('data:image/svg+xml;utf8,<svg%20width='10'%20height='10'%20xmlns='http://www.w3.org/2000/svg'><path%20d='M1%203%20L5%207%20L9%203'%20stroke='%234B3C97'%20stroke-width='2'%20fill='none'%20stroke-linecap='round'/></svg>') !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
}
/* Hide on mobile */
@media (max-width: 768px) {
  .g-menu-parent-indicator, .g-menu-parent-indicator::after {
    display: none !important;
  }
}
/* ----------------------------------------------------
   Active top-level item
----------------------------------------------------- */
.g-toplevel > li.active > .g-menu-item-container .g-menu-item-title, .g-toplevel > li:hover > .g-menu-item-container .g-menu-item-title {
  font-weight: 700;
  color: #54545E !important;
  border-bottom: 2px solid #4B3C97;
  padding-bottom: 4px;
}
/* ===== Strong Inner Page Header (Enhanced) ===== */
.page-header-simple {
  padding: 20px 0 30px;
  position: relative;
  /* For the purple line */
}
.page-header-simple h1 {
  font-size: 3.4rem;
  font-weight: 800;
  margin: 0 0 24px;
  color: #2A2A2F;
  line-height: 1.1;
  letter-spacing: -0.3px;
  /* subtle polish */
}
.page-header-simple .page-subtitle {
  font-size: 1.5rem;
  font-weight: 300;
  margin: 0 0 45px;
  color: #54545E;
  max-width: 720px;
  line-height: 1.55;
}
/* ===== Purple Animated Underline (Refined) ===== */
.page-header-simple::after {
  content: "";
  display: block;
  width: 220px;
  /* longer */
  height: 2px;
  /* thinner = more elegant */
  background-color: #4B3C97;
  /* Sweetwater purple */
  border-radius: 2px;
  /* Start hidden & shifted */
  opacity: 0;
  transform: translateY(12px);
  /* Animation */
  animation: underlineIn 0.7s ease-out forwards;
}
/* Animation keyframes */
@keyframes underlineIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ===== Footer Contact Section ===== */
.footer-contact i {
  margin-right: 6px;
  color: #7180B9;
  /* Light Slate Blue for contrast */
}
/* Directions button */
.directions-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: #4B3C97;
  /* Sweetwater Purple */
  color: #ffffff !important;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
/* Make the icon inside the button readable */
.directions-button i {
  color: #ffffff !important;
  margin-right: 6px;
}
/* Hover: darker purple, still fully readable */
.directions-button:hover {
  background-color: #3c307a;
  color: #ffffff !important;
}
/* Small, subtle I-80 note under address */
.museum-exit-note {
  font-size: 0.85rem;
  color: #bfc4d4;
  /* subtle light grey-blue */
  margin-top: 6px;
  margin-bottom: 12px;
  line-height: 1.3;
}
.readmore-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: #4B3C97;
  /* Sweetwater Purple */
  color: #ffffff !important;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.readmore-button:hover {
  background-color: #3c307a;
  /* slightly darker purple */
  color: #ffffff !important;
}
/* Icon inside the button stays readable */
.readmore-button i {
  margin-right: 6px;
  color: #ffffff !important;
}
/* Icons in footer sections (outside buttons) use lighter accent */
.footer-about i, .footer-contact i {
  color: #7180B9;
}
#g-footer a:hover {
  color: #7180B9;
}
/* ===== Footer Explore Section ===== */
.footer-explore ul.explore-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-explore ul.explore-links li {
  margin: 6px 0;
}
.footer-explore ul.explore-links a {
  text-decoration: none;
  color: #ffffff;
  /* your footer text color */
}
.footer-explore ul.explore-links a:hover {
  text-decoration: underline;
  /* subtle, clean hover */
}
.footer-explore i {
  color: #7180B9;
  /* Slate Blue accent */
  margin-right: 6px;
  font-size: 0.9em;
  /* looks better than full-size icon */
  position: relative;
  top: 1px;
  /* aligns icon with text */
}
/* ===== Staff / Board List Base Styles ===== */
.staff-list {
  margin-top: 20px;
  /* no max-width – use full content width */
}
.staff-list h3 {
  font-size: 1.6rem;
  margin-bottom: 25px;
  color: #2A2A2F;
}
.staff-member {
  padding: 14px 0;
  font-size: 1.15rem;
  border-bottom: 1px solid #E6E7EB;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
/* Titles: charcoal + bold */
.staff-title {
  color: #2A2A2F;
  font-weight: 600;
}
/* Names: Sweetwater purple */
.staff-name {
  color: #4B3C97;
  font-weight: 500;
}
/* Hover tint for entire row */
.staff-member:hover {
  background-color: rgba(75, 60, 151, 0.04);
}
.info-box {
  margin-top: 40px;
  padding: 20px 24px;
  border-radius: 4px;
  background-color: #F6F4FB;
}
/* ===== Museum Feature Boxes (Mission / Vision / Purpose) ===== */
/* Proper Gantry block spacing */
.museum-feature-row > .g-block {
  padding: 0 12px;
  /* Gives the left/right spacing that Gantry normally provides */
  display: flex;
  /* Allows equal height */
}
/* Mobile: stack full width cleanly */
@media (max-width: 768px) {
  .museum-feature-row > .g-block {
    padding: 0 !important;
    margin-bottom: 20px;
  }
}
/* Base card style */
.museum-feature-box {
  padding: 32px 26px;
  border-radius: 10px;
  text-align: center;
  min-height: 100%;
  width: 100%;
  /* ensures card stretches inside g-block */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  color: #2A2A2F;
}
/* Box colors */
.mission-box {
  background: #F1EDFA;
  /* soft lavender */
}
.vision-box {
  background: #F5F8FF;
  /* soft blue */
}
.purpose-box {
  background: #E6E7EB;
  /* your requested light gray */
}
/* Icons */
.museum-feature-icon {
  font-size: 46px;
  color: #4B3C97;
  margin-bottom: 18px;
}
/* Titles */
.museum-feature-box h4 {
  margin: 0 0 14px;
  font-size: 1.55rem;
  font-weight: 700;
}
/* Body text */
.museum-feature-box p {
  margin: 0;
  line-height: 1.55;
  color: #2A2A2F;
}
/* Hover */
.museum-feature-box:hover {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}
/* ===== Clean Inline Social Icons ===== */
.museum-social-inline {
  display: flex;
  gap: 22px;
  margin-top: 50px;
}
.museum-social-inline a {
  color: #7180B9;
  font-size: 26px;
  transition: color 0.25s ease, transform 0.25s ease;
  text-decoration: none !important;
}
.museum-social-inline a:hover {
  color: #ffffff;
  transform: translateY(-3px);
}
/* ===== Top Utility Bar (Hours + Phone) ===== */
.top-utility-bar {
  font-size: 0.95rem;
  /* background / border colors handled in template */
}
/* Main row – desktop: hours left, phone right */
.top-utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 16px;
}
/* Hours group */
.top-util-hours {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
/* Icons */
.top-util-hours i, .top-util-phone i {
  color: #4B3C97;
  /* accent purple */
  margin-right: 4px;
}
/* Divider between hours + closed text */
.top-hours-divider {
  margin: 0 8px;
  opacity: 0.5;
}
/* Phone link */
.top-util-phone a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #2A2A2F;
  text-decoration: none;
  transition: color 0.2s ease;
}
.top-util-phone a:hover {
  color: #4B3C97;
}
/* ===== Clean Mobile Layout – Hours inline, centered ===== */
@media (max-width: 768px) {
  /* Hours group turns into a horizontal inline row on mobile */
  /* Hide divider */
  /* Closed Sunday text sits as its own centered line */
  /* Phone centered under everything */
  .top-utility-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 12px 0;
    gap: 10px;
  }
  .top-util-hours {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
  }
  .top-util-hours i {
    margin-right: 4px;
    /* icon next to hours */
  }
  .top-hours-divider {
    display: none;
  }
  .top-hours-closed {
    width: 100%;
    text-align: center;
    margin-top: -4px;
  }
  .top-util-phone {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}
#g-copyright a {
  color: #F2F2F5 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
#g-copyright a:hover {
  color: #FFFFFF !important;
  text-decoration: underline;
}
/* ============================================================
   DONATION CTA — CLEAN + SIMPLE
============================================================ */
/* CTA box */
.donation-cta-box {
  background: #F6F4FB;
  padding: 32px 40px;
  border-radius: 8px;
  margin: 40px 0 50px;
}
/* Heading */
.donation-cta-box h2 {
  margin-top: 0;
  font-size: 1.9rem;
  font-weight: 800;
  color: #2A2A2F;
}
/* Body text */
.donation-cta-box p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #2A2A2F;
  margin-bottom: 20px;
}
/* Emphasis paragraph */
.donation-cta-box .donation-highlight {
  font-style: italic;
  color: #4B3C97;
  margin-bottom: 26px;
}
/* PayPal button wrapper (keeps functionality) */
.paypal-wrap {
  margin: 10px 0 10px;
}
/* Generic section divider */
.section-divider {
  border: 0;
  border-top: 1px solid #DADBE2;
  margin: 50px 0 40px;
}
/* Fix Event Booking upcoming list layout for cleaner stacking */
/* Force the details table to appear BELOW the description */
#eb-events .eb-event .eb-description .row {
  display: block;
}
#eb-events .eb-event .eb-description-details {
  width: 100% !important;
  max-width: 100%;
  float: none;
}
#eb-events .eb-event .eb-event-properties-table {
  width: 100% !important;
  max-width: 100%;
  float: none;
  margin-top: 25px;
}
/* Make table look cleaner and modern */
#eb-events .table {
  border: 1px solid #ddd;
  border-radius: 6px;
}
#eb-events .table td {
  padding: 10px 14px;
}
/* ============================================================
NEWS
============================================================ */
.museum-article-images {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 0 20px;
}
.museum-article-images img {
  flex: 1 1 260px;
  max-width: 100%;
  height: auto;
  border: 1px solid #d0d0d5;
  border-radius: 6px;
}
/* ============================================================
   STAFF PAGE — CARD GRID WITH INLINE BIO TOGGLE
============================================================ */
.museum-staff-grid {
  margin-top: 20px;
}
.museum-staff-card {
  background: #F8F6FC;
  border: 1px solid #E6E7EB;
  border-radius: 10px;
  padding: 22px 22px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  height: 100%;
}
.museum-staff-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
  background: #ffffff;
}
.museum-staff-card-top {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.museum-staff-photo-wrap {
  width: 150px;
  flex: 0 0 150px;
  border-radius: 8px;
  overflow: hidden;
  background: #E6E7EB;
}
.museum-staff-photo {
  width: 100%;
  height: 225px;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.museum-staff-summary {
  flex: 1 1 auto;
}
.museum-staff-summary h3 {
  margin: 0 0 6px;
  font-size: 1.7rem;
  color: #2A2A2F;
  line-height: 1.2;
}
/* ROLE / SUBHEADING */
.museum-staff-role {
  margin: 0 0 16px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #4B3C97;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(75, 60, 151, 0.16);
}
/* VIEW BIO TOGGLE */
.museum-staff-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  padding: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #4B3C97;
  cursor: pointer;
  transition: color 0.2s ease;
}
.museum-staff-toggle:hover {
  color: #3c307a;
}
.museum-staff-toggle-icon {
  display: inline-block;
  width: 20px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
}
.museum-staff-toggle-text {
  line-height: 1.2;
}
/* BIO */
.museum-staff-bio {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #E6E7EB;
}
.museum-staff-bio p {
  margin-bottom: 14px;
  line-height: 1.65;
  color: #54545E;
}
.museum-staff-bio p:last-child {
  margin-bottom: 0;
}
/* MOBILE */
@media (max-width: 767px) {
  .museum-staff-card-top {
    flex-direction: column;
  }
  .museum-staff-photo-wrap {
    width: 180px;
    flex: 0 0 auto;
  }
  .museum-staff-photo {
    height: 270px;
  }
}
/* ==========================================================
   Museum News Photo Gallery (STANDARD)
   UIkit 2.27.4 compatible
   Use for ALL photo-heavy news articles
   ========================================================== */
.news-photo-gallery {
  margin-top: 30px;
}
/* Ensure equal-height grid columns */
.news-photo-gallery > div {
  display: flex;
}
/* Card wrapper */
.news-photo-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #d0d0d5;
  overflow: hidden;
}
/* Fixed image window for uniform rows */
.news-photo-frame {
  height: 360px;
  /* desktop standard */
  background: #f5f5f8;
  overflow: hidden;
}
/* Image behavior */
.news-photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
/* Hover effect */
.news-photo-frame:hover img {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
/* Caption */
.news-photo-caption {
  padding: 10px 12px;
  font-size: 0.9rem;
  color: #54545E;
  line-height: 1.35;
  flex-grow: 1;
}
/* Mobile adjustment */
@media (max-width: 640px) {
  .news-photo-frame {
    height: 280px;
  }
}
/* ============================================================
   LEARN PAGES — BASE STYLES
============================================================ */
/* Intro text block */
.learn-intro {
  margin-bottom: 50px;
}
.learn-intro h2 {
  font-size: 2.4rem;
  margin-bottom: 16px;
}
.learn-intro p {
  font-size: 1.15rem;
  line-height: 1.6;
}
/* ============================================================
   LEARN PROGRAM GRIDS
============================================================ */
/* Default Learn grid
   — used for general program listings, future pages */
.learn-program-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
}
/* Explicit 2x2 grid
   — ONLY for Education Programs top section */
.learn-program-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* Mobile behavior (all Learn grids) */
@media (max-width: 768px) {
  .learn-program-grid, .learn-program-grid--two {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   LEARN PROGRAM CARDS
============================================================ */
.learn-program-card {
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.learn-program-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.15);
}
/* Optional card images */
.learn-program-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
@media (max-width: 768px) {
  .learn-program-card img {
    height: 200px;
  }
}
/* ============================================================
   CARD CONTENT
============================================================ */
.learn-program-content {
  padding: 22px 24px 26px;
}
.learn-program-content h3 {
  margin: 0 0 12px;
  font-size: 1.5rem;
  color: #2A2A2F;
}
.learn-program-content p {
  margin-bottom: 12px;
  line-height: 1.55;
}
/* ============================================================
   EDUCATION PROGRAM DETAIL SECTIONS
============================================================ */
.learn-detail {
  margin-top: 10px;
  scroll-margin-top: 110px;
  /* protects anchor jumps under header */
}
.learn-detail h2 {
  margin-top: 0;
}
.learn-list {
  margin: 12px 0 18px;
  padding-left: 20px;
}
.learn-list li {
  margin-bottom: 6px;
}
/* ============================================================
   HOME — QUICK INFO STRIP (2x2)
============================================================ */
.museum-quickinfo {
  margin: 0;
  /* keep tight under hero */
  padding: 22px 0 10px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
/* 2x2 behavior (tablet + mobile) */
@media (max-width: 960px) {
  .museum-quickinfo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .museum-quickinfo {
    grid-template-columns: 1fr;
  }
}
.quickinfo-card {
  background: #F6F4FB;
  border: 1px solid #E6E7EB;
  border-radius: 10px;
  padding: 16px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.quickinfo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
  background: #ffffff;
}
.quickinfo-icon {
  font-size: 28px;
  line-height: 1;
  color: #4B3C97;
  margin-top: 2px;
  width: 34px;
  text-align: center;
  flex: 0 0 34px;
}
.quickinfo-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #2A2A2F;
  margin: 0 0 4px;
}
.quickinfo-sub {
  font-size: 0.98rem;
  color: #54545E;
  line-height: 1.35;
}
/* ============================================================
   HOME — PLAN A VISIT
============================================================ */
.plan-visit {
  margin: 40px 0 20px;
}
.plan-visit-head h2 {
  margin: 0 0 10px;
  font-size: 2.2rem;
  font-weight: 800;
  color: #2A2A2F;
}
.plan-visit-head p {
  margin: 0 0 18px;
  font-size: 1.15rem;
  line-height: 1.55;
  color: #54545E;
  max-width: 820px;
}
.plan-visit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 960px) {
  .plan-visit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .plan-visit-grid {
    grid-template-columns: 1fr;
  }
}
.plan-card {
  background: #ffffff;
  border: 1px solid #E6E7EB;
  border-radius: 10px;
  padding: 18px 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.plan-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
  background: #F6F4FB;
}
.plan-icon {
  font-size: 28px;
  line-height: 1;
  color: #4B3C97;
  width: 34px;
  text-align: center;
  flex: 0 0 34px;
  margin-top: 2px;
}
.plan-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #2A2A2F;
  margin: 0 0 6px;
}
.plan-sub {
  font-size: 1rem;
  color: #54545E;
  line-height: 1.4;
}
.plan-arrow {
  margin-left: auto;
  color: #7180B9;
  font-size: 20px;
  line-height: 1;
  margin-top: 4px;
}
@media only all and (max-width: 47.99rem) {
  #g-top .g-title {
    white-space: inherit;
  }
  .g-logo {
    margin-top: 10px;
    box-shadow: none;
  }
  #g-header {
    padding-top: 0;
  }
  #g-header .g-content {
    margin: 0.425rem;
    padding: 0.638rem;
  }
  .g-layercontent {
    padding: 0;
  }
}
/*# sourceMappingURL=custom_15.css.map */