.border-gradient {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 8px;
	background: linear-gradient(90deg, #dca718 0 6.7%, #4b9b52 6.7% 13.4%, #6c20ad 13.4% 20.1%, #9c4b05 20.1% 26.8%, #d13b59 26.8% 33.5%, #e1b83f 33.5% 40.2%, #278d3b 40.2% 46.9%, #8842b0 46.9% 53.6%, #9d500c 53.6% 60.3%, #c90036 60.3% 67%, #e1bd53 67% 73.7%, #248a3a 73.7% 80.4%, #6a22a9 80.4% 87.1%, #a76530 87.1% 93.8%, #c90036 93.8% 100%);
}
.header-gradient {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 8px;
	background: linear-gradient(
		90deg,
		#cd9c1f 0% 20%,
		#1f812d 20% 40%,
		#5c11a0 40% 60%,
		#824103 60% 80%,
		#ba022f 80% 100%
	);
}
.main-menu > ul {
	display: flex;
	gap: 20px;
}
.main-menu > ul > li {
	padding: 5px 0;
	list-style: none;
}
.main-menu > ul > li a {
	color: #ded6cc;
	font-size: 14px;
	transition: .3s;
	text-transform: uppercase;
	font-weight: 700;
}
.main-menu > ul > li a:hover {
	color: #dda619;
}

/* header sidebar */
.header-3-navicon .side-toggle {
	width: 70px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
}

/* Side info and offcanvas styling */
.offcanvas-overlay {
  position: fixed;
  height: 100%;
  width: 100%;
  background: #000;
  z-index: 900;
  top: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
}

.offcanvas-overlay.overlay-open {
  opacity: 0.5;
  visibility: visible;
}

.side-info-close {
  font-size: 20px;
  padding: 0;
  transition: all 0.3s linear;
  background-color: transparent;
  color: #8995ca;
  width: 40px;
  height: 40px;
  border: 1px solid #8995ca;
  border-radius: 50%;
  line-height: 38px;
}
.dark .side-info-close {
  border-color: #fff;
  color: #fff;
}
.side-info-close:hover {
  transform: rotate(90deg);
}

.side-info {
  background: #0d0d1a none repeat scroll 0 0;
  padding: 40px 45px;
  position: fixed;
  right: 0;
  top: 0;
  width: 500px;
  height: 100vh;
  transform: translateX(calc(100% + 80px));
  transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
  z-index: 9999;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
}
.dark .side-info {
  background-color: #1F1F1F;
}
@media only screen and (max-width: 1199px) {
  .side-info {
    width: 460px;
  }
}
@media (max-width: 575px) {
  .side-info {
    width: 100%;
    padding: 30px 20px;
  }
}
.side-info ::-webkit-scrollbar {
  display: none;
}
.side-info.info-open {
  opacity: 1;
  transform: translateX(0);
}

/* Offset header and logo styling */
.offset-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.offset-logo {
  width: 115px;
}
@media (max-width: 575px) {
  .offset-logo {
    width: 105px;
  }
}
.offset-logo img {
  width: 100%;
}
.offset-button {
  margin-top: 40px;
}
@media (min-width: 576px) {
  .offset-button {
    display: none;
  }
}

/* Offset widget box styling */
.offset-widget-box {
  margin-top: 40px;
}
.offset-widget-box .title {
  font-size: 24px;
  line-height: 1.33;
  margin-bottom: 15px;
}
@media only screen and (max-width: 1919px) {
  .offset-widget-box .title {
    margin-bottom: 22px;
  }
}
.offset-widget-box .contact-meta > *:not(:first-child) {
  margin-top: 16px;
}
.offset-widget-box .contact-item {
  display: flex;
  align-items: center;
  gap: 14px;
}
.offset-widget-box .contact-item span {
  color: #0F0E0E;
  font-weight: 400;
}
.offset-widget-box .contact-item span a:hover {
  color: var(--secondary);
}
.offset-widget-box .contact-item .icon {
  width: 40px;
  min-width: 40px;
  height: 40px;
  display: inline-flex;
  border: 1px solid rgba(15, 14, 14, 0.1);
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  color: #0F0E0E;
}

/* Mobile menu customization */
.mobile-menu {
  margin-top: 40px;
}
.mobile-menu.mean-container .mean-nav > ul {
  padding: 0;
  margin: 0;
  width: 100%;
  list-style-type: none;
  display: block !important;
}
.mobile-menu.mean-container .mean-nav > ul > li:last-child > a {
  border-bottom: 1px solid rgba(15, 14, 14, 0.1);
}
.mobile-menu.mean-container .mean-nav {
  background: none;
  margin-top: 0;
}
.mobile-menu.mean-container .mean-nav .new {
  font-size: 10px;
  font-weight: 600;
  background: #FFA38E;
  color: #999999;
  padding: 3px 7px;
  line-height: 1;
  display: flex;
  align-items: center;
  border-radius: 2px;
}
.mobile-menu.mean-container .mean-nav ul li a {
  width: 100%;
  padding: 15px 0;
  padding-inline-start: 0px;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  color: #ded6cc;
  text-transform: capitalize;
  border-top: 1px solid rgba(15, 14, 14, 0.1);
  display: flex;
  gap: 8px;
  justify-content: flex-start;
  align-items: center;
  outline: none;
  transform: translateY(var(--y)) translateZ(0);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  box-sizing: border-box;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .mobile-menu.mean-container .mean-nav ul li a {
    font-size: 20px;
  }
}
.mobile-menu.mean-container .mean-nav ul li a:hover {
  color: #DDA619;
}
.mobile-menu.mean-container .mean-nav ul li a.mean-expand {
  width: 100%;
  height: 48px;
  justify-content: end;
  font-weight: 300;
  border: none !important;
  background-color: transparent;
  font-size: 28px !important;
}
@media only screen and (max-width: 767px) {
  .mobile-menu.mean-container .mean-nav ul li a.mean-expand {
    height: 50px;
  }
}
.mobile-menu.mean-container .mean-nav ul li a.mean-expand:hover {
  background: rgba(255, 255, 255, 0.1);
  opacity: 1;
}
.mobile-menu.mean-container .mean-nav ul li li:first-child {
  border-top: 1px solid rgba(15, 14, 14, 0.1);
}
.mobile-menu.mean-container .mean-nav ul li li a {
  font-size: 16px;
  text-transform: capitalize;
  border-top: none !important;
  padding: 12px 0;
  padding-inline-start: 15px;
}
.mobile-menu.mean-container .mean-nav ul li li a.mean-expand {
  height: 58px;
}
@media only screen and (max-width: 991px) {
  .mobile-menu.mean-container .mean-nav ul li li a.mean-expand {
    height: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .mobile-menu.mean-container .mean-nav ul li li a.mean-expand {
    height: 22px;
  }
}
.mobile-menu.mean-container .mean-nav ul li li li:last-child {
  border-bottom: 1px solid rgba(15, 14, 14, 0.1);
}
.mobile-menu.mean-container .mean-nav ul li li li a {
  padding-left: 40px;
}
.mobile-menu.mean-container .mean-bar {
  padding-bottom: 30px;
  background: none;
  max-height: auto;
  overflow-y: scroll;
}
.mobile-menu.mean-container .mean-bar::-webkit-scrollbar {
  width: 0;
}
.mobile-menu.mean-container a.meanmenu-reveal {
  display: none !important;
}

div .mobile-menu.mean-container .mean-nav ul li a:hover {
  background: transparent;
}

/* =====================================================
   PORTAL LOGIN SECTION
   ===================================================== */

.stahn-portal-login-stage {
  background-color: #fff8ec;
}


/* =====================================================
   LOGIN CARD
   ===================================================== */

.stahn-portal-login {
  width: 100%;
  width: 510px;
  padding: 41px 40px 39px;
  border: 1px solid #ded5c8;
  border-left: 7px solid #dda619;
  border-radius: 17px;
  background-color: #fffdfa;
  box-shadow: 0 3px 6px rgba(21, 18, 15, 0.15);
  margin: 0px auto;
}


/* =====================================================
   CARD TITLE
   ===================================================== */

.stahn-portal-login__title {
  margin: 0 0 35px !important;
  color: #111111;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}


/* =====================================================
   RESET WORDPRESS FORM STYLES
   ===================================================== */

.stahn-portal-login #stahn-portal-login-form {
  width: 100%;
  margin: 0;
}

.stahn-portal-login #stahn-portal-login-form p {
  margin: 0;
  padding: 0;
}

.stahn-portal-login .login-username {
  margin-bottom: 26px !important;
}

.stahn-portal-login .login-password {
  margin-bottom: 30px !important;
}


/* =====================================================
   FIELD LABELS
   ===================================================== */

.stahn-portal-login .login-username label,
.stahn-portal-login .login-password label {
  display: block;
  margin: 0 0 10px;
  color: #111111;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}


/* =====================================================
   INPUT FIELDS
   ===================================================== */

.stahn-portal-login #stahn-user-login,
.stahn-portal-login #stahn-user-password {
  display: block;
  width: 100%;
  height: 67px;
  margin: 0;
  padding: 13px 24px;

  border: 1px solid #ded3c3;
  border-radius: 999px;
  outline: none;

  background-color: #fff9ee;
  box-shadow: none;

  color: #27231f;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.stahn-portal-login #stahn-user-login:hover,
.stahn-portal-login #stahn-user-password:hover {
  border-color: #c7bba9;
}

.stahn-portal-login #stahn-user-login:focus,
.stahn-portal-login #stahn-user-password:focus {
  border-color: #c90036;
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(201, 0, 54, 0.15);
}


/* Prevent browser autofill from changing the design */

.stahn-portal-login #stahn-user-login:-webkit-autofill,
.stahn-portal-login #stahn-user-password:-webkit-autofill {
  -webkit-text-fill-color: #27231f;
  -webkit-box-shadow: 0 0 0 1000px #fff9ee inset;
  transition: background-color 9999s ease-in-out 0s;
}


/* =====================================================
   LOGIN BUTTON
   ===================================================== */

.stahn-portal-login .login-submit {
  margin: 0 !important;
}

.stahn-portal-login #stahn-login-submit {
  display: flex;
  width: 100%;
  height: 70px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 12px 30px;

  border: 0;
  border-radius: 999px;

  background-color: #d9a319;
  box-shadow: none;
  cursor: pointer;

  color: #111111;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;

  transition:
    background-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.stahn-portal-login #stahn-login-submit:hover {
  background-color: #e3ae22;
  transform: translateY(-1px);
  box-shadow: 0 4px 9px rgba(21, 18, 15, 0.15);
}

.stahn-portal-login #stahn-login-submit:focus-visible {
  outline: 3px solid #c90036;
  outline-offset: 3px;
}

.stahn-portal-login #stahn-login-submit:active {
  transform: translateY(0);
}


/* =====================================================
   FORGOT-PASSWORD LINK
   ===================================================== */

.stahn-portal-login__forgot {
  margin: 18px 0 0 !important;
  text-align: center;
}

.stahn-portal-login__forgot a {
  color: #514b45;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
}

.stahn-portal-login__forgot a:hover {
  color: #c90036;
  text-decoration: underline;
}


/* =====================================================
   AUTHORIZED-USERS NOTICE
   ===================================================== */

.stahn-portal-login__notice {
  margin: 5px 0 0 !important;
  color: #c90036;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}


/* =====================================================
   SAFETY: HIDE REMEMBER FIELD IF WORDPRESS OUTPUTS IT
   ===================================================== */

.stahn-portal-login .login-remember {
  display: none;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 767px) {
  .stahn-portal-login-stage {
    min-height: 620px;
    padding: 55px 20px;
  }

  .stahn-portal-login {
    max-width: 500px;
  }
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 480px) {
  .stahn-portal-login-stage {
    min-height: auto;
    padding: 40px 16px;
  }

  .stahn-portal-login {
    padding: 34px 24px 31px;
    border-left-width: 6px;
    border-radius: 15px;
  }

  .stahn-portal-login__title {
    margin-bottom: 30px !important;
    font-size: 34px;
  }

  .stahn-portal-login #stahn-user-login,
  .stahn-portal-login #stahn-user-password {
    height: 60px;
    padding-inline: 20px;
  }

  .stahn-portal-login #stahn-login-submit {
    height: 62px;
  }

  .stahn-portal-login .login-username {
    margin-bottom: 23px !important;
  }

  .stahn-portal-login .login-password {
    margin-bottom: 27px !important;
  }
}

.stahn-portal-login__error {
  margin: 0 0 25px;
  padding: 13px 16px;

  border: 1px solid rgba(201, 0, 54, 0.32);
  border-left: 5px solid #c90036;
  border-radius: 8px;

  background-color: #fff0f3;
  color: #8d0026;

  font-family: "DM Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
.stahn-portal-login__error + .stahn-portal-login__title {
  margin-top: 0 !important;
}


/* Shared Portal eyebrow */

.stahn-portal-eyebrow {
  margin: 0 0 14px;
  color: #dda619;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}


/* Dashboard heading area */

.stahn-portal-dashboard__header,
.stahn-portal-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 45px;
}

.stahn-portal-dashboard__title,
.stahn-portal-section__title {
  margin: 0;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.stahn-portal-dashboard__intro {
  margin: 15px 0 0;
  color: #6f6962;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}


/* Logout and back buttons */

.stahn-portal-dashboard__logout,
.stahn-portal-section__back {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 10px 27px;

  border: 2px solid #151515;
  border-radius: 999px;

  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.stahn-portal-dashboard__logout:hover,
.stahn-portal-section__back:hover {
  background-color: #151515;
  color: #ffffff;
}


/* Dashboard card grid */

.stahn-portal-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}


/* Individual dashboard card */

.stahn-portal-dashboard__card {
  display: flex;
  min-height: 245px;
  gap: 22px;
  padding: 30px;

  border: 1px solid #ded5c8;
  border-left: 7px solid #dda619;
  border-radius: 15px;

  background-color: #fffdfa;
  box-shadow: 0 3px 7px rgba(21, 18, 15, 0.11);

  color: #151515;
  text-decoration: none;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.stahn-portal-dashboard__card:hover {
  transform: translateY(-3px);
  border-left-color: #c90036;
  box-shadow: 0 8px 18px rgba(21, 18, 15, 0.15);
}


/* Card symbol */

.stahn-portal-dashboard__symbol,
.stahn-portal-section__symbol {
  display: inline-grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;

  border-radius: 50%;
  background-color: #faedca;
  color: #b98200;

  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
}


/* Card content */

.stahn-portal-dashboard__card-content {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
}

.stahn-portal-dashboard__card-title {
  display: block;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.stahn-portal-dashboard__card-description {
  display: block;
  margin-top: 15px;
  color: #6f6962;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

.stahn-portal-dashboard__card-action {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 22px;

  color: #c90036;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}


/* Internal-section placeholder */

.stahn-portal-section__placeholder {
  display: flex;
  min-height: 320px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 45px;

  border: 1px solid #ded5c8;
  border-radius: 15px;

  background-color: #fffdfa;
  box-shadow: 0 3px 7px rgba(21, 18, 15, 0.1);
  text-align: center;
}

.stahn-portal-section__placeholder h3 {
  margin: 20px 0 0;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 32px;
  font-weight: 700;
  text-transform: uppercase;
}

.stahn-portal-section__placeholder p {
  max-width: 520px;
  margin: 12px auto 0;
  color: #6f6962;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}


/* Keyboard accessibility */

.stahn-portal-dashboard__card:focus-visible,
.stahn-portal-dashboard__logout:focus-visible,
.stahn-portal-section__back:focus-visible {
  outline: 3px solid #c90036;
  outline-offset: 4px;
}


/* Tablet */

@media (max-width: 900px) {
  .stahn-portal-dashboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Mobile */

@media (max-width: 620px) {
  .stahn-portal-dashboard__header,
  .stahn-portal-section__header {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 35px;
  }

  .stahn-portal-dashboard__title,
  .stahn-portal-section__title {
    font-size: 40px;
  }

  .stahn-portal-dashboard__grid {
    grid-template-columns: 1fr;
  }

  .stahn-portal-dashboard__card {
    min-height: 220px;
    padding: 26px 23px;
  }

  .stahn-portal-dashboard__logout,
  .stahn-portal-section__back {
    width: 100%;
  }
}

/* Announcement introduction */

.stahn-announcements__intro {
  max-width: 630px;
  margin: 15px 0 0;
  color: #6f6962;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}


/* Announcement list */

.stahn-announcements__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}


/* Announcement card */

.stahn-announcement-card {
  min-height: 245px;
  padding: 28px 29px;

  border: 1px solid #ded5c8;
  border-left: 7px solid #dda619;
  border-radius: 14px;

  background-color: #fffdfa;
  box-shadow: 0 3px 7px rgba(21, 18, 15, 0.1);
}


/* Status and date */

.stahn-announcement-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.stahn-announcement-card__status {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 4px 12px;

  border-radius: 999px;
  background-color: #faedca;
  color: #9d7000;

  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.stahn-announcement-card__date {
  color: #7a736b;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 13px;
}


/* Announcement content */

.stahn-announcement-card__title {
  margin: 24px 0 0;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.stahn-announcement-card__excerpt {
  margin: 15px 0 0;
  color: #5f5952;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}

.stahn-announcement-card__author {
  margin: 22px 0 0;
  color: #8a8279;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 13px;
}


/* Empty state */

.stahn-announcements__empty {
  display: flex;
  min-height: 320px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 45px;

  border: 1px solid #ded5c8;
  border-radius: 15px;
  background-color: #fffdfa;

  text-align: center;
}

.stahn-announcements__empty-symbol {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;

  border-radius: 50%;
  background-color: #faedca;
  color: #a77800;

  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
}

.stahn-announcements__empty h3 {
  margin: 20px 0 0;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
}

.stahn-announcements__empty p {
  max-width: 500px;
  margin: 10px auto 0;
  color: #6f6962;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}


/* Permission error */

.stahn-portal-message {
  width: min(750px, calc(100% - 48px));
  margin: 60px auto;
  padding: 18px 20px;
  border-radius: 10px;
  font-family: "DM Sans", Arial, sans-serif;
}

.stahn-portal-message--error {
  border: 1px solid rgba(201, 0, 54, 0.3);
  border-left: 6px solid #c90036;
  background-color: #fff0f3;
  color: #8d0026;
}


/* Responsive list */

@media (max-width: 767px) {
  .stahn-announcements__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .stahn-announcement-card {
    min-height: auto;
    padding: 25px 22px;
  }

  .stahn-announcement-card__top {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

/* Submission notices */

.stahn-announcements__notice {
  margin: 0 0 28px;
  padding: 14px 18px;
  border-radius: 9px;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.stahn-announcements__notice--success {
  border: 1px solid rgba(33, 139, 54, 0.35);
  border-left: 6px solid #218b36;
  background-color: #eef9f0;
  color: #155f25;
}

.stahn-announcements__notice--error {
  border: 1px solid rgba(201, 0, 54, 0.3);
  border-left: 6px solid #c90036;
  background-color: #fff0f3;
  color: #8d0026;
}


/* Create-announcement panel */

.stahn-announcement-form {
  margin-bottom: 55px;
  padding: 32px;

  border: 1px solid #ded5c8;
  border-left: 7px solid #218b36;
  border-radius: 15px;

  background-color: #fffdfa;
  box-shadow: 0 3px 7px rgba(21, 18, 15, 0.1);
}

.stahn-announcement-form__title {
  margin: 0;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 31px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.stahn-announcement-form__intro {
  margin: 12px 0 0;
  color: #6f6962;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

.stahn-announcement-form__form {
  margin-top: 28px;
}


/* Form fields */

.stahn-announcement-form__field {
  margin-bottom: 23px;
}

.stahn-announcement-form__field label {
  display: block;
  margin: 0 0 9px;

  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.stahn-announcement-form__field input,
.stahn-announcement-form__field textarea,
.stahn-announcement-form__field select {
  display: block;
  width: 100%;
  margin: 0;
  padding: 13px 17px;

  border: 1px solid #d9cfc0;
  border-radius: 10px;
  outline: none;

  background-color: #fffaf0;
  box-shadow: none;

  color: #28231f;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

.stahn-announcement-form__field input {
  min-height: 54px;
}

.stahn-announcement-form__field textarea {
  min-height: 170px;
  resize: vertical;
}

.stahn-announcement-form__field select {
  min-height: 54px;
  cursor: pointer;
}

.stahn-announcement-form__field input:focus,
.stahn-announcement-form__field textarea:focus,
.stahn-announcement-form__field select:focus {
  border-color: #c90036;
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(201, 0, 54, 0.12);
}


/* Form footer */

.stahn-announcement-form__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.stahn-announcement-form__status {
  width: min(100%, 300px);
  margin-bottom: 0;
}

.stahn-announcement-form__submit {
  display: inline-flex;
  min-height: 55px;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;

  border: 0;
  border-radius: 999px;

  background-color: #dda619;
  color: #151515;
  cursor: pointer;

  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.stahn-announcement-form__submit:hover {
  background-color: #e5b329;
}

.stahn-announcement-form__submit:focus-visible {
  outline: 3px solid #c90036;
  outline-offset: 3px;
}


/* Existing-list heading */

.stahn-announcements__list-heading {
  margin: 0 0 24px;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 31px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}


/* Mobile */

@media (max-width: 620px) {
  .stahn-announcement-form {
    padding: 27px 22px;
  }

  .stahn-announcement-form__bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .stahn-announcement-form__status {
    width: 100%;
  }

  .stahn-announcement-form__submit {
    width: 100%;
  }
}

/* Announcement card actions */

.stahn-announcement-card__actions {
  display: flex;
  align-items: center;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e7ded2;
}

.stahn-announcement-card__edit {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 20px;

  border: 2px solid #151515;
  border-radius: 999px;

  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.stahn-announcement-card__edit:hover {
  background-color: #151515;
  color: #ffffff;
}

.stahn-announcement-card__edit:focus-visible {
  outline: 3px solid #c90036;
  outline-offset: 3px;
}


/* Edit-form action group */

.stahn-announcement-form__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 13px;
}

.stahn-announcement-form__cancel {
  display: inline-flex;
  min-height: 55px;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;

  border: 2px solid #151515;
  border-radius: 999px;

  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.stahn-announcement-form__cancel:hover {
  background-color: #151515;
  color: #ffffff;
}

.stahn-announcement-form__cancel:focus-visible {
  outline: 3px solid #c90036;
  outline-offset: 3px;
}

@media (max-width: 620px) {
  .stahn-announcement-form__actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .stahn-announcement-form__cancel,
  .stahn-announcement-form__actions
  .stahn-announcement-form__submit {
    width: 100%;
  }
}

/* Place the two card actions on opposite sides */

.stahn-announcement-card__actions {
  justify-content: space-between;
  gap: 14px;
}


/* Card Trash link */

.stahn-announcement-card__trash {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;

  border: 2px solid #c90036;
  border-radius: 999px;

  color: #c90036;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.stahn-announcement-card__trash:hover {
  background-color: #c90036;
  color: #ffffff;
}

.stahn-announcement-card__trash:focus-visible {
  outline: 3px solid #151515;
  outline-offset: 3px;
}


/* Confirmation panel */

.stahn-announcement-trash__panel {
  max-width: 720px;
  margin: 0 auto;
  padding: 45px;

  border: 1px solid rgba(201, 0, 54, 0.3);
  border-left: 7px solid #c90036;
  border-radius: 15px;

  background-color: #fffdfa;
  box-shadow: 0 4px 12px rgba(21, 18, 15, 0.12);
  text-align: center;
}

.stahn-announcement-trash__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  margin: 0 auto;

  border-radius: 50%;
  background-color: #fff0f3;
  color: #c90036;

  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 30px;
  font-weight: 700;
}

.stahn-announcement-trash__title {
  margin: 24px 0 0;
  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.stahn-announcement-trash__name {
  margin: 19px 0 0;
  color: #151515;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.stahn-announcement-trash__explanation {
  max-width: 540px;
  margin: 14px auto 0;
  color: #6f6962;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}

.stahn-announcement-trash__form {
  margin-top: 30px;
}

.stahn-announcement-trash__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}


/* Cancel button */

.stahn-announcement-trash__cancel {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;

  border: 2px solid #151515;
  border-radius: 999px;

  color: #151515;
  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.stahn-announcement-trash__cancel:hover {
  background-color: #151515;
  color: #ffffff;
}


/* Confirmation button */

.stahn-announcement-trash__confirm {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;

  border: 2px solid #c90036;
  border-radius: 999px;

  background-color: #c90036;
  color: #ffffff;
  cursor: pointer;

  font-family: "Barlow Condensed", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.stahn-announcement-trash__confirm:hover {
  background-color: #a9002e;
  border-color: #a9002e;
}

.stahn-announcement-trash__cancel:focus-visible,
.stahn-announcement-trash__confirm:focus-visible {
  outline: 3px solid #dda619;
  outline-offset: 3px;
}


@media (max-width: 560px) {
  .stahn-announcement-card__actions,
  .stahn-announcement-trash__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .stahn-announcement-card__edit,
  .stahn-announcement-card__trash,
  .stahn-announcement-trash__cancel,
  .stahn-announcement-trash__confirm {
    width: 100%;
  }

  .stahn-announcement-trash__panel {
    padding: 35px 23px;
  }
}

.stahn-volunteer-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  margin-top: 36px;
}

.stahn-volunteer-card {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.stahn-volunteer-card a,
.stahn-volunteer-card dd {
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .stahn-volunteer-list {
    grid-template-columns: 1fr;
  }
}

.stahn-volunteer-card {
  padding: 30px;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-left: 7px solid #d9a316;
  border-radius: 16px;
  box-shadow: 0 4px 10px rgba(20, 15, 10, 0.08);
}

.stahn-volunteer-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid #e4dccf;
}

.stahn-volunteer-card-heading h3 {
  margin: 5px 0 0;
  color: #141414;
  font-size: 28px;
  line-height: 1.2;
  text-transform: uppercase;
}

.stahn-volunteer-date {
  display: block;
  color: #6b625a;
  font-size: 14px;
}

.stahn-volunteer-status {
  flex: 0 0 auto;
  padding: 7px 14px;
  color: #8d6400;
  background: #faeab9;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-volunteer-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 32px;
  margin: 25px 0 0;
}

.stahn-volunteer-details > div {
  margin: 0;
}

.stahn-volunteer-details dt {
  margin-bottom: 6px;
  color: #151515;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-volunteer-details dd {
  margin: 0;
  color: #625b54;
  font-size: 16px;
  line-height: 1.65;
}

.stahn-volunteer-details a {
  color: #c90036;
  text-decoration: none;
}

.stahn-volunteer-details a:hover,
.stahn-volunteer-details a:focus {
  text-decoration: underline;
}

.stahn-volunteer-detail-full {
  grid-column: 1 / -1;
}

.stahn-portal-empty-state {
  margin-top: 36px;
  padding: 55px 30px;
  text-align: center;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-radius: 16px;
}

.stahn-portal-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  color: #9a6e00;
  background: #faeab9;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 700;
}

.stahn-portal-empty-state h3 {
  margin: 0 0 10px;
  color: #141414;
  font-size: 25px;
  text-transform: uppercase;
}

.stahn-portal-empty-state p {
  margin: 0 auto;
  max-width: 580px;
  color: #6b625a;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .stahn-volunteer-card {
    padding: 22px;
  }

  .stahn-volunteer-card-heading {
    flex-direction: column;
    gap: 12px;
  }

  .stahn-volunteer-details {
    grid-template-columns: 1fr;
  }

  .stahn-volunteer-detail-full {
    grid-column: auto;
  }
}

.stahn-volunteer-form-wrapper {
  width: min(100%, 850px);
  margin: 0 auto;
  padding: 48px;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-left: 7px solid #218b36;
  border-radius: 18px;
  box-shadow: 0 5px 14px rgba(20, 15, 10, 0.08);
}

.stahn-volunteer-form-heading {
  margin-bottom: 34px;
}

.stahn-volunteer-form-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: #d49c0b;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.stahn-volunteer-form-heading h1 {
  margin: 0 0 14px;
  color: #151515;
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.1;
  text-transform: uppercase;
  font-weight: 700;
}

.stahn-volunteer-form-heading p {
  max-width: 650px;
  margin: 0;
  color: #625b54;
  font-size: 17px;
  line-height: 1.7;
}

.stahn-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.stahn-form-field-full {
  grid-column: 1 / -1;
}

.stahn-form-field label {
  display: block;
  margin-bottom: 9px;
  color: #151515;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-form-field input[type="text"],
.stahn-form-field input[type="email"],
.stahn-form-field input[type="tel"],
.stahn-form-field select,
.stahn-form-field textarea {
  width: 100%;
  padding: 15px 18px;
  color: #24211e;
  background: #fffaf0;
  border: 1px solid #d9cfbe;
  border-radius: 12px;
  font: inherit;
  box-sizing: border-box;
}

.stahn-form-field textarea {
  resize: vertical;
}

.stahn-form-field input:focus,
.stahn-form-field select:focus,
.stahn-form-field textarea:focus {
  outline: 3px solid rgba(33, 139, 54, 0.18);
  border-color: #218b36;
}

.stahn-form-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  line-height: 1.6;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.stahn-form-consent input {
  flex: 0 0 auto;
  margin-top: 5px;
}

.stahn-form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.stahn-volunteer-submit {
  width: 100%;
  margin-top: 28px;
  padding: 18px 25px;
  color: #151515;
  background: #d9a316;
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.stahn-volunteer-submit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.stahn-volunteer-form-temporary {
  margin: 12px 0 0;
  color: #6b625a;
  font-size: 13px;
  text-align: center;
}

@media (max-width: 767px) {
  .stahn-volunteer-form-wrapper {
    padding: 30px 22px;
  }

  .stahn-form-grid {
    grid-template-columns: 1fr;
  }

  .stahn-form-field-full {
    grid-column: auto;
  }
}

.stahn-volunteer-form-notice {
  width: min(100%, 850px);
  margin: 0 auto 24px;
  padding: 18px 22px;
  border-radius: 12px;
  box-sizing: border-box;
}

.stahn-volunteer-form-notice strong {
  display: block;
  margin-bottom: 4px;
}

.stahn-volunteer-form-notice p {
  margin: 0;
  line-height: 1.6;
}

.stahn-volunteer-form-success {
  color: #155f27;
  background: #e7f5e9;
  border: 1px solid #9dcfa7;
}

.stahn-volunteer-form-error {
  color: #8f0026;
  background: #fbe8ed;
  border: 1px solid #e7a5b7;
}

/* Keep the select the same width as the other fields. */
.stahn-volunteer-form .stahn-form-field select {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 52px;
}

.stahn-volunteer-form .stahn-volunteer-submit {
  display: block;
  width: 100%;
  margin-top: 28px;
  padding: 18px 25px;
  color: #151515 !important;
  background: #d9a316;
  border: 0;
  border-radius: 999px;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-align: center;
  text-indent: 0;
  text-transform: uppercase;
  cursor: pointer;
}

.stahn-volunteer-status-contacted {
  color: #135f79;
  background: #dceff5;
}

.stahn-volunteer-status-completed {
  color: #166528;
  background: #dff2e3;
}

.stahn-volunteer-status-form {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #e4dccf;
}

.stahn-volunteer-status-form > label {
  display: block;
  margin-bottom: 9px;
  color: #151515;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-volunteer-status-controls {
  display: flex;
  gap: 12px;
}

.stahn-volunteer-status-controls select {
  flex: 1;
  min-height: 48px;
  padding: 10px 14px;
  background: #fffaf0;
  border: 1px solid #d9cfbe;
  border-radius: 8px;
}

.stahn-volunteer-status-controls button {
  min-height: 48px;
  padding: 10px 22px;
  color: #151515;
  background: #d9a316;
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

@media (max-width: 600px) {
  .stahn-volunteer-status-controls {
    flex-direction: column;
  }
}

.stahn-volunteer-trash-form {
  margin-top: 14px;
  text-align: right;
}

.stahn-volunteer-trash-form button {
  padding: 9px 0;
  color: #c90036;
  background: transparent;
  border: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.stahn-volunteer-trash-form button:hover,
.stahn-volunteer-trash-form button:focus {
  text-decoration: underline;
}

.stahn-portal-notice-success {
  margin-bottom: 22px;
  padding: 15px 18px;
  color: #155f27;
  background: #e7f5e9;
  border: 1px solid #9dcfa7;
  border-radius: 10px;
}

.stahn-portal-notice-success p {
  margin: 0;
}

.stahn-nomination-list {
  display: grid;
  gap: 24px;
  margin-top: 36px;
}

.stahn-nomination-card {
  padding: 30px;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-left: 7px solid #d9a316;
  border-radius: 16px;
  box-shadow: 0 4px 10px rgba(20, 15, 10, 0.08);
}

.stahn-nomination-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid #e4dccf;
}

.stahn-nomination-card-heading h3 {
  margin: 5px 0 0;
  color: #141414;
  font-size: 28px;
  line-height: 1.2;
  text-transform: uppercase;
}

.stahn-nomination-date {
  color: #6b625a;
  font-size: 14px;
}

.stahn-nomination-status {
  flex: 0 0 auto;
  padding: 7px 14px;
  color: #8d6400;
  background: #faeab9;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-nomination-status-reviewing {
  color: #135f79;
  background: #dceff5;
}

.stahn-nomination-status-completed {
  color: #166528;
  background: #dff2e3;
}

.stahn-nomination-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 32px;
  margin: 25px 0 0;
}

.stahn-nomination-details dt {
  margin-bottom: 6px;
  color: #151515;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-nomination-details dd {
  margin: 0;
  color: #625b54;
  font-size: 16px;
  line-height: 1.65;
}

.stahn-nomination-details a {
  color: #c90036;
  text-decoration: none;
}

.stahn-nomination-details a:hover,
.stahn-nomination-details a:focus {
  text-decoration: underline;
}

.stahn-nomination-detail-full {
  grid-column: 1 / -1;
}

.stahn-nomination-empty-state {
  margin-top: 36px;
  padding: 55px 30px;
  text-align: center;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-radius: 16px;
}

.stahn-nomination-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  color: #9a6e00;
  background: #faeab9;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 700;
}

.stahn-nomination-empty-state h3 {
  margin: 0 0 10px;
  color: #141414;
  font-size: 25px;
  text-transform: uppercase;
}

.stahn-nomination-empty-state p {
  margin: 0;
  color: #6b625a;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .stahn-nomination-card {
    padding: 22px;
  }

  .stahn-nomination-card-heading {
    flex-direction: column;
    gap: 12px;
  }

  .stahn-nomination-details {
    grid-template-columns: 1fr;
  }

  .stahn-nomination-detail-full {
    grid-column: auto;
  }
}

.stahn-nomination-form-wrapper {
  width: min(100%, 850px);
  margin: 0 auto;
  padding: 48px;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-left: 7px solid #d9a316;
  border-radius: 18px;
  box-shadow: 0 5px 14px rgba(20, 15, 10, 0.08);
  box-sizing: border-box;
}

.stahn-nomination-form-heading {
  margin-bottom: 34px;
}

.stahn-nomination-form-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: #d49c0b;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.stahn-nomination-form-heading h1 {
  margin: 0 0 14px;
  color: #151515;
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.1;
  text-transform: uppercase;
  font-weight: 700;
}

.stahn-nomination-form-heading p {
  max-width: 650px;
  margin: 0;
  color: #625b54;
  font-size: 17px;
  line-height: 1.7;
}

.stahn-nomination-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.stahn-nomination-field-full {
  grid-column: 1 / -1;
}

.stahn-nomination-field label {
  display: block;
  margin-bottom: 9px;
  color: #151515;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-nomination-field input[type="text"],
.stahn-nomination-field input[type="email"],
.stahn-nomination-field input[type="tel"],
.stahn-nomination-field select,
.stahn-nomination-field textarea {
  display: block;
  width: 100% !important;
  max-width: none !important;
  padding: 15px 18px;
  color: #24211e;
  background: #fffaf0;
  border: 1px solid #d9cfbe;
  border-radius: 12px;
  font: inherit;
  box-sizing: border-box;
}

.stahn-nomination-field select {
  min-height: 52px;
}

.stahn-nomination-field textarea {
  resize: vertical;
}

.stahn-nomination-field input:focus,
.stahn-nomination-field select:focus,
.stahn-nomination-field textarea:focus {
  outline: 3px solid rgba(217, 163, 22, 0.2);
  border-color: #d9a316;
}

.stahn-nomination-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  line-height: 1.6;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.stahn-nomination-consent input {
  flex: 0 0 auto;
  margin-top: 5px;
}

.stahn-nomination-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.stahn-nomination-submit {
  display: block;
  width: 100%;
  margin-top: 28px;
  padding: 18px 25px;
  color: #151515 !important;
  background: #d9a316;
  border: 0;
  border-radius: 999px;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
}

.stahn-nomination-submit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.stahn-nomination-form-temporary {
  margin: 12px 0 0;
  color: #6b625a;
  font-size: 13px;
  text-align: center;
}
.stahn-nomination-field .nice-select {
  display: block;
  width: 100% !important;
  max-width: none !important;
  padding: 15px 18px;
  color: #24211e;
  background: #fffaf0;
  border: 1px solid #d9cfbe;
  border-radius: 12px;
  font: inherit;
  box-sizing: border-box;
  height: 55px;
}
.stahn-nomination-field .nice-select .list{
  width: 100%; 
}

@media (max-width: 767px) {
  .stahn-nomination-form-wrapper {
    padding: 30px 22px;
  }

  .stahn-nomination-form-grid {
    grid-template-columns: 1fr;
  }

  .stahn-nomination-field-full {
    grid-column: auto;
  }
}

.stahn-nomination-notice {
  width: min(100%, 850px);
  margin: 0 auto 24px;
  padding: 18px 22px;
  border-radius: 12px;
  box-sizing: border-box;
}

.stahn-nomination-notice strong {
  display: block;
  margin-bottom: 4px;
}

.stahn-nomination-notice p {
  margin: 0;
  line-height: 1.6;
}

.stahn-nomination-notice-success {
  color: #155f27;
  background: #e7f5e9;
  border: 1px solid #9dcfa7;
}

.stahn-nomination-notice-error {
  color: #8f0026;
  background: #fbe8ed;
  border: 1px solid #e7a5b7;
}

.stahn-nomination-status-form {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #e4dccf;
}

.stahn-nomination-status-form > label {
  display: block;
  margin-bottom: 9px;
  color: #151515;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-nomination-status-controls {
  display: flex;
  gap: 12px;
}

.stahn-nomination-status-controls select {
  flex: 1;
  min-height: 48px;
  padding: 10px 14px;
  background: #fffaf0;
  border: 1px solid #d9cfbe;
  border-radius: 8px;
}

.stahn-nomination-status-controls button {
  min-height: 48px;
  padding: 10px 22px;
  color: #151515;
  background: #d9a316;
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.stahn-nomination-status-controls button:hover,
.stahn-nomination-status-controls button:focus {
  background: #c6910c;
}

@media (max-width: 600px) {
  .stahn-nomination-status-controls {
    flex-direction: column;
  }
}

.stahn-nomination-trash-form {
  margin-top: 14px;
  text-align: right;
}

.stahn-nomination-trash-form button {
  padding: 9px 0;
  color: #c90036;
  background: transparent;
  border: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.stahn-nomination-trash-form button:hover,
.stahn-nomination-trash-form button:focus {
  text-decoration: underline;
}

.stahn-subscriber-table-wrapper {
  margin-top: 36px;
  overflow-x: auto;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-radius: 16px;
  box-shadow: 0 4px 10px rgba(20, 15, 10, 0.08);
}

.stahn-subscriber-table {
  width: 100%;
  border-collapse: collapse;
}

.stahn-subscriber-table th,
.stahn-subscriber-table td {
  padding: 18px 20px;
  text-align: left;
  border-bottom: 1px solid #e4dccf;
}

.stahn-subscriber-table th {
  color: #151515;
  background: #f6efe3;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.stahn-subscriber-table td {
  color: #625b54;
  font-size: 15px;
}

.stahn-subscriber-table tbody tr:last-child td {
  border-bottom: 0;
}

.stahn-subscriber-table a {
  color: #c90036;
  text-decoration: none;
}

.stahn-subscriber-table a:hover,
.stahn-subscriber-table a:focus {
  text-decoration: underline;
}

.stahn-subscriber-status {
  display: inline-flex;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.stahn-subscriber-status-active {
  color: #166528;
  background: #dff2e3;
}

.stahn-subscriber-status-unsubscribed {
  color: #6b625a;
  background: #ebe7e1;
}

.stahn-subscriber-empty-state {
  margin-top: 36px;
  padding: 55px 30px;
  text-align: center;
  background: #fffdf8;
  border: 1px solid #ded5c7;
  border-radius: 16px;
}

.stahn-subscriber-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  color: #9a6e00;
  background: #faeab9;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 700;
}

.stahn-subscriber-empty-state h3 {
  margin: 0 0 10px;
  color: #141414;
  font-size: 25px;
  text-transform: uppercase;
}

.stahn-subscriber-empty-state p {
  margin: 0;
  color: #6b625a;
  line-height: 1.7;
}

@media (max-width: 700px) {
  .stahn-subscriber-table,
  .stahn-subscriber-table tbody,
  .stahn-subscriber-table tr,
  .stahn-subscriber-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .stahn-subscriber-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .stahn-subscriber-table tr {
    padding: 14px 0;
    border-bottom: 1px solid #e4dccf;
  }

  .stahn-subscriber-table tbody tr:last-child {
    border-bottom: 0;
  }

  .stahn-subscriber-table td {
    display: grid;
    grid-template-columns: 125px minmax(0, 1fr);
    gap: 12px;
    padding: 8px 18px;
    border-bottom: 0;
  }

  .stahn-subscriber-table td::before {
    content: attr(data-label);
    color: #151515;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
}

.stahn-newsletter-form-wrapper {
  width: 100%;
}

.stahn-newsletter-form {
  width: 100%;
}

.stahn-newsletter-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.stahn-newsletter-email-field input {
  display: block;
  width: 100%;
  min-height: 58px;
  padding: 15px 24px;
  color: #fff9ed;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  font: inherit;
  box-sizing: border-box;
}

.stahn-newsletter-email-field input::placeholder {
  color: rgba(255, 255, 255, 0.62);
}

.stahn-newsletter-email-field input:focus {
  outline: 3px solid rgba(217, 163, 22, 0.35);
  border-color: #d9a316;
}

.stahn-newsletter-submit {
  min-height: 58px;
  padding: 15px 34px;
  color: #151515 !important;
  background: #d9a316;
  border: 0;
  border-radius: 999px;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.stahn-newsletter-submit:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.stahn-newsletter-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  line-height: 1.5;
}

.stahn-newsletter-consent input {
  flex: 0 0 auto;
  margin-top: 3px;
}

.stahn-newsletter-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.stahn-newsletter-temporary {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 12px;
}

@media (max-width: 650px) {
  .stahn-newsletter-fields {
    grid-template-columns: 1fr;
  }

  .stahn-newsletter-submit {
    width: 100%;
  }
}

.stahn-newsletter-notice {
  margin: 0 0 16px;
  padding: 13px 16px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.5;
}

.stahn-newsletter-notice strong {
  margin-right: 4px;
}

.stahn-newsletter-notice-success {
  color: #124f21;
  background: #e4f5e7;
  border: 1px solid #a5d6ad;
}

.stahn-newsletter-notice-information {
  color: #604600;
  background: #fff1c7;
  border: 1px solid #e5c564;
}

.stahn-newsletter-notice-error {
  color: #850026;
  background: #fbe8ed;
  border: 1px solid #e7a5b7;
}

.stahn-newsletter-submit:not(:disabled) {
  cursor: pointer;
}

.stahn-newsletter-submit:not(:disabled):hover,
.stahn-newsletter-submit:not(:disabled):focus {
  background: #efb820;
}

.stahn-subscriber-status-form {
  display: flex;
  align-items: center;
  gap: 8px;
}

.stahn-subscriber-status-form select {
  min-height: 40px;
  padding: 7px 10px;
  background: #fffaf0;
  border: 1px solid #d9cfbe;
  border-radius: 7px;
  font-size: 13px;
}

.stahn-subscriber-status-form button {
  min-height: 40px;
  padding: 7px 15px;
  color: #151515;
  background: #d9a316;
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.stahn-subscriber-status-form button:hover,
.stahn-subscriber-status-form button:focus {
  background: #c6910c;
}

@media (max-width: 700px) {
  .stahn-subscriber-status-form {
    align-items: stretch;
    flex-direction: column;
  }
}

.stahn-subscriber-table .nice-select {
  z-index: 999;
}

.stahn-subscriber-table .nice-select .list {
  z-index: 999;
}

.stahn-subscriber-trash-form {
  margin-top: 8px;
}

.stahn-subscriber-trash-form button {
  padding: 6px 0;
  color: #c90036;
  background: transparent;
  border: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  cursor: pointer;
}

.stahn-subscriber-trash-form button:hover,
.stahn-subscriber-trash-form button:focus {
  text-decoration: underline;
}

/* ========================================
   CONTACT PAGE LAYOUT
======================================== */

.stahn-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 1fr);
  align-items: start;
  gap: 40px;
  width: min(100% - 40px, 1140px);
  margin-inline: auto;
  padding-block: 55px;
}


/* ========================================
   CONTACT FORM CARD
======================================== */

.stahn-contact-form-card {
  position: relative;
  width: 100%;
  min-height: 660px;
  padding: 38px 34px 44px;
  background: #fffdf9;
  border: 1px solid #ded4c5;
  border-left: 6px solid #dba416;
  border-radius: 14px;
  box-shadow: 0 3px 7px rgba(31, 22, 13, 0.12);
  box-sizing: border-box;
}

.stahn-contact-form-title {
  margin: 0 0 30px;
  color: #121212;
  font-family: "Oswald", sans-serif;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}


/* ========================================
   CONTACT FORM GRID
======================================== */

.stahn-contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 24px;
}

.stahn-contact-field {
  min-width: 0;
}

.stahn-contact-field-full {
  grid-column: 1 / -1;
}


/* Contact Form 7 creates paragraph wrappers. */
.stahn-contact-form-card p {
  margin: 0;
}

.stahn-contact-field label {
  display: block;
  margin: 0 0 8px;
  color: #121212;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.stahn-contact-field .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}


/* ========================================
   INPUTS
======================================== */

.stahn-contact-form-card input[type="text"],
.stahn-contact-form-card input[type="email"],
.stahn-contact-form-card input[type="tel"],
.stahn-contact-form-card textarea {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 14px 20px;
  color: #25211d;
  background: #fff8eb;
  border: 1px solid #dfd1bd;
  border-radius: 999px;
  box-shadow: none;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  box-sizing: border-box;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.stahn-contact-form-card input[type="text"],
.stahn-contact-form-card input[type="email"],
.stahn-contact-form-card input[type="tel"] {
  height: 54px;
}

.stahn-contact-form-card textarea {
  height: 190px;
  min-height: 190px;
  padding: 18px 20px;
  border-radius: 13px;
  resize: vertical;
}

.stahn-contact-form-card input:focus,
.stahn-contact-form-card textarea:focus {
  outline: none;
  background: #fffdf8;
  border-color: #dba416;
  box-shadow: 0 0 0 3px rgba(219, 164, 22, 0.17);
}


/* ========================================
   SUBMIT BUTTON
======================================== */

.stahn-contact-submit {
  margin-top: 27px;
}

.stahn-contact-submit .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 185px;
  min-height: 56px;
  margin: 0;
  padding: 15px 29px;
  color: #fff9ed !important;
  background: #cc0038;
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  font-family: "Oswald", sans-serif;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}

.stahn-contact-submit .wpcf7-submit:hover,
.stahn-contact-submit .wpcf7-submit:focus {
  color: #fff9ed !important;
  background: #a9002e;
  transform: translateY(-1px);
}

.stahn-contact-submit .wpcf7-submit:focus-visible {
  outline: 3px solid rgba(204, 0, 56, 0.28);
  outline-offset: 3px;
}


/* Contact Form 7 spinner. */
.stahn-contact-submit .wpcf7-spinner {
  margin: 0 0 0 12px;
  vertical-align: middle;
}


/* ========================================
   VALIDATION AND RESPONSE MESSAGES
======================================== */

.stahn-contact-form-card .wpcf7-not-valid-tip {
  margin-top: 7px;
  color: #c90036;
  font-size: 13px;
  line-height: 1.4;
}

.stahn-contact-form-card .wpcf7-response-output {
  margin: 22px 0 0 !important;
  padding: 13px 16px !important;
  border: 1px solid #dba416 !important;
  border-radius: 9px;
  font-size: 14px;
  line-height: 1.5;
}

.stahn-contact-form-card form.sent .wpcf7-response-output {
  color: #145d25;
  background: #e7f5e9;
  border-color: #93c99e !important;
}

.stahn-contact-form-card form.invalid .wpcf7-response-output,
.stahn-contact-form-card form.failed .wpcf7-response-output,
.stahn-contact-form-card form.unaccepted .wpcf7-response-output {
  color: #8c0025;
  background: #fbe8ed;
  border-color: #dfa1b2 !important;
}


/* ========================================
   RIGHT CONTACT COLUMN
======================================== */

.stahn-contact-side {
  display: grid;
  gap: 24px;
  min-width: 0;
}

.stahn-contact-info-card {
  min-height: 347px;
  padding: 35px 28px 29px;
  background: #fffdf9;
  border: 1px solid #ded4c5;
  border-radius: 14px;
  box-sizing: border-box;
}

.stahn-contact-info-card h2,
.stahn-contact-info-card h3 {
  margin: 0 0 23px;
  color: #121212;
  font-family: "Oswald", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.stahn-contact-info-card .elementor-icon-list-items {
  display: grid;
  gap: 17px;
  margin: 0;
  padding: 0;
}

.stahn-contact-info-card .elementor-icon-list-item {
  align-items: flex-start;
}

.stahn-contact-info-card .elementor-icon-list-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  margin-top: 2px;
  color: #218b36;
}

.stahn-contact-info-card .elementor-icon-list-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.stahn-contact-info-card .elementor-icon-list-text {
  color: #171717;
  font-size: 16px;
  line-height: 1.55;
}

.stahn-contact-office-hours {
  margin: 20px 0 0;
  color: #5f5851;
  font-size: 14px;
  line-height: 1.6;
}


/* ========================================
   SOCIAL ICONS
======================================== */

.stahn-contact-info-card .elementor-social-icons-wrapper {
  display: flex;
  gap: 12px;
  margin-top: 21px;
}

.stahn-contact-info-card .elementor-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #171717;
  background: transparent;
  border: 1px solid #ded4c5;
  border-radius: 50%;
  font-size: 18px;
}

.stahn-contact-info-card .elementor-social-icon:hover,
.stahn-contact-info-card .elementor-social-icon:focus {
  color: #fff;
  background: #218b36;
  border-color: #218b36;
}


/* ========================================
   MAP
======================================== */

.stahn-contact-map {
  height: 290px;
  overflow: hidden;
  background: #d7e5e8;
  border: 1px solid #ded4c5;
  border-radius: 14px;
}

.stahn-contact-map iframe,
.stahn-contact-map .elementor-widget-container,
.stahn-contact-map .elementor-widget-google_maps {
  display: block;
  width: 100%;
  height: 100%;
}

.stahn-contact-map iframe {
  border: 0;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 900px) {
  .stahn-contact-layout {
    grid-template-columns: 1fr;
    width: min(100% - 32px, 700px);
  }

  .stahn-contact-form-card {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .stahn-contact-layout {
    width: min(100% - 24px, 700px);
    padding-block: 36px;
  }

  .stahn-contact-form-card {
    padding: 30px 21px 34px;
  }

  .stahn-contact-form-title {
    font-size: 25px;
  }

  .stahn-contact-form-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .stahn-contact-field-full {
    grid-column: auto;
  }

  .stahn-contact-form-card textarea {
    height: 170px;
    min-height: 170px;
  }

  .stahn-contact-submit .wpcf7-submit {
    width: 100%;
  }

  .stahn-contact-info-card {
    min-height: 0;
    padding: 30px 23px;
  }

  .stahn-contact-map {
    height: 270px;
  }
}

/* ========================================
   PORTAL MOBILE WIDTH FIX
======================================== */

.stahn-portal-login,
.stahn-portal-denied,
.stahn-portal-dashboard,
.stahn-portal-section {
  width: min(100%, 1240px);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

/* The login card should never exceed its parent. */
.stahn-portal-login {
  width: min(100%, 510px);
}

/* Allow Elementor containers to shrink correctly. */
.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container,
.elementor-widget-shortcode .elementor-shortcode {
  min-width: 0;
  max-width: 100%;
}

/* WordPress login form elements. */
#stahn-portal-login-form,
#stahn-portal-login-form p {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#stahn-portal-login-form input[type="text"],
#stahn-portal-login-form input[type="password"] {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Submit button. */
#stahn-portal-login-form .login-submit,
#stahn-portal-login-form #stahn-login-submit {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Prevent long text or links from forcing card width. */
.stahn-portal-login,
.stahn-portal-login * {
  overflow-wrap: anywhere;
}

/* Portal dashboard cards must be allowed to shrink. */
.stahn-portal-dashboard__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stahn-portal-dashboard__card,
.stahn-portal-dashboard__card-content {
  min-width: 0;
  box-sizing: border-box;
}


/* ========================================
   TABLET
======================================== */

@media (max-width: 900px) {
  .stahn-portal-dashboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 600px) {
  .stahn-portal-login {
    width: calc(100% - 24px);
    margin-right: 12px;
    margin-left: 12px;
    padding: 30px 22px;
  }

  .stahn-portal-dashboard__header,
  .stahn-portal-section__header,
  .stahn-portal-section-header {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }

  .stahn-portal-dashboard__logout,
  .stahn-portal-section__back,
  .stahn-portal-back-button {
    width: 100%;
    max-width: 100%;
    text-align: center;
    box-sizing: border-box;
  }

  .stahn-portal-dashboard__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .stahn-portal-dashboard__card {
    width: 100%;
    max-width: 100%;
  }

  #stahn-portal-login-form input[type="text"],
  #stahn-portal-login-form input[type="password"],
  #stahn-portal-login-form #stahn-login-submit {
    min-width: 0;
  }

  .stahn-announcement-form__title {
    font-size: 26px;
  }
}

.hero-7-area.breadcrumb_default {
  display: none;
}

.stahn-portal-section-header h2 {
  font-weight: 700;
}

/* preloader */
/* preloader css */
.container-preloader {
  align-items: center;
  cursor: none;
  display: flex;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 900;
}
.container-preloader .animation-preloader {
  position: absolute;
  z-index: 100;
}
.container-preloader .animation-preloader .spinner {
  animation: spinner 1s infinite linear;
  border-radius: 50%;
  height: 6em;
  width: 6em;
  border: 7px solid #DDA619;
  border-top-color: #fff;
  margin: 0 auto 3.5em auto;
}
@media only screen and (max-width: 1199px) {
  .container-preloader .animation-preloader .spinner {
    height: 4em;
    width: 4em;
    border-width: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .container-preloader .animation-preloader .spinner {
    margin: 0 auto 0.2em auto;
  }
}
.container-preloader .animation-preloader .txt-loading {
  font: bold 5em "Montserrat", sans-serif;
  text-align: center;
  user-select: none;
}
.container-preloader .animation-preloader .txt-loading .characters {
  color: #fff;
  position: relative;
  display: inline-block;
}
.dark .container-preloader .animation-preloader .txt-loading .characters {
  color: rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 767px) {
  .container-preloader .animation-preloader .txt-loading .characters {
    font-size: 50px;
  }
}
.container-preloader .animation-preloader .txt-loading .characters:before {
  color: #DDA619;
  content: attr(data-text);
  animation: characters 4s infinite;
  left: 0;
  top: 0;
  opacity: 0;
  position: absolute;
  transform: rotateY(-90deg);
}
.container-preloader .animation-preloader .txt-loading .characters:nth-child(2):before {
  animation-delay: 0.2s;
}
.container-preloader .animation-preloader .txt-loading .characters:nth-child(3):before {
  animation-delay: 0.4s;
}
.container-preloader .animation-preloader .txt-loading .characters:nth-child(4):before {
  animation-delay: 0.6s;
}
.container-preloader .animation-preloader .txt-loading .characters:nth-child(5):before {
  animation-delay: 0.8s;
}
.container-preloader .animation-preloader .txt-loading .characters:nth-child(6):before {
  animation-delay: 1s;
}
.container-preloader .loader-section {
  background-color: #fff;
  height: 100%;
  position: fixed;
  top: 0;
  width: calc(50% + 1px);
}
.dark .container-preloader .loader-section {
  background-color: #fff;
}
.container-preloader .loader-section.section-left {
  left: 0;
}
.container-preloader .loader-section.section-right {
  right: 0;
}

.loaded .animation-preloader {
  opacity: 0;
  transition: 0.3s ease-out;
}
.loaded .loader-section.section-left {
  transform: translateX(-101%);
  transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
}
.loaded .loader-section.section-right {
  transform: translateX(101%);
  transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Prevent page scrolling while loading */
body.stahn-is-loading {
  overflow: hidden;
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .container-preloader .animation-preloader .spinner {
    animation-duration: 1.8s;
  }

  .loaded .loader-section.section-left,
  .loaded .loader-section.section-right {
    transition-duration: 0.3s;
  }
}