/* ------------------------------------------------------- */
/*     Globals & Variables                                 */
/* ------------------------------------------------------- */

/* Root Variables */
:root {
  /* Base Colors */
  --primary-blue: #1893d1;
  --dark-blue: #16456b;
  --goldenrod: #f8a635;
  --green: #92c745;
  --purple: #9a1f93;
  --dark-red: #9c3d3d;
  --navy: #101935;
  --white: #ffffff;
  --light-gray: #cdcdcd;
  --dark-gray: #4a4a4a;
  --black: #000000;

  /* Box Shadow */
  --card-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

  /* Fonts */
  --primary-font: "proxima-nova", sans-serif;
  --normal-font-weight: 400;
}

/* HTML */
html {
  scroll-behavior: smooth;
}

/* Body */
body {
  font-family: var(--primary-font);
  font-weight: var(--normal-font-weight);
  font-style: normal;
}

/* ---------- Global Typography ---------- */

/* Proxima Nova Variants */
.proxima-nova-thin {
  font-family: var(--primary-font);
  font-weight: 100;
  font-style: normal;
}

.proxima-nova-thin-it {
  font-family: var(--primary-font);
  font-weight: 100;
  font-style: italic;
}

.proxima-nova-light {
  font-family: var(--primary-font);
  font-weight: 300;
  font-style: normal;
}

.proxima-nova-light-it {
  font-family: var(--primary-font);
  font-weight: 300;
  font-style: italic;
}

.proxima-nova-regular {
  font-family: var(--primary-font);
  font-weight: 400;
  font-style: normal;
}

.proxima-nova-regular-it {
  font-family: var(--primary-font);
  font-weight: 400;
  font-style: italic;
}

.proxima-nova-medium {
  font-family: var(--primary-font);
  font-weight: 500;
  font-style: normal;
}

.proxima-nova-medium-italic {
  font-family: var(--primary-font);
  font-weight: 500;
  font-style: italic;
}

.proxima-nova-semibold {
  font-family: var(--primary-font);
  font-weight: 600;
  font-style: normal;
}

.proxima-nova-semibold-it {
  font-family: var(--primary-font);
  font-weight: 600;
  font-style: italic;
}

.proxima-nova-bold {
  font-family: var(--primary-font);
  font-weight: 700;
  font-style: normal;
}

.proxima-nova-bold-it {
  font-family: var(--primary-font);
  font-weight: 700;
  font-style: italic;
}

.proxima-nova-extrabold {
  font-family: var(--primary-font);
  font-weight: 800;
  font-style: normal;
}

.proxima-nova-extrabold-it {
  font-family: var(--primary-font);
  font-weight: 800;
  font-style: italic;
}

.proxima-nova-black {
  font-family: var(--primary-font);
  font-weight: 900;
  font-style: normal;
}

.proxima-nova-black-it {
  font-family: var(--primary-font);
  font-weight: 900;
  font-style: italic;
}

/* Typography Styles */

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span {
  font-family: var(--primary-font) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3;
}

h1 {
  color: var(--dark-blue);
  font-weight: 700;
  font-size: 42px;
  margin: 0;
}

h2 {
  color: var(--dark-blue);
  font-weight: 600;
  font-size: 36px;
  margin: 0;
}

h3 {
  color: var(--dark-gray);
  font-weight: 600;
  font-size: 32px;
  margin: 0;
}

h4 {
  color: var(--dark-gray);
  font-weight: 700;
  font-size: 28px;
  margin: 0;
}

h5 {
  color: var(--dark-blue);
  font-weight: 600;
  font-size: 26px;
  margin: 0 0 6px;
}

h6 {
  color: var(--dark-blue);
  font-weight: 600;
  font-size: 18px;
  margin: 0;
}

@media (max-width: 600px) {
  h1 {
    font-size: 36px;
  }

  h2 {
    font-size: 30px;
  }

  h3 {
    font-size: 26px;
  }

  h4 {
    font-size: 22px;
  }

  h5 {
    font-size: 22px;
  }

  h6 {
    font-size: 18px;
  }
}

p {
  color: var(--black);
  font-weight: 400;
  font-size: 18px;
}

a,
.Link,
.RadGrid.RadGrid .rgRow a,
.RadGrid.RadGrid .rgAltRow a,
.RadGrid.RadGrid .rgEditForm a,
.k-grid.k-grid a,
.RadToolTip.RadToolTip a {
  color: var(--purple);
  text-decoration: underline;
  transition: all 0.3s ease-in-out;
}

a:visited,
.Link:visited,
.RadGrid.RadGrid .rgRow a:visited,
.RadGrid.RadGrid .rgAltRow a:visited,
.RadGrid.RadGrid .rgEditForm a:visited,
.k-grid.k-grid a:visited,
.RadToolTip.RadToolTip a:visited {
  color: var(--purple);
}

a:hover,
a:focus,
a:active,
.Link:hover,
.Link:focus,
.Link:active,
.RadGrid.RadGrid .rgRow a:hover,
.RadGrid.RadGrid .rgRow a:focus,
.RadGrid.RadGrid .rgRow a:active,
.RadGrid.RadGrid .rgAltRow a:hover,
.RadGrid.RadGrid .rgAltRow a:focus,
.RadGrid.RadGrid .rgAltRow a:active,
.RadGrid.RadGrid .rgEditForm a:hover,
.RadGrid.RadGrid .rgEditForm a:focus,
.RadGrid.RadGrid .rgEditForm a:active,
.k-grid.k-grid a:hover,
.k-grid.k-grid a:focus,
.k-grid.k-grid a:active,
.RadToolTip.RadToolTip a:hover,
.RadToolTip.RadToolTip a:focus,
.RadToolTip.RadToolTip a:active {
  color: var(--dark-blue);
  text-decoration: underline;
}

h2,
.h2,
.PanelTitle {
  color: var(--dark-blue);
}

/* ---------- Global Styles ---------- */

.wrapper {
  display: block;
}

#masterContentArea {
  min-height: 75vh;
}

.heading-center {
  font-size: 32px;
  font-weight: 600;
  margin: 25px 0 30px;
  position: relative;
  padding-bottom: 8px;
  text-align: center;
}

.heading-center::after {
  content: "";
  position: absolute;
  display: block;
  height: 2px;
  background-color: var(--primary-blue);
  width: 150px;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
}

.btn,
.TextButton,
.RadUpload.RadUpload .ruButton,
.RadUploadProgressArea.RadUploadProgressArea .ruButton {
  background-color: transparent;
  border-color: var(--dark-blue);
  font-family: var(--primary-font);
  font-size: 16px;
  border: 2px solid var(--dark-blue);
  border-radius: 0;
  color: var(--dark-blue);
  text-transform: uppercase;
}

.btn,
.btn:visited,
.TextButton,
.TextButton:visited,
.RadUpload.RadUpload .ruButton,
.RadUpload.RadUpload .ruButton:visited,
.RadUploadProgressArea.RadUploadProgressArea .ruButton,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:visited {
  color: var(--dark-blue);
}

.btn:hover,
.btn:focus,
.btn:active,
.TextButton:hover,
.TextButton:focus,
.TextButton:active,
.RadUpload.RadUpload .ruButton:hover,
.RadUpload.RadUpload .ruButton:focus,
.RadUpload.RadUpload .ruButton:active,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:hover,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:focus,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:active {
  color: white;
  text-decoration: none;
  background-color: var(--dark-blue);
  border-color: var(--dark-blue);
}

.TextButton {
  background-color: transparent;
  border: 2px solid var(--dark-blue);
  border-radius: 0 !important;
  color: var(--dark-blue);
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
}

.TextButton:hover {
  background-color: var(--dark-blue);
  border: 2px solid var(--dark-blue);
  color: var(--white);
}

.PrimaryButton {
  background-color: var(--dark-blue);
  border: 2px solid var(--dark-blue);
  border-radius: 0 !important;
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
}

.PrimaryButton:visited {
  color: var(--white);
}

.PrimaryButton:hover {
  background-color: transparent;
  border: 2px solid var(--dark-blue);
  color: var(--dark-blue);
}

.btn:disabled,
.btn:disabled:hover,
.btn:disabled:focus,
.btn:disabled:active,
.btn.disabled,
.btn.disabled:hover,
.btn.disabled:focus,
.btn.disabled:active,
.btn.aspNetDisabled,
.btn.aspNetDisabled:hover,
.btn.aspNetDisabled:focus,
.btn.aspNetDisabled:active,
.TextButton:disabled,
.TextButton:disabled:hover,
.TextButton:disabled:focus,
.TextButton:disabled:active,
.TextButton.disabled,
.TextButton.disabled:hover,
.TextButton.disabled:focus,
.TextButton.disabled:active,
.TextButton.aspNetDisabled,
.TextButton.aspNetDisabled:hover,
.TextButton.aspNetDisabled:focus,
.TextButton.aspNetDisabled:active,
.RadUpload.RadUpload .ruButton:disabled,
.RadUpload.RadUpload .ruButton:disabled:hover,
.RadUpload.RadUpload .ruButton:disabled:focus,
.RadUpload.RadUpload .ruButton:disabled:active,
.RadUpload.RadUpload .ruButton.disabled,
.RadUpload.RadUpload .ruButton.disabled:hover,
.RadUpload.RadUpload .ruButton.disabled:focus,
.RadUpload.RadUpload .ruButton.disabled:active,
.RadUpload.RadUpload .ruButton.aspNetDisabled,
.RadUpload.RadUpload .ruButton.aspNetDisabled:hover,
.RadUpload.RadUpload .ruButton.aspNetDisabled:focus,
.RadUpload.RadUpload .ruButton.aspNetDisabled:active,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:disabled,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:disabled:hover,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:disabled:focus,
.RadUploadProgressArea.RadUploadProgressArea .ruButton:disabled:active,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.disabled,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.disabled:hover,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.disabled:focus,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.disabled:active,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.aspNetDisabled,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.aspNetDisabled:hover,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.aspNetDisabled:focus,
.RadUploadProgressArea.RadUploadProgressArea .ruButton.aspNetDisabled:active {
  color: var(--dark-blue);
  background-color: transparent;
  border-color: var(--dark-blue);
}

.PrimaryButton:disabled,
.PrimaryButton:disabled:hover,
.PrimaryButton:disabled:focus,
.PrimaryButton:disabled:active,
.PrimaryButton.disabled,
.PrimaryButton.disabled:hover,
.PrimaryButton.disabled:focus,
.PrimaryButton.disabled:active,
.PrimaryButton.aspNetDisabled,
.PrimaryButton.aspNetDisabled:hover,
.PrimaryButton.aspNetDisabled:focus,
.PrimaryButton.aspNetDisabled:active,
.UsePrimaryButton .TextButton:disabled,
.UsePrimaryButton .TextButton:disabled:hover,
.UsePrimaryButton .TextButton:disabled:focus,
.UsePrimaryButton .TextButton:disabled:active,
.UsePrimaryButton .TextButton.disabled,
.UsePrimaryButton .TextButton.disabled:hover,
.UsePrimaryButton .TextButton.disabled:focus,
.UsePrimaryButton .TextButton.disabled:active,
.UsePrimaryButton .TextButton.aspNetDisabled,
.UsePrimaryButton .TextButton.aspNetDisabled:hover,
.UsePrimaryButton .TextButton.aspNetDisabled:focus,
.UsePrimaryButton .TextButton.aspNetDisabled:active,
.RadGrid input.PrimaryButton:disabled,
.RadGrid input.PrimaryButton:disabled:hover,
.RadGrid input.PrimaryButton:disabled:focus,
.RadGrid input.PrimaryButton:disabled:active,
.RadGrid input.PrimaryButton.disabled,
.RadGrid input.PrimaryButton.disabled:hover,
.RadGrid input.PrimaryButton.disabled:focus,
.RadGrid input.PrimaryButton.disabled:active,
.RadGrid input.PrimaryButton.aspNetDisabled,
.RadGrid input.PrimaryButton.aspNetDisabled:hover,
.RadGrid input.PrimaryButton.aspNetDisabled:focus,
.RadGrid input.PrimaryButton.aspNetDisabled:active,
.RadGrid.RadGrid input.TextButton.PrimaryButton:disabled,
.RadGrid.RadGrid input.TextButton.PrimaryButton:disabled:hover,
.RadGrid.RadGrid input.TextButton.PrimaryButton:disabled:focus,
.RadGrid.RadGrid input.TextButton.PrimaryButton:disabled:active,
.RadGrid.RadGrid input.TextButton.PrimaryButton.disabled,
.RadGrid.RadGrid input.TextButton.PrimaryButton.disabled:hover,
.RadGrid.RadGrid input.TextButton.PrimaryButton.disabled:focus,
.RadGrid.RadGrid input.TextButton.PrimaryButton.disabled:active,
.RadGrid.RadGrid input.TextButton.PrimaryButton.aspNetDisabled,
.RadGrid.RadGrid input.TextButton.PrimaryButton.aspNetDisabled:hover,
.RadGrid.RadGrid input.TextButton.PrimaryButton.aspNetDisabled:focus,
.RadGrid.RadGrid input.TextButton.PrimaryButton.aspNetDisabled:active,
.RadGrid.RadGrid a.TextButton.PrimaryButton:disabled,
.RadGrid.RadGrid a.TextButton.PrimaryButton:disabled:hover,
.RadGrid.RadGrid a.TextButton.PrimaryButton:disabled:focus,
.RadGrid.RadGrid a.TextButton.PrimaryButton:disabled:active,
.RadGrid.RadGrid a.TextButton.PrimaryButton.disabled,
.RadGrid.RadGrid a.TextButton.PrimaryButton.disabled:hover,
.RadGrid.RadGrid a.TextButton.PrimaryButton.disabled:focus,
.RadGrid.RadGrid a.TextButton.PrimaryButton.disabled:active,
.RadGrid.RadGrid a.TextButton.PrimaryButton.aspNetDisabled,
.RadGrid.RadGrid a.TextButton.PrimaryButton.aspNetDisabled:hover,
.RadGrid.RadGrid a.TextButton.PrimaryButton.aspNetDisabled:focus,
.RadGrid.RadGrid a.TextButton.PrimaryButton.aspNetDisabled:active {
  color: var(--white);
  background-color: var(--dark-blue);
  border-color: var(--dark-blue);
}

table td .btn {
  color: var(--dark-blue) !important;
  text-decoration: none !important;
  background-color: transparent;
  border: 2px solid var(--dark-blue);
  border-radius: 0 !important;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
}

table td .btn:hover,
table td .btn:active,
table td .btn:focus {
  color: var(--white) !important;
  text-decoration: none !important;
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input,
.input-fake {
  color: var(--black);
  border: 1px solid #cecece;
  border-radius: 0;
  box-shadow: none;
}

/* ------------------------------------------------------- */
/*    Header Styles                                        */
/* ------------------------------------------------------- */
.clm-header {
  background-color: var(--white);
  border-top: 15px solid var(--primary-blue);
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}

.header-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.utility-nav {
  background-color: var(--white);
  padding: 10px 0 2px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media (min-width: 992px) {
  .utility-nav {
    margin-bottom: -5px;
  }

  .obo-toggle:hover,
  .obo-toggle:focus,
  .obo-toggle.on,
  a.ste-toggle:hover,
  a.ste-toggle:focus,
  a.ste-toggle.on,
  .page-statistics-toggle:hover,
  .page-statistics-toggle:focus,
  .page-statistics-toggle.on {
    background: var(--primary-blue);
  }
}

/* Account Area */
.UtilityNavigation .account-menu > li > a,
.UtilityNavigation .account-menu > li > a:hover,
.UtilityNavigation .account-menu > li > a:visited,
.UtilityNavigation .account-menu > li > a:active {
  color: var(--dark-blue);
}

.account-toggle .nav-text {
  transition: all 0.2s ease-in-out;
}

.sign-in-link {
  color: var(--dark-blue);
  transition: all 0.3s ease-in-out;
}

.sign-in-link:hover {
  color: var(--primary-blue) !important;
}

.account-menu .account-toggle .caret {
  background: var(--dark-blue);
  transition: all 0.2s ease-in-out;
}

.account-menu .account-toggle:hover .nav-text,
.account-menu .account-toggle:focus .nav-text {
  color: var(--primary-blue) !important;
}

.account-menu .account-toggle:hover .caret,
.account-menu .account-toggle:focus .caret {
  background: var(--primary-blue) !important;
}

.account-menu .dropdown-menu > li > a {
  font-weight: 600;
  color: var(--dark-blue);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.account-menu .dropdown-menu > li > a:hover,
.account-menu .dropdown-menu > li > a:focus {
  color: var(--primary-blue) !important;
}

/* On Behalf of Icon */
.utility-links a {
  margin-left: 0px;
}

.navbar-toggle,
.obo-toggle,
.ste-toggle,
.page-statistics-toggle,
.searchbar-toggle {
  background: var(--dark-blue);
}

.ProxyPanelContact {
  background-color: var(--dark-blue);
}

/* Easy Edit */
a.ste-toggle {
  background: var(--dark-blue);
}

/* Search Bar */
.UtilitySection.UtilitySearch {
  border-left: 1px solid limegreen;
  margin-left: 15px;
}

div#SimpleSearchBlock {
  margin-left: 12px;
}

input,
button,
select,
textarea {
  font-family: var(--primary-font);
}

.UtilitySearch #SimpleSearchBlock .search-field {
  background-position: -1px 4px;
  border-radius: 0;
  height: 30px;
  color: rgb(179, 179, 179);
  font-size: 83%;
  border-bottom: 1px solid limegreen;
  background-image: url(images/search-icon.png);
  background-size: 20px 20px;
  background-color: transparent;
}

.UtilitySearch #SimpleSearchBlock .search-field:focus,
.UtilitySearch #SimpleSearchBlock .search-field:hover,
.UtilitySearch #SimpleSearchBlock .search-field:active {
  width: 150px;
  background-color: transparent;
  color: var(--primary-blue);
}

.UtilitySearch #SimpleSearchBlock .search-field:focus {
  border-color: transparent;
  border-bottom: 1px solid limegreen;
  box-shadow: none;
  background-color: transparent;
}

@media (max-width: 992px) {
  .searchbar-toggle {
    mask-image: url(images/search-icon.png);
  }

  .navbar-toggle.collapsed,
  .searchbar-toggle.collapsed {
    background: var(--primary-blue);
  }

  .navbar-toggle,
  .searchbar-toggle {
    mask-size: 22px 22px;
  }

  .search-container .search-field {
    color: rgb(179, 179, 179);
    font-size: 75%;
    border: 1px solid var(--green);
    background-image: url(images/search-icon.png);
    background-color: transparent;
  }

  .search-container input[type="text"]:focus {
    color: var(--primary-blue);
  }
}

.join-btn-wrapper a {
  background-color: transparent;
  border: 2px solid var(--dark-blue);
  border-radius: 0;
  color: var(--dark-blue);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  padding: 6px 10px;
  margin-left: 20px;
  transition: all 0.3s ease-in-out;
}

.join-btn-wrapper a:hover {
  background-color: var(--dark-blue);
  border: 2px solid var(--dark-blue);
  color: white;
  text-decoration: none;
}

/* Header Logo */
.logo-section {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.logo img {
  width: auto;
  vertical-align: baseline;
}

/* Primary Navigation */
@media (min-width: 992px) {
  .logo-section {
    padding: 0 0 5px;
  }

  .mobile-nav-container {
    display: none;
  }

  .RadMenu.RadMenu_Coffee ul.rmRootGroup > .rmItem {
    display: flex;
    align-items: flex-end;
  }

  .RadMenu.RadMenu_Coffee ul.rmRootGroup > .rmItem > .rmLink {
    margin: 0;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    text-align: center;
    line-height: 1.1;
  }

  .RadMenu.RadMenu_Coffee .rmRootLink::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0%;
    height: 5px;
    transform: translateX(-50%);
    background-color: var(--primary-blue);
    z-index: 50;
    transition: width 0.3s ease;
  }
  .RadMenu.RadMenu_Coffee .rmRootLink:hover::after,
  .RadMenu.RadMenu_Coffee .rmRootLink.rmExpanded::after,
  .RadMenu.RadMenu_Coffee .rmRootLink.rmFocused::after {
    width: 75%;
  }

  .RadMenu.RadMenu_Coffee ul.rmRootGroup > .rmItem {
    transition: all 0.2s ease-in-out;
  }

  .RadMenu.RadMenu_Coffee ul .rmItem:hover .rmRootLink {
    color: var(--dark-blue) !important;
  }

  .RadMenu.RadMenu_Coffee .rmRootLink.rmExpanded,
  .RadMenu.RadMenu_Coffee .rmRootLink:hover,
  .RadMenu.RadMenu_Coffee .rmRootLink.rmFocused {
    color: var(--dark-blue);
    text-decoration: underline;
  }

  .bold {
    font-weight: 700 !important;
  }
}

@media (max-width: 992px) {
  div[id$="_ciNewPrimaryNavigationCommon"] {
    display: none;
  }
}

.RadMenu.RadMenu_Coffee {
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .RadMenu.RadMenu_Coffee {
    padding-right: 0;
  }
}

.RadMenu.RadMenu_Coffee .rmRootLink {
  font-family: var(--primary-font);
  font-size: 18px;
  font-weight: bold;
  color: var(--dark-blue);
  transition: all 0.2s ease-in-out;
}

.RadMenu.RadMenu_Coffee .rmRootLink.rmSelected {
  color: var(--primary-blue);
}

@media (min-width: 992px) {
  .RadMenu.RadMenu_Coffee .rmRootLink.rmExpanded,
  .RadMenu.RadMenu_Coffee .rmRootLink:hover,
  .RadMenu.RadMenu_Coffee .rmRootLink.rmFocused {
    border-radius: 0;
  }

  .RadMenu.RadMenu_Coffee .rmRootGroup > li > div.rmSlide .rmGroup {
    animation: none;
  }

  .rmRootGroup li.rmItem {
    animation: fadeIn 0.8s ease-in-out forwards;
  }
}

/* Dropdown Menu keyframes animation */
@keyframes menu-fade-down {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (min-width: 992px) {
  .RadMenu.RadMenu_Coffee .rmToggle .rmIcon,
  .RadMenu.RadMenu_Coffee .rmRootGroup .rmRootLink .rmToggle .rmIcon {
    display: none;
  }
}

.main-nav {
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
  width: 100%;
}

@media (max-width: 992px) {
  .clm-header {
    padding: 12px 0 2px;
  }

  .main-nav {
    align-items: center;
  }

  .primary-navigation {
    display: flex;
    align-items: flex-end;
  }

  .RadMenu.RadMenu ul.rmHorizontal {
    margin-top: 15px;
  }

  .RadMenu.RadMenu_Coffee .rmRootLink {
    font-size: 18px;
  }

  .RadMenu.RadMenu_Coffee .rmHorizontal .rmText,
  .RadMenu.RadMenu_Coffee .rmText {
    padding: 12px 15px;
    display: inline-block !important;
  }

  .RadMenu.RadMenu_Coffee .rmRootLink.rmExpanded,
  .RadMenu.RadMenu_Coffee .rmRootLink:hover,
  .RadMenu.RadMenu_Coffee .rmRootLink.rmFocused {
    color: var(--primary-blue);
  }

  .RadMenu.RadMenu_Coffee .rmLink:hover .rmToggle > .rmIcon,
  .RadMenu.RadMenu_Coffee .rmLink.rmFocused .rmToggle > .rmIcon,
  .RadMenu.RadMenu_Coffee .rmSelected > .rmLink .rmToggle > .rmIcon,
  .RadMenu.RadMenu_Coffee .rmFocused > .rmLink.rmRootLink .rmToggle > .rmIcon,
  .RadMenu.RadMenu_Coffee .rmExpanded > .rmLink .rmToggle > .rmIcon,
  .RadMenu.RadMenu_Coffee .rmSlide .rmLink .rmToggle > .rmIcon {
    background: var(--primary-blue);
  }

  .RadMenu.RadMenu_Coffee .rmToggle .rmIcon,
  .RadMenu.RadMenu_Coffee .rmRootGroup .rmRootLink .rmToggle .rmIcon {
    background: var(--dark-blue);
    transition: all 0.15s ease-in-out;
  }

  .sign-in-link {
    padding-right: 10px;
  }
}

/* Menu Dropdown */
.RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup {
  border-radius: 0;
}

.RadMenu.RadMenu_Coffee .rmTwoLevels .rmLevel1 > .rmItem > .rmLink,
.RadMenu.RadMenu_Coffee
  .rmTwoLevels
  .rmLevel1
  > .rmItem.rmDisabled
  > .rmLink:hover,
.RadMenu.RadMenu_Coffee
  .rmTwoLevels
  .rmLevel1
  > .rmItem.rmDisabled
  > .rmLink:focus {
  color: var(--dark-blue);
  font-weight: 700;
  font-family: var(--primary-font);
  text-transform: uppercase;
}

.RadMenu_Coffee .rmSlide .rmLink {
  color: var(--dark-blue);
  font-family: var(--primary-font);
  font-weight: 500;
}

.RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmLink:hover,
.RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmFocused,
.RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmExpanded {
  color: var(--primary-blue);
}

/* Hamburger Icon */
button.navbar-toggler {
  background-color: transparent;
  border: none;
}

@media (min-width: 992px) {
  .RadMenu.RadMenu_Coffee .rmHorizontal .rmText,
  .RadMenu.RadMenu_Coffee .rmText {
    padding: 12px 10px 16px;
  }

  .hamburger-icon-wrapper {
    display: none;
  }
}

.navbar-toggler span {
  display: block;
  background-color: var(--dark-blue);
  height: 3px;
  width: 40px;
  border-radius: 6px;
  margin-top: 7px;
  margin-bottom: 4px;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  position: relative;
  left: 0;
  opacity: 1;
}

.navbar-toggler:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.navbar-toggler span:nth-child(1),
.navbar-toggler span:nth-child(3) {
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.35s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition:
    transform 0.2s ease-in-out,
    -webkit-transform 0.2s ease-in-out;
}

.navbar-toggler:not(.collapsed) span:nth-child(1) {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  opacity: 0.9;
  margin-top: 15px;
}

.navbar-toggler:not(.collapsed) span:nth-child(2) {
  height: 11px;
  visibility: hidden;
  background-color: transparent;
  margin-top: -25px;
}

.navbar-toggler:not(.collapsed) span:nth-child(3) {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  opacity: 0.9;
  margin-bottom: 1rem;
}

/* Mega Menu Styles */

@media (min-width: 992px) {
  /* .RadMenu.RadMenu_Coffee .rmSlide {
    box-shadow: 0 8px 6px -6px rgba(0, 0, 0, 0.1);
    border-radius: 0;
    margin-top: -1px;
    animation: menu-fade-down 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  } */

  .RadMenu.RadMenu_Coffee .rmSlide {
    box-shadow:
      rgba(0, 0, 0, 0.1) 0px 4px 6px -1px,
      rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
    border-radius: 0;
    animation: menu-fade-down 0.45s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }

  .RadMenu.RadMenu_Coffee .rmExpandRight,
  .RadMenu.RadMenu_Coffee .rmGroup a.rmLink.rmExpandRight {
    display: flex;
    align-items: center;
  }

  .RadMenu.RadMenu_Coffee .rmGroup.rmLevel1 .rmToggle,
  .RadMenu.RadMenu_Coffee .rmToggle .rmIcon {
    display: block;
  }

  .RadMenu .rmGroup.rmLevel1 .rmToggle {
    margin-right: 8px;
  }

  /* Previous Mega Menu Styles --- Keeping Here for now */
  /* .RadMenu.RadMenu_Coffee.MegaDropDownMenuOuter ul.rmLevel1 div.rmSlide,
  .RadMenu.RadMenu_Coffee.MegaDropDownMenuOuter
    ul.rmLevel1
    ul.rmVertical
    div.rmSlide {
    width: 100% !important;
  }

  .RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup {
    border-radius: 0;
  }

  .RadMenu.RadMenu_Coffee .rmRootGroup > li > div.rmSlide .rmGroup {
    min-height: 245px !important;
    margin-left: 5.5px;
  }

  ul.rmVertical.rmGroup.rmLevel1 {
    width: 100vw !important;
    columns: 3;
    column-rule: 2px solid var(--green);
    padding: 25px 0 !important;
  }

  .RadMenu.MegaDropDownMenuOuter ul.rmLevel2 {
    display: block !important;
    left: auto !important;
    flex-flow: row wrap;
    margin-left: 0 !important;
  }

  .RadMenu.MegaDropDownMenuOuter ul.rmLevel2 > .rmItem {
    width: 100%;
    break-inside: avoid;
    white-space: normal;
    padding-left: 10px;
    align-self: self-start;
  }

  .RadMenu.RadMenu_Coffee .rmTwoLevels .rmLevel1 > .rmItem > .rmLink {
    font-size: 16px;
  }

  .RadMenu_Coffee .rmSlide .rmLink {
    font-size: 16px;
  }

  .RadMenu_Coffee .rmSlide .rmLink:hover,
  .RadMenu_Coffee .rmSlide .rmLink:focus,
  .RadMenu_Coffee .rmSlide .rmLink.rmFocused,
  .RadMenu_Coffee .rmSlide .rmLevel1 > .rmItem > .rmLink:hover,
  .RadMenu_Coffee .rmSlide .rmLevel1 > .rmItem > .rmLink:focus,
  .RadMenu_Coffee .rmSlide .rmLevel1 > .rmItem > .rmLink.rmFocused {
    background-color: transparent;
  }

  .RadMenu.RadMenu_Coffee .rmSlide .rmItem {
    float: none;
    display: block;
    padding-left: 30px;
  }

  .RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmLink .rmText {
    padding: 8px 30px 8px 15px;
    width: 100%;
  }

  .RadMenu.RadMenu_Coffee .rmSlide ul.rmGroup .rmLink {
    transition: all 0.2s ease-in;
    width: 100% !important;
  } */
}

.RadMenu.RadMenu_Coffee .rmSlide .rmLink .rmToggle > .rmIcon {
  background: var(--dark-blue);
  transition: all 0.15s ease-in-out;
}

.RadMenu.RadMenu_Coffee .rmExpanded.rmLink > .rmToggle > .rmIcon {
  background: var(--primary-blue);
}

/* Mobile Menu */

@media (max-width: 992px) {
  .mobile-nav-wrapper .utility-nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 15px;
    padding-top: 15px;
    animation: fadeIn 0.8s ease-in-out forwards;
  }

  .RadMenu.RadMenu_Coffee .rmGroup {
    background-color: var(--dark-blue);
    border-radius: 0 !important;
  }

  .RadMenu.RadMenu_Coffee .rmRootGroup > .rmItem {
    border-width: 1px !important;
    border-style: none;
    animation: fadeIn 0.8s ease-in-out forwards;
  }

  .MainMenu .rmHorizontal li.rmItem {
    border-top: 1px solid var(--green) !important;
  }

  .rmSlide .rmLevel1 li.rmItem {
    border: none !important;
  }

  .RadMenu.RadMenu_Coffee .rmRootLink {
    display: flex !important;
    align-items: center;
  }

  .RadMenu_Coffee .rmSlide .rmLink {
    color: var(--white);
  }

  .RadMenu.RadMenu_Coffee .rmTwoLevels .rmLevel1 > .rmItem > .rmLink,
  .RadMenu.RadMenu_Coffee
    .rmTwoLevels
    .rmLevel1
    > .rmItem.rmDisabled
    > .rmLink:hover,
  .RadMenu.RadMenu_Coffee
    .rmTwoLevels
    .rmLevel1
    > .rmItem.rmDisabled
    > .rmLink:focus {
    color: var(--white);
    text-transform: capitalize;
  }
}

@media (max-width: 991px) {
  .header-container .UtilityNavigation.nav-auxiliary {
    text-align: left;
  }
}

/* ------------------------------------------------------- */
/* Footer Styles                                           */
/* ------------------------------------------------------- */

.clm-footer {
  background-color: var(--navy);
  margin-top: 50px;
  padding: 40px 0;
  color: var(--white);
  font-size: 14px;
}

.footer-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  box-sizing: border-box;
}

.footer-social {
  display: flex;
  align-items: center;
  margin: 10px 15px;
}

.footer-social a {
  position: relative;
  color: var(--navy);
  margin-right: 15px;
  font-size: 20px;
  text-decoration: none;
}

.footer-social a:last-child {
  margin-right: 0;
}

.footer-social a span {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: var(--white);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease-in-out;
}

.footer-social a:hover span {
  transform: scale(1.1);
}

.footer-social a span em {
  color: var(--navy);
  font-size: 26px;
  transition: all 0.2s ease-in-out;
}

.footer-social a:hover em {
  color: var(--primary-blue);
}

.footer-center-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 15px 10px;
  flex-grow: 1;
  text-align: center;
}

.footer-nav-links {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.footer-nav-links li {
  margin: 0 10px 5px;
  position: relative;
}

.footer-nav-links li a {
  color: var(--white);
  text-decoration: none;
  font-size: 16px;
  text-transform: uppercase;
  transition: all 0.2s ease-in-out;
}

.footer-nav-links li a:hover {
  color: var(--primary-blue);
}

.footer-nav-links li:not(:last-child)::after {
  content: "|";
  position: absolute;
  font-size: 18px;
  right: -13px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--white);
  pointer-events: none;
}

.footer-copyright {
  font-size: 14px;
}

.footer-logo {
  display: flex;
  align-items: center;
  margin: 10px 15px;
}

.footer-logo img {
  width: 200px;
}

@media (max-width: 992px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
  }

  .footer-social-container,
  .footer-logo-container {
    width: 100%;
    max-width: 450px;
    margin-bottom: 35px;
    padding: 0;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    justify-content: center;
  }

  .footer-links-container {
    width: 100%;
    max-width: 450px;
    margin-bottom: 0;
    padding: 0;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    justify-content: center;
  }

  .footer-logo-container {
    order: 1;
  }
  .footer-logo {
    justify-content: center;
  }

  .footer-social-container {
    order: 2;
  }
  .footer-social {
    justify-content: center;
  }

  .footer-links-container {
    order: 3;
    min-width: unset;
  }
  .footer-center-content {
    align-items: center;
  }
  .footer-nav-links {
    justify-content: center;
  }
  .footer-nav-links li {
    margin: 0 8px 5px;
  }
  .footer-nav-links li:not(:last-child)::after {
    right: -10px;
  }
}

/* ------------------------------------------------------- */
/*     Override Main Styles                                */
/* ------------------------------------------------------- */

.SearchField {
  background-color: var(--primary-blue);
}

.SearchResultSummary .ListItemTitle a {
  background-color: var(--primary-blue);
}

.SearchResultSummary .ListItemTitle a:hover {
  background-color: var(--dark-blue);
  text-decoration: none !important;
}

.page-item.active .page-link {
  background: var(--primary-blue)
    linear-gradient(180deg, var(--primary-blue), var(--primary-blue)) repeat-x;
  border-color: var(--primary-blue);
}

.page-link {
  color: var(--primary-blue);
}

a:not(.aspNetDisabled):hover .sysicon.sysicon-panel-config:after,
a:not(.aspNetDisabled):focus .sysicon.sysicon-panel-config:after,
a:not(.aspNetDisabled):hover .sysicon--before.sysicon-panel-config:before,
a:not(.aspNetDisabled):focus .sysicon--before.sysicon-panel-config:before,
a:not(.aspNetDisabled):hover .sysicon--after.sysicon-panel-config:after,
a:not(.aspNetDisabled):focus .sysicon--after.sysicon-panel-config:after,
a.sysicon.sysicon-panel-config:not(.aspNetDisabled):hover:after,
a.sysicon.sysicon-panel-config:not(.aspNetDisabled):focus:after,
a.sysicon--before.sysicon-panel-config:not(.aspNetDisabled):hover:before,
a.sysicon--before.sysicon-panel-config:not(.aspNetDisabled):focus:before,
a.sysicon--after.sysicon-panel-config:not(.aspNetDisabled):hover:after,
a.sysicon--after.sysicon-panel-config:not(.aspNetDisabled):focus:after,
button.sysicon.sysicon-panel-config:not([disabled]):hover:after,
button.sysicon--before.sysicon-panel-config:not([disabled]):hover:before,
button.sysicon--after.sysicon-panel-config:not([disabled]):hover:after,
button.sysicon.sysicon-panel-config:not([disabled]):focus:after,
button.sysicon--before.sysicon-panel-config:not([disabled]):focus:before,
button.sysicon--after.sysicon-panel-config:not([disabled]):focus:after,
a:not(.aspNetDisabled):hover .sysicon.sysicon-edit:after,
a:not(.aspNetDisabled):focus .sysicon.sysicon-edit:after,
a:not(.aspNetDisabled):hover .sysicon--before.sysicon-edit:before,
a:not(.aspNetDisabled):focus .sysicon--before.sysicon-edit:before,
a:not(.aspNetDisabled):hover .sysicon--after.sysicon-edit:after,
a:not(.aspNetDisabled):focus .sysicon--after.sysicon-edit:after,
a.sysicon.sysicon-edit:not(.aspNetDisabled):hover:after,
a.sysicon.sysicon-edit:not(.aspNetDisabled):focus:after,
a.sysicon--before.sysicon-edit:not(.aspNetDisabled):hover:before,
a.sysicon--before.sysicon-edit:not(.aspNetDisabled):focus:before,
a.sysicon--after.sysicon-edit:not(.aspNetDisabled):hover:after,
a.sysicon--after.sysicon-edit:not(.aspNetDisabled):focus:after,
button.sysicon.sysicon-edit:not([disabled]):hover:after,
button.sysicon--before.sysicon-edit:not([disabled]):hover:before,
button.sysicon--after.sysicon-edit:not([disabled]):hover:after,
button.sysicon.sysicon-edit:not([disabled]):focus:after,
button.sysicon--before.sysicon-edit:not([disabled]):focus:before,
button.sysicon--after.sysicon-edit:not([disabled]):focus:after,
a:not(.aspNetDisabled):hover .sysicon.sysicon-expanded:after,
a:not(.aspNetDisabled):focus .sysicon.sysicon-expanded:after,
a:not(.aspNetDisabled):hover .sysicon--before.sysicon-expanded:before,
a:not(.aspNetDisabled):focus .sysicon--before.sysicon-expanded:before,
a:not(.aspNetDisabled):hover .sysicon--after.sysicon-expanded:after,
a:not(.aspNetDisabled):focus .sysicon--after.sysicon-expanded:after,
a.sysicon.sysicon-expanded:not(.aspNetDisabled):hover:after,
a.sysicon.sysicon-expanded:not(.aspNetDisabled):focus:after,
a.sysicon--before.sysicon-expanded:not(.aspNetDisabled):hover:before,
a.sysicon--before.sysicon-expanded:not(.aspNetDisabled):focus:before,
a.sysicon--after.sysicon-expanded:not(.aspNetDisabled):hover:after,
a.sysicon--after.sysicon-expanded:not(.aspNetDisabled):focus:after,
button.sysicon.sysicon-expanded:not([disabled]):hover:after,
button.sysicon--before.sysicon-expanded:not([disabled]):hover:before,
button.sysicon--after.sysicon-expanded:not([disabled]):hover:after,
button.sysicon.sysicon-expanded:not([disabled]):focus:after,
button.sysicon--before.sysicon-expanded:not([disabled]):focus:before,
button.sysicon--after.sysicon-expanded:not([disabled]):focus:after,
a:not(.aspNetDisabled):hover .sysicon.sysicon-copy:after,
a:not(.aspNetDisabled):focus .sysicon.sysicon-copy:after,
a:not(.aspNetDisabled):hover .sysicon--before.sysicon-copy:before,
a:not(.aspNetDisabled):focus .sysicon--before.sysicon-copy:before,
a:not(.aspNetDisabled):hover .sysicon--after.sysicon-copy:after,
a:not(.aspNetDisabled):focus .sysicon--after.sysicon-copy:after,
a.sysicon.sysicon-copy:not(.aspNetDisabled):hover:after,
a.sysicon.sysicon-copy:not(.aspNetDisabled):focus:after,
a.sysicon--before.sysicon-copy:not(.aspNetDisabled):hover:before,
a.sysicon--before.sysicon-copy:not(.aspNetDisabled):focus:before,
a.sysicon--after.sysicon-copy:not(.aspNetDisabled):hover:after,
a.sysicon--after.sysicon-copy:not(.aspNetDisabled):focus:after,
button.sysicon.sysicon-copy:not([disabled]):hover:after,
button.sysicon--before.sysicon-copy:not([disabled]):hover:before,
button.sysicon--after.sysicon-copy:not([disabled]):hover:after,
button.sysicon.sysicon-copy:not([disabled]):focus:after,
button.sysicon--before.sysicon-copy:not([disabled]):focus:before,
button.sysicon--after.sysicon-copy:not([disabled]):focus:after,
a:not(.aspNetDisabled):hover .sysicon.sysicon-add:after,
a:not(.aspNetDisabled):focus .sysicon.sysicon-add:after,
a:not(.aspNetDisabled):hover .sysicon--before.sysicon-add:before,
a:not(.aspNetDisabled):focus .sysicon--before.sysicon-add:before,
a:not(.aspNetDisabled):hover .sysicon--after.sysicon-add:after,
a:not(.aspNetDisabled):focus .sysicon--after.sysicon-add:after,
a.sysicon.sysicon-add:not(.aspNetDisabled):hover:after,
a.sysicon.sysicon-add:not(.aspNetDisabled):focus:after,
a.sysicon--before.sysicon-add:not(.aspNetDisabled):hover:before,
a.sysicon--before.sysicon-add:not(.aspNetDisabled):focus:before,
a.sysicon--after.sysicon-add:not(.aspNetDisabled):hover:after,
a.sysicon--after.sysicon-add:not(.aspNetDisabled):focus:after,
button.sysicon.sysicon-add:not([disabled]):hover:after,
button.sysicon--before.sysicon-add:not([disabled]):hover:before,
button.sysicon--after.sysicon-add:not([disabled]):hover:after,
button.sysicon.sysicon-add:not([disabled]):focus:after,
button.sysicon--before.sysicon-add:not([disabled]):focus:before,
button.sysicon--after.sysicon-add:not([disabled]):focus:after,
a:not(.aspNetDisabled):hover .sysicon.sysicon-collapsed:after,
a:not(.aspNetDisabled):focus .sysicon.sysicon-collapsed:after,
a:not(.aspNetDisabled):hover .sysicon--before.sysicon-collapsed:before,
a:not(.aspNetDisabled):focus .sysicon--before.sysicon-collapsed:before,
a:not(.aspNetDisabled):hover .sysicon--after.sysicon-collapsed:after,
a:not(.aspNetDisabled):focus .sysicon--after.sysicon-collapsed:after,
a.sysicon.sysicon-collapsed:not(.aspNetDisabled):hover:after,
a.sysicon.sysicon-collapsed:not(.aspNetDisabled):focus:after,
a.sysicon--before.sysicon-collapsed:not(.aspNetDisabled):hover:before,
a.sysicon--before.sysicon-collapsed:not(.aspNetDisabled):focus:before,
a.sysicon--after.sysicon-collapsed:not(.aspNetDisabled):hover:after,
a.sysicon--after.sysicon-collapsed:not(.aspNetDisabled):focus:after,
button.sysicon.sysicon-collapsed:not([disabled]):hover:after,
button.sysicon--before.sysicon-collapsed:not([disabled]):hover:before,
button.sysicon--after.sysicon-collapsed:not([disabled]):hover:after,
button.sysicon.sysicon-collapsed:not([disabled]):focus:after,
button.sysicon--before.sysicon-collapsed:not([disabled]):focus:before,
button.sysicon--after.sysicon-collapsed:not([disabled]):focus:after {
  background: var(--purple);
}

.RadScheduler.RadScheduler_Metro .rsHeader {
  border-color: var(--dark-blue);
  background-color: var(--dark-blue);
}

.RadScheduler_Metro a,
.RadScheduler_Metro input,
.RadScheduler_Metro select,
.RadScheduler_Metro textarea {
  font: normal 12px/14px var(--primary-font);
}

.RadScheduler.RadScheduler_Metro .rsHeader h2 {
  font-family: var(--primary-font);
}

.RadGrid_MetroTouch .rgHeader,
.RadGrid_MetroTouch th.rgResizeCol,
.RadGrid_MetroTouch .rgHeaderWrapper {
  background-color: var(--dark-blue) !important;
}

.RadGrid_MetroTouch .rgHeader,
.RadGrid_MetroTouch .rgHeader a {
  color: white !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.RadGrid_MetroTouch .rgHeader,
.RadGrid_MetroTouch th.rgResizeCol,
.RadGrid_MetroTouch .rgHeaderWrapper,
.RadGrid_MetroTouch .rgMultiHeaderRow th.rgHeader,
.RadGrid_MetroTouch .rgMultiHeaderRow th.rgResizeCol {
  border-bottom: 1px solid var(--dark-blue) !important;
  border-left: 1px solid var(--dark-blue) !important;
}

html .RadTabStrip_MetroTouch .rtsLevel1 a.rtsLink:hover,
html .RadTabStrip_MetroTouch .rtsLevel1 a.rtsLink.rtsSelected,
html .RadTabStrip_MetroTouch .rtsLevel1 a.rtsLink.rtsSelected:hover {
  color: var(--dark-blue);
}

html .RadTabStrip_MetroTouch .rtsLevel1 a.rtsLink {
  background-color: var(--dark-blue);
}

.RadTabStripVertical .rtsUL .rtsSelected .rtsTxt,
.RadTabStripVertical .rtsUL .rtsLink:hover .rtsTxt,
.RadTabStripVertical .rtsUL .rtsLink .rtsTxt {
  border: none;
}

.RadGrid_MetroTouch .rgAltRow {
  background: #effaff;
}

.RadGrid.RadGrid_MetroTouch .rgMasterTable .rgSelectedCell,
.RadGrid.RadGrid_MetroTouch .rgSelectedRow,
.RadGrid.RadGrid_MetroTouch td.rgEditRow .rgSelectedRow,
.RadGrid.RadGrid_MetroTouch .rgSelectedRow td.rgSorted,
.RadGrid.RadGrid_MetroTouch th.rgSorted,
.RadGrid.RadGrid_Metro .rgMasterTable .rgSelectedCell,
.RadGrid.RadGrid_Metro .rgSelectedRow,
.RadGrid.RadGrid_Metro td.rgEditRow .rgSelectedRow,
.RadGrid.RadGrid_Metro .rgSelectedRow td.rgSorted,
.RadGrid.RadGrid_Metro th.rgSorted {
  background-color: var(--navy) !important;
  border-color: var(--navy) !important;
}

.RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTitlebar,
.RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTopLeft,
.RadWindow.RadWindow_MetroTouch .rwTitleRow .rwTopRight {
  background-color: var(--dark-blue);
}

/* Account Page */
h2.panel-title,
h2.PanelTitle {
  font-size: 32px;
  font-weight: 600;
  color: var(--dark-blue);
}

h3.panel-title {
  font-size: 26px;
}

.account-banner-bg-color-mps-1 .account-banner-short .banner-top-bar {
  background-color: var(--dark-blue);
}

.shadow-box-zone {
  border: none;
}

.panel-title > a,
.panel-title > a:hover,
.panel-title > a:focus,
.panel-title > a:active,
.panel-title > a:visited {
  color: var(--dark-blue);
}

.member-profile
  .mini-profile-banner-large
  .mini-profile-name-section
  .SectionLabel,
.member-profile
  .mini-profile-banner-small
  .mini-profile-name-section
  .SectionLabel {
  font-weight: 700;
  color: var(--primary-blue);
}

.blue-heading h1,
.blue-heading h2,
.blue-heading h3,
.blue-heading h4,
.blue-heading h5,
.blue-heading h6 {
  color: var(--primary-blue);
}

.stacked-tabs .select-tab {
  background: var(--dark-blue);
}

.RadTabStrip .rtsLevel1.stacked-list a.rtsLink,
.RadTabStrip .rtsLevel1.stacked-list a.rtsLink.rtsSelected,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink.rtsSelected {
  color: var(--dark-blue) !important;
}

.RadTabStrip .rtsLevel1.stacked-list a.rtsLink:hover,
.RadTabStrip .rtsLevel1.stacked-list a.rtsLink:focus,
.RadTabStrip .rtsLevel1.stacked-list a.rtsLink:active,
.RadTabStrip .rtsLevel1.stacked-list a.rtsLink.rtsSelected:hover,
.RadTabStrip .rtsLevel1.stacked-list a.rtsLink.rtsSelected:focus,
.RadTabStrip .rtsLevel1.stacked-list a.rtsLink.rtsSelected:active,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink:hover,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink:focus,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink:active,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink.rtsSelected:hover,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink.rtsSelected:focus,
.RadTabStrip .rtsLevel1.stacked-list .rtsFirst a.rtsLink.rtsSelected:active {
  color: var(--primary-blue) !important;
}

.account-banner-short .Alerts .AlertItem {
  border: none;
}

.large.donut-bite:before,
.large.donut-bite:after {
  background-color: var(--green) !important;
}

.account-banner-bg-color-5
  .account-banner
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-5
  .account-banner
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-5
  .account-banner
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-5
  .account-banner-short
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-5
  .account-banner-short
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-5
  .account-banner-short
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-red
  .account-banner
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-red
  .account-banner
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-red
  .account-banner
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-red
  .account-banner-short
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-red
  .account-banner-short
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-red
  .account-banner-short
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-purple
  .account-banner
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-purple
  .account-banner
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-purple
  .account-banner
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-purple
  .account-banner-short
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-purple
  .account-banner-short
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-purple
  .account-banner-short
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-1
  .account-banner
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-1
  .account-banner
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-1
  .account-banner
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-1
  .account-banner-short
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-1
  .account-banner-short
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-1
  .account-banner-short
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-2
  .account-banner
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-2
  .account-banner
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-2
  .account-banner
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-2
  .account-banner-short
  .area-top-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-2
  .account-banner-short
  .area-top-bar-left
  .TextButton:not(.PrimaryButton):hover,
.account-banner-bg-color-mps-2
  .account-banner-short
  .area-top-bar-right
  .TextButton:not(.PrimaryButton):hover {
  color: var(--dark-blue);
}

.mb-n5,
.my-n5 {
  margin-bottom: 0 !important;
}

.coadmin-manage a {
  background-color: var(--dark-blue);
}

.coadmin-manage a:hover,
.coadmin-manage a:focus,
.coadmin-manage a:active {
  background-color: var(--primary-blue);
  color: white;
}

.feature-text-inline {
  color: var(--goldenrod);
}

h1.BigHeader,
.h1.BigHeader {
  background-color: var(--dark-blue);
}

@media (min-width: 768px) {
  div[id$="_PersonalInformationPanel__Body"] .PanelField label,
  div[id$="_PersonalInformationPanel__Body"] .PanelField .Label {
    width: auto;
    line-height: 1.2;
  }
}

/* Chapter Listings */

.local-chapter-listing .QueryTemplateSet {
  gap: 15px 0;
}

.local-chapter-listing .card {
  min-height: 95px;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.local-chapter-listing .card:hover {
  transform: translateY(-5px);
  box-shadow:
    rgba(50, 50, 93, 0.13) 0px 13px 27px -5px,
    rgba(0, 0, 0, 0.148) 0px 8px 16px -8px;
}

.local-chapter-listing .card p {
  margin: 0 !important;
}

.local-chapter-listing .card-body {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.3;
}

.card {
  border: none;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 3px 4px 0px;
}

.local-chapter-listing .card-body a {
  text-decoration: none;
  font-size: 20px;
}

.ProgramGroup .PanelHead,
.ProgramGroup .panel-heading {
  background-color: var(--primary-blue);
}

/* ------------------------------------------------------- */
/*     Full Width Banner Styles - Member Homepage          */
/* ------------------------------------------------------- */

@media (max-width: 1379px) and (min-width: 992px) {
  .body-container:has(#CLMContainer) {
    padding: 0;
  }
}

.wrapper .container:has(#CLMContainer) {
  width: 100%;
  max-width: 100%;
  flex: 1 0 auto;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}

body:has(#CLMContainer) .body-container > div {
  padding: 0;
}

#CLMContainer .col-sm-12.main-content {
  padding: 0 !important;
}

#CLMContainer .row {
  margin: 0;
}

#CLMContainer .banner-container {
  margin-bottom: 30px;
}

#CLMContainer .banner-container,
#CLMContainer .banner-wrapper {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

#CLMContainer .hero-section {
  position: relative;
  background-size: cover;
  background-position: center;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  color: var(--white);
  padding: 45px 0;
  margin: 0;
  width: 100%;
  height: 450px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0.8;
}

/* #CLMContainer .member-types::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("images/member-types-banner.jpg");
  background-size: cover;
  background-position: center center;
  opacity: 0.7;
  z-index: -1;
} */

#CLMContainer .hero-content {
  position: relative;
  z-index: 2;
  max-width: none;
  width: 55%;
  height: auto;
  background: white;
  padding: 25px;
  margin: 0 0 0 3%;
  z-index: 100;
}

@media (min-width: 1200px) {
  #CLMContainer .hero-content {
    margin-left: calc((100% - 1200px) / 2 + 15px) !important;
  }
}

@media (min-width: 992px) {
  #CLMContainer .hero-content {
    max-width: 475px;
    width: 35%;
    margin-left: 3%;
  }
}

@media (max-width: 550px) {
  #CLMContainer .hero-content {
    width: 80%;
  }
}

#CLMContainer .hero-content h1 {
  font-size: 42px;
  margin-bottom: 20px;
  margin: 0px 0px 0.5rem 0px;
  text-transform: uppercase;
  color: var(--dark-blue);
}

#CLMContainer .hero-content p {
  color: var(--dark-blue);
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  line-height: 1.4;
  margin: 0;
}

/* Card Section */
.membership-types-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 40px 0 50px;
}

.cards-container {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto 85px;
}

.clm-card {
  width: 280px;
  background-color: var(--white);
  border-radius: 0;
  box-shadow: var(--card-shadow);
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  padding-bottom: 25px;
  border: 1px solid whitesmoke;
  box-sizing: border-box;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.clm-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.clm-card:has(.card-header-badge--blue) {
  border-top: 3px solid var(--dark-blue);
}

.clm-card:has(.card-header-badge--red) {
  border-top: 3px solid var(--dark-red);
}

.card-header-badge {
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 8px 15px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  white-space: nowrap;
}

.card-header-badge--blue {
  background-color: var(--dark-blue);
  border-right: 1px solid var(--dark-blue);
  border-left: 1px solid var(--dark-blue);
}

.card-header-badge--red {
  background-color: var(--dark-red);
  border-right: 1px solid var(--dark-red);
  border-left: 1px solid var(--dark-red);
}

.clm-card .card-content {
  padding: 50px 25px 0px 25px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.card-title {
  font-size: 18px;
  font-weight: 400;
  color: var(--dark-blue);
  margin-bottom: 20px;
  line-height: 1.3;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-divider {
  width: 100%;
  height: 1px;
  margin: 0 auto 20px auto;
}

.card-divider--blue {
  background-color: var(--primary-blue);
}

.card-divider--red {
  background-color: var(--dark-red);
}

.card-description {
  font-size: 16px;
  color: var(--black);
  line-height: 1.6;
  text-align: left;
  margin-bottom: 20px;
  flex-grow: 1;
}

.join-button {
  display: inline-block;
  color: var(--white);
  padding: 10px 25px;
  border-radius: 0;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  transition: background-color 0.3s ease;
  margin-top: auto;
  align-self: center;
  border: 2px solid transparent;
}

.join-button:visited {
  color: var(--white);
}

.join-button--blue {
  background-color: var(--dark-blue);
}

.join-button--blue:hover {
  background-color: transparent;
  border: 2px solid var(--dark-blue);
  color: var(--dark-blue);
  text-decoration: none !important;
}

.join-button--red {
  background-color: var(--dark-red);
}

.join-button--red:hover {
  background-color: transparent;
  border: 2px solid var(--dark-red);
  color: var(--dark-red);
  text-decoration: none !important;
}

.clm-card {
  flex: 1 1 calc(25% - 25px);
  max-width: calc(25% - 25px);
}

@media (max-width: 1100px) {
  .clm-card {
    flex: 1 1 calc(50% - 25px);
    max-width: calc(50% - 25px);
  }
}

@media (max-width: 650px) {
  .clm-card {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* Member Advantages Section */

.member-advantages-section {
  background-color: var(--dark-blue);
  color: var(--white);
  padding: 60px 20px;
  text-align: center;
}

.member-advantages-wrapper {
  padding: 0 5px;
  max-width: 1200px;
  margin: 0 auto;
}

.member-advantages-section h1 {
  margin-bottom: 20px;
  color: var(--white);
}

.member-advantages-section p {
  font-size: 18px;
  max-width: 700px;
  margin: 0 auto 50px auto;
  line-height: 1.4;
  color: var(--white);
}

.slider-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 10px 50px;
  box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
}

.advantages-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

.advantage-item {
  background-color: var(--dark-blue);
  border: 2px solid var(--green);
  border-radius: 0;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 1 1 220px;
  max-width: 250px;
  min-height: 250px;
  box-sizing: border-box;
  transition:
    transform 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out,
    opacity 0.5s ease-in-out;
  text-decoration: none !important;
  color: var(--white);
  opacity: 1;
}

.advantage-item.fade-in {
  opacity: 0;
  transform: scale(0.95);
  animation: fadeInBlocks 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fadeInBlocks {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.advantage-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.advantage-item .icon,
.advantage-item em {
  font-size: 3.5em;
  color: var(--primary-blue);
  margin-bottom: 20px;
}

.advantage-item h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--white);
  margin: 0;
}

.slider-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--white);
  border-radius: 50%;
  border: none !important;
  outline: none !important;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 1.5rem;
  color: var(--dark-gray);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
  z-index: 10;
}

.slider-button:hover:not(:disabled) {
  background-color: #eee;
  color: var(--primary-blue);
  transform: translateY(-50%) scale(1.05);
}

.slider-button i {
  color: var(--dark-blue);
}

.slider-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.slider-button.prev {
  left: 2px;
}

.slider-button.next {
  right: 2px;
}

@media (max-width: 992px) {
  .advantage-item {
    flex: 1 1 calc(50% - 12.5px);
  }
}

@media (max-width: 600px) {
  .member-advantages-section h1 {
    font-size: 32px;
  }

  .member-advantages-section p {
    font-size: 16px;
  }

  .advantage-item {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .slider-container {
    padding: 0 40px;
  }

  .slider-button {
    width: 30px;
    height: 30px;
    font-size: 1.2rem;
  }
}

/* .member-advantages-wrapper {
  padding: 0 25px;
} */

/* .advantages-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  max-width: 1200px;
  margin: 0 auto;
}

.advantage-item {
  background-color: var(--dark-blue);
  border: 2px solid var(--green);
  border-radius: 0;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 1 1 220px;
  max-width: 280px;
  min-height: 245px;
  box-sizing: border-box;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  text-decoration: none !important;
}

.advantage-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.advantage-item .icon {
  font-size: 3.5em;
  color: #40a0d1;
  margin-bottom: 20px;
}

.advantage-item h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
  margin: 0;
}

@media (max-width: 992px) {
  .advantage-item {
    flex: 1 1 calc(50% - 25px);
    max-width: calc(50% - 25px);
  }
}

@media (max-width: 600px) {
  .advantage-item {
    flex: 1 1 100%;
    max-width: 300px;
  }
  .member-advantages-section p {
    font-size: 16px;
  }
} */

/* CLM Chapters Section */

.clm-chapters-section {
  background-color: var(--white);
  padding: 60px 20px;
  text-align: center;
}

.clm-chapters-section h1 {
  margin-bottom: 20px;
  font-weight: 700;
}

.clm-chapters-section p {
  color: var(--black);
  max-width: 800px;
  margin: 0 auto 40px auto;
  line-height: 1.4;
}

.map-container {
  max-width: 900px;
  margin: 0 auto 30px auto;
  padding: 20px;
}

@media (max-width: 768px) {
  .map-container {
    padding: 10px;
    margin-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .clm-chapters-section {
    padding: 40px 15px;
  }
}

/* ------------------------------------------------------- */
/*     Public Homepage                                     */
/* ------------------------------------------------------- */
.ContentRecordPageButtonPanel {
  margin: 0;
}

/* --- Layout --- */
@media (max-width: 1379px) and (min-width: 992px) {
  .body-container:has(#CLMContainer) {
    padding: 0;
  }
}

.wrapper .container:has(#CLMHome) {
  width: 100%;
  max-width: 100%;
  flex: 1 0 auto;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}

body:has(#CLMHome) .body-container > div {
  padding: 0;
}

#CLMHome .row,
#CLMHome .fullwidth-row {
  margin: 0;
}

#CLMHome .fullwidth-col {
  padding: 0 !important;
}

@media (max-width: 992px) {
  #CLMHome .column {
    padding-right: 30px;
    padding-left: 30px;
  }
}

/* --- Banner Slider --- */

.hero-slider {
  position: relative;
  width: 100%;
  height: 450px;
  overflow: hidden;
  background-color: var(--dark-blue);
}

.hero-slider .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.7s ease-in-out;
}

.hero-slider .slide.active {
  opacity: 1;
}

.hero-slider .slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-slider .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

.hero-slider .slide-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--white);
  text-align: center;
  width: 80%;
  max-width: 800px;
  z-index: 1;
  padding: 20px;
  box-sizing: border-box;
}

.hero-slider .slide-content h1 {
  font-size: 46px;
  margin-bottom: 30px;
  line-height: 1.3;
  font-weight: 700;
  color: white;
}

.hero-slider .cta-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.hero-slider .btn {
  display: inline-block;
  padding: 12px 25px;
  text-decoration: none;
  border-radius: 0;
  font-weight: 600;
  transition:
    background-color 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease;
}

.hero-slider .btn-primary {
  background-color: var(--dark-blue);
  color: var(--white) !important;
  border: 2px solid var(--dark-blue);
}

.hero-slider .btn-primary:hover {
  background-color: transparent;
  color: var(--dark-blue) !important;
  border: 2px solid var(--dark-blue);
}

.hero-slider .btn-secondary {
  background-color: transparent;
  color: var(--white) !important;
  border: 2px solid var(--white);
}

.hero-slider .btn-secondary:hover {
  background-color: var(--white);
  border: 2px solid var(--white);
  color: var(--dark-blue) !important;
}

.footer-stripes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: 100%;
  box-sizing: border-box;
}

.stripe {
  color: var(--white) !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 18px;
  text-align: center;
  line-height: 1.4;
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 20px 25px;
  box-sizing: border-box;
  min-height: 100px;
}

.stripe:active,
.stripe:focus {
  color: var(--white);
}

.stripe:not(:last-child) {
  border-right: 1px solid rgb(118, 118, 118);
}

@media (max-width: 992px) {
  .stripe {
    min-height: 75px;
    border-right: none;
  }

  .stripe:not(:first-child) {
    border-top: 1px solid rgb(118, 118, 118);
  }
}

.stripe:hover {
  color: var(--white);
}

@media (max-width: 1024px) {
  .hero-slider .slide-content h1 {
    font-size: 2em;
  }
}

@media (max-width: 992px) {
  .hero-slider .slide-content h1 {
    font-size: 1.7em;
  }

  .hero-slider .cta-buttons {
    align-items: center;
    flex-direction: column;
    gap: 10px;
  }

  .hero-slider .btn {
    width: 100%;
    max-width: 260px;
  }

  .footer-stripes {
    grid-template-columns: 1fr;
  }

  .stripe {
    font-size: 1em;
    padding: 15px 20px;
  }
}

@media (max-width: 480px) {
  .hero-slider .slide-content h1 {
    font-size: 1.4em;
  }
}

/* --- Focus Conference Section --- */

.focus-conference {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  text-align: left;
  padding: 0 25px;
  margin: 0 auto 100px;
  max-width: 1200px;
}

.focus-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.focus-image.green img {
  border-left: 5px solid var(--green);
}

.focus-image.purple img {
  border-right: 5px solid var(--purple);
}

.focus-details .focus-subtitle {
  font-weight: 700;
  color: var(--purple);
  font-size: 16px;
}

.focus-details h2 {
  font-size: 36px;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 15px;
}

.focus-details p {
  line-height: 1.6;
  margin-bottom: 25px;
}

/* --- Events Grid Section --- */
.events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 0 25px;
  margin: 0 auto 50px;
  max-width: 1200px;
}

.event-card {
  border-top: 4px solid var(--green);
  box-shadow: var(--card-shadow);
  background: var(--white);
  display: flex;
  flex-direction: column;
  margin-top: 25px;
  transition: transform 0.3s ease;
}

.event-card-iqa .QueryTemplateSet {
  max-width: 1200px;
  margin: 0 auto 20px !important;
}

.event-card-iqa .QueryTemplateItem {
  height: 100%;
  display: flex;
}

@media (max-width: 768px) {
  .event-card-iqa section.col {
    width: 100%;
    flex: 1 0 100%;
  }
}

.event-card-iqa .event-card {
  flex-grow: 1;
}

.event-card:hover {
  transform: translateY(-5px);
}

.event-image {
  width: 100%;
  height: 225px;
  background-color: white;
  overflow: hidden;
}

.event-card img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.event-card .card-content {
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  text-align: center;
}

.event-card h3 {
  font-size: 20px;
  min-height: 80px;
  margin-top: 0;
  color: var(--dark-blue);
}

.event-card .event-date {
  color: var(--purple);
  font-weight: 700;
  margin: 15px 0;
}

.card-content a.TextButton {
  margin: 0 auto;
}

.btn-wrapper.events {
  margin-bottom: 100px;
}

/* --- Chapters section --- */
.events-container header.main-header {
  text-align: center;
  margin: 50px 0;
}

.chapter-content h2 {
  font-style: italic;
  padding-bottom: 15px;
}

.chapter-content h3 {
  color: var(--purple);
  margin-bottom: 20px !important;
}

.focus-details.chapter-content {
  text-align: center;
}

.focus-details.chapter-content h2,
.focus-details.chapter-content h3 {
  margin: 0 auto;
  text-align: center;
}

.btn-wrapper {
  display: flex;
  justify-content: center;
  text-align: center;
}

.main-footer {
  padding: 20px 0;
}

@media (max-width: 992px) {
  .main-header h1 {
    font-size: 35px;
  }

  .focus-conference {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .focus-details {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .events-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .main-header h1 {
    font-size: 29px;
  }

  .focus-details h2 {
    font-size: 29px;
  }

  .events-grid {
    grid-template-columns: 1fr;
  }

  .event-card h3 {
    min-height: auto;
  }
}

/* --- Publications Section --- */

.publications-container .TaggedListPanel {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 30px;
  justify-content: center;
}

.publications-container {
  border-top: 3px solid var(--green);
  border-bottom: 3px solid var(--green);
  background-color: #f2f2f2;
  padding: 60px 0;
  position: relative;
  width: 100%;
  z-index: 10;
}

.publications-container .panel-title {
  color: var(--dark-blue);
  font-weight: 700;
  font-size: 42px;
  margin: 0 0 30px;
  text-align: center;
}

@media (max-width: 768px) {
  .publications-container .panel-title {
    font-size: 29px;
    text-align: center;
  }
}

.publications-container .cards-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  justify-content: center;
}

.publications-container .main-title {
  text-align: center;
  margin-bottom: 40px;
}

.publication-card {
  display: flex;
  background: var(--white);
  border-radius: 0;
  box-shadow: var(--card-shadow);
  overflow: hidden;
  transition: all 0.3s ease;
  flex: 1 1 calc(50% - 10px);
  max-width: calc(50% - 10px);
  /* height: 375px; */
  transition: transform 0.3s ease;
}

.publication-card:hover {
  transform: translateY(-5px);
}

.publication-image {
  flex: 0 0 50%;
  position: relative;
  overflow: hidden;
}

.publication-image img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.publication-details {
  flex: 1;
  padding: 20px 25px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.publication-details h3 {
  font-size: 28px;
  text-align: center;
  line-height: 1.2;
  font-weight: 700;
  color: var(--dark-blue);
  margin: 0 0 20px 0;
}

.publication-details h3 a {
  font-size: 28px;
  text-align: center;
  line-height: 1.2;
  font-weight: 700;
  color: var(--dark-blue);
  text-decoration: none;
}

.publication-details .issue-date {
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.5px;
  font-size: 14px;
  margin: 0 0 25px 0;
  color: var(--dark-gray);
}

.publication-details ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  flex-grow: 1;
}

.publication-details ul li {
  font-size: 15px;
  margin-bottom: 8px;
  color: var(--black);
  position: relative;
  padding-left: 15px;
}

.publication-details ul li::before {
  content: "\2022";
  color: var(--black);
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

.publication-btn-wrapper {
  margin: 0 auto;
  margin-top: auto;
  padding-top: 25px;
}

@media (max-width: 992px) {
  .publications-container .cards-container {
    flex-direction: column;
    align-items: center;
  }

  .publication-card {
    flex-direction: column;
    flex: 1 1 100%;
    max-width: 400px;
    height: auto;
  }

  .publication-image {
    flex: 0 0 auto;
    width: 100%;
    /* height: 400px; */
  }

  .publication-details {
    padding: 20px;
    text-align: center;
    align-items: center;
  }

  .publication-details ul {
    text-align: left;
    width: fit-content;
    margin: 0 auto 20px auto;
  }
}

/* --- CLM Designation Section --- */

.designation-container {
  background-color: var(--light-bg);
  padding: 32px;
  margin-top: -20px;
  display: flex;
  flex-direction: column;
  position: relative;
  align-items: center;
  justify-content: center;
  gap: 30px;
  width: 100%;
  box-sizing: border-box;
}

.designation-container::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 70%;
  top: 0;
  left: 0;
  background-image: url("images/pattern.png");
  background-repeat: repeat;
  background-size: contain;
  opacity: 0.3;
  z-index: 1;
}

@media (min-width: 992px) {
  .designation-container::before {
    background-size: cover;
  }
}

.designation-container .section-header {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 20px;
  width: 100%;
  max-width: 1200px;
  z-index: 5;
}

.designation-container .section-header h1 {
  margin-bottom: 15px;
  position: relative;
}

.designation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  width: 100%;
  z-index: 5;
}

.tracker-grid {
  grid-template-columns: repeat(2, 1fr);
  max-width: 950px;
  margin: 0 auto;
}

.designation-card {
  background: var(--white);
  border-radius: 0;
  box-shadow: var(--card-shadow);
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 5px solid;
  transition: transform 0.3s ease;
  height: 100%;
  box-sizing: border-box;
}

.designation-card:hover {
  transform: translateY(-5px);
}

.designation-card.ccp,
.designation-card.clmp {
  border-color: var(--primary-blue);
}

.designation-card.acp {
  border-color: var(--purple);
}

.designation-card h3 {
  font-size: 24px;
  font-weight: 700;
  color: var(--dark-blue);
  text-align: center;
  margin-bottom: 15px;
}

.designation-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.designation-card .tagline {
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 15px;
  color: var(--black);
  text-align: left;
}

.designation-card ul {
  list-style: none;
  padding: 0;
  margin-bottom: 25px;
  width: 100%;
  text-align: left;
}

.designation-card ul li {
  font-size: 18px;
  margin-bottom: 8px;
  color: var(--black);
  position: relative;
  padding-left: 25px;
  overflow-wrap: break-word;
}

.designation-card ul li::before {
  content: "\2022";
  color: var(--black);
  font-weight: bold;
  display: inline-block;
  position: absolute;
  left: 0;
}

.designation-card .TextButton {
  display: inline-block;
  margin-top: auto;
}

@media (max-width: 992px) {
  .designation-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .designation-container {
    padding: 16px 25px;
    gap: 20px;
  }

  .designation-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .designation-card {
    padding: 25px;
  }
}

/* ------------------------------------------------------- */
/*     Full Width Banner Styles - Member Homepage          */
/* ------------------------------------------------------- */

@media (max-width: 1379px) and (min-width: 992px) {
  .body-container:has(#CLMFullWidthContainer) {
    padding: 0;
  }
}

.wrapper .container:has(#CLMFullWidthContainer) {
  width: 100%;
  max-width: 100%;
  flex: 1 0 auto;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}

body:has(#CLMFullWidthContainer) .body-container > div {
  padding: 0;
}

#CLMFullWidthContainer .col-sm-12 {
  padding: 0 !important;
}

#CLMFullWidthContainer .row {
  margin: 0;
}

#CLMFullWidthContainer .banner-container {
  margin-bottom: 30px;
}

#CLMFullWidthContainer .banner-container,
#CLMFullWidthContainer .banner-wrapper {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

#CLMFullWidthContainer .hero-section {
  position: relative;
  background-size: cover;
  background-position: center;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  color: var(--white);
  padding: 45px 0;
  margin: 0;
  width: 100%;
  height: 450px;
  left: 50%;
  transform: translateX(-50%);
}

#CLMFullWidthContainer .full-width-banner .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-blend-mode: normal, multiply, normal;
  opacity: 1;
}

/* Here No-Block Content*/
#CLMFullWidthContainer .hero-content {
  position: relative;
  z-index: 2;
  max-width: none;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1380px;
  width: 100%;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
  z-index: 100;
}

#CLMFullWidthContainer .hero-content h1 {
  font-size: 42px;
  margin-bottom: 20px;
  margin: 0px 0px 0.5rem 0px;
  text-transform: uppercase;
  color: var(--dark-blue);
}

#CLMFullWidthContainer .hero-content p {
  color: white;
  font-weight: 600;
  font-style: normal;
  font-size: 42px;
  line-height: 1.2;
  margin: 0;
}

/* Here Block Content */
#CLMFullWidthContainer .hero-content-block {
  position: relative;
  z-index: 2;
  max-width: none;
  width: 55%;
  height: auto;
  background: white;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 25px;
  margin: 0 0 0 6%;
  z-index: 100;
}

@media (min-width: 992px) {
  #CLMFullWidthContainer .hero-content-block {
    max-width: 475px;
    width: 45%;
    margin-left: 3%;
  }
}

@media (min-width: 1400px) {
  #CLMFullWidthContainer .hero-content-block {
    margin-left: calc((100% - 1380px) / 2 + 25px) !important;
  }
}

@media (max-width: 550px) {
  #CLMFullWidthContainer .hero-content-block {
    width: 80%;
  }
}

.hero-content-block .hero-title {
  position: relative;
  font-size: 32px;
  text-align: center;
  margin-bottom: 18px;
}

.hero-content-block .hero-title::after {
  content: "";
  position: absolute;
  display: block;
  height: 2px;
  background-color: var(--primary-blue);
  width: 215px;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
}

.hero-content-block .centered {
  text-align: center;
}

.hero-content-block p {
  color: var(--dark-blue);
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  line-height: 1.4;
  margin: 0;
}

#CLMFullWidthContainer .fw-content {
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 0 30px !important;
}

@media (max-width: 550px) {
  #CLMFullWidthContainer .hero-content {
    width: 80%;
    padding-right: 0;
    padding-left: 0;
  }

  #CLMFullWidthContainer .hero-content p {
    font-size: 36px;
  }
}

/* ------------------------------------------------------- */
/*     Events Page                                         */
/* ------------------------------------------------------- */

/* Local Events */

.local-events-iqa {
  margin-top: 50px;
}

.local-events-iqa .RadGrid_MetroTouch {
  display: none !important;
}

.event-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
  padding: 20px;
  max-width: 1200px;
  margin: 20px auto;
}

.event-education-wrapper {
  flex: 0 0 calc(33.333% - 13.333px);
  border-radius: 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.event-education-wrapper:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

@media (max-width: 992px) {
  .event-education-wrapper {
    flex: 0 0 calc(50% - 13.333px);
  }
}

@media (max-width: 768px) {
  .event-container {
    flex-direction: column;
    gap: 30px;
  }
  .event-education-wrapper {
    flex: 1 1 100%;
  }
}

.national-events-iqa .QueryTemplateSet {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 25px 0;
  max-width: 1200px;
  margin: 20px auto;
}

.national-events-iqa .QueryTemplateItem {
  height: 100%;
}

.national-events-iqa .event-education-wrapper {
  height: 100%;
  border-radius: 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.national-events-iqa .event-education-wrapper:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .national-events-iqa .event-container {
    flex-direction: column;
    gap: 30px;
  }
  .national-events-iqa section {
    flex: 1 1 100%;
  }
}

.event-education-wrapper .eventType {
  text-align: center;
  font-family: var(--primary-font);
  color: var(--white);
}

.event-education-wrapper .eventTypeContent {
  padding: 5px 10px;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: bold;
}

.event-education-wrapper .dark-blue,
.event-education-wrapper .light-blue {
  color: white;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 4px 10px;
}

.event-education-wrapper .dark-blue {
  background: var(--dark-blue);
}

.event-education-wrapper .light-blue {
  background: var(--primary-blue);
}

.event-education-wrapper .primary-blue {
  background: var(--primary-blue);
}

.event-education-wrapper .green {
  background: var(--green);
}

.event-education-wrapper .purple {
  background: var(--purple);
}

.event-education-wrapper .eventCard {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.event-education-wrapper .eventImage {
  width: 100%;
  height: auto;
  aspect-ratio: 1.85 / 1;
  background-color: white;
  overflow: hidden;
}

.event-education-wrapper .eventImage img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.event-education-wrapper .content-wrapper {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 20px;
}

.event-education-wrapper .event-title {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--primary-blue);
  font-family: var(--primary-font);
  text-decoration: none;
  margin-top: 10px;
  display: block;
}

.event-education-wrapper .event-title:hover {
  text-decoration: underline;
}

.event-education-wrapper .eventDescription {
  font-size: 16px;
  color: var(--black);
  margin-top: 15px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}

.event-education-wrapper .date-button-container {
  margin-top: auto;
}

.event-education-wrapper .eventDate {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  font-family: var(--primary-font);
  color: var(--dark-blue);
  margin-top: 15px;
}

.event-education-wrapper .eventDate::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f073";
  margin-right: 12px;
  margin-top: 0;
  font-size: 20px;
}

.event-education-wrapper .button-credits-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}

.event-education-wrapper .eventCredits {
  font-size: 14px;
  font-weight: 600;
  font-family: var(--primary-font);
  color: var(--primary-blue);
  text-transform: uppercase;
}

.eventButton .card-button {
  font-size: 14px;
  padding: 8px 15px;
}

@media (max-width: 768px) {
  .event-education-wrapper .eventImage {
    aspect-ratio: 16 / 9;
  }
}

/* Webinar Cards */

.archived-webinars-iqa label,
.archived-webinars-iqa .Label,
.archived-webinars-iqa .PanelFieldLabelFont,
.upcoming-webinars-iqa label,
.upcoming-webinars-iqa .PanelFieldLabelFont,
.upcoming-webinars-iqa .Label {
  color: var(--dark-blue);
}

.archived-webinars-iqa input[id$="_SubmitButton"],
.upcoming-webinars-iqa input[id$="_SubmitButton"] {
  margin-left: 15px !important;
}

.event-container.web {
  padding: 0;
  gap: 30px;
}

.archived-webinars-iqa .RadGrid_MetroTouch,
.upcoming-webinars-iqa .RadGrid_MetroTouch {
  display: none;
}

.webinars-wrapper {
  flex: 0 0 calc(33.333% - 20px);
}

@media (max-width: 992px) {
  .webinars-wrapper {
    flex: 0 0 calc(50% - 15px);
  }
}

@media (max-width: 685px) {
  .webinars-wrapper {
    flex: 1 1 100%;
  }
}

.webinars-wrapper .content-wrapper {
  align-items: center;
}

.webinars-wrapper .event-title {
  color: var(--dark-blue);
  text-align: center;
}

.webinars-wrapper .eventDate {
  color: var(--purple);
  text-align: center;
  text-transform: uppercase;
  margin-top: 10px;
}

.webinars-wrapper .eventDate::before {
  content: none;
}

.webinars-wrapper .button-credits-wrapper {
  justify-content: center;
}

/* Custom Pagination */
#pagination-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  width: 100%;
}

#pagination-controls button {
  background: none;
  color: var(--dark-blue);
  border: none;
  padding: 8px 12px;
  margin: 0 5px;
  cursor: pointer;
  font-size: 26px;
  font-weight: bold;
  transition: color 0.3s ease;
}

#pagination-controls button:disabled {
  color: #ccc;
  cursor: not-allowed;
}

#pagination-controls button:not(:disabled):hover {
  color: var(--dark-blue);
}

#page-numbers {
  display: flex;
  align-items: center;
  margin-top: 3px;
}

#pagination-controls .page-number {
  background: none;
  border: none;
  padding: 8px 10px;
  margin: 0 3px;
  cursor: pointer;
  font-size: 18px;
  font-weight: normal;
  color: var(--dark-gray);
  transition: color 0.3s ease;
}

#pagination-controls .page-number.active {
  color: var(--dark-blue);
  font-weight: bold;
}

#pagination-controls .page-number:hover {
  color: var(--primary-blue);
}

/* ------------------------------------------------------- */
/*     Types of Membership Page                            */
/* ------------------------------------------------------- */

.membership-card-section {
  margin: 60px 0;
  padding: 0 20px;
}

.membership-card-section .section-title {
  color: var(--dark-blue);
  font-weight: 700;
  font-size: 36px;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.2;
}

.membership-card-section .intro-text {
  font-size: 18px;
  color: var(--black);
  margin-bottom: 60px !important;
}

.membership-card-section .card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: stretch;
  justify-content: center;
}

.membership-card-section .membership-card {
  background-color: var(--white);
  border-radius: 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 0 0 calc(25% - 22.5px);
  max-width: calc(25% - 22.5px);
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.membership-card-section .membership-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.membership-card-section .card-top-header {
  padding: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-bottom: 0;
  font-family: var(--secondary-font);
}

.membership-card-section .card-header {
  font-size: 19px;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.3;
  box-shadow: none;
  background-color: transparent;
  border-bottom: none;
  font-family: var(--secondary-font);
}

.membership-card-section .card-body {
  padding: 25px 25px 0;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.membership-card-section .card-description {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--black);
  margin-bottom: 40px;
  flex-grow: 1;
}

.membership-card-section .card-price {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 40px;
  color: var(--black);
}

.membership-card-section .card-button {
  display: inline-block;
  margin-top: auto;
  padding: 6px 10px;
  /* align-self: center; */
}

.membership-card.blue-theme .card-top-header {
  background-color: var(--primary-blue);
  color: var(--white);
}

.membership-card.blue-theme .card-header {
  color: var(--white);
  text-align: center;
  padding: 0;
}

@media (max-width: 1200px) {
  .membership-card-section .membership-card {
    flex: 0 0 calc(50% - 15px);
    max-width: calc(50% - 15px);
  }
}

@media (max-width: 992px) {
  .membership-card-section .section-title {
    font-size: 28px;
    margin-bottom: 30px;
  }

  .membership-card-section .card-top-header {
    padding: 20px;
  }

  .membership-card-section .card-header {
    font-size: 18px;
  }
}

@media (max-width: 600px) {
  .membership-card-section .section-title {
    font-size: 24px;
    margin-bottom: 25px;
  }

  .membership-card-section .membership-card {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .membership-card-section .card-top-header {
    padding: 15px;
  }

  .membership-card-section .card-header {
    font-size: 17px;
  }
}

/* ------------------------------------------------------- */
/*     Chapter Leadership Details Page                     */
/* ------------------------------------------------------- */

.chapter-leadership-iqa .panel-title {
  font-weight: 700;
  font-size: 42px;
}

.chapter-leadership-iqa .QueryTemplateSet {
  max-width: 1090px;
  margin: 20px auto 30px;
  gap: 30px 0;
}

.chapter-leadership-iqa .QueryTemplateItem {
  height: 100%;
}

.ypab-iqa .QueryTemplateSet {
  margin: 20px auto 30px;
  gap: 30px 0;
}

.ypab-iqa .QueryTemplateItem {
  height: 100%;
}

.chapter-leadership-wrapper {
  border-radius: 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
  height: 100%;
}

.chapter-leadership-wrapper:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.chapter-leadership-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.chapter-leadership-card > a {
  text-decoration: none;
  color: inherit;
}

.cl-image {
  width: 100%;
  height: 300px;
  background-color: var(--white);
  overflow: hidden;
}

.cl-image img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.cl-content-wrapper {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 20px;
}

.cl-position {
  line-height: 1.3;
  color: var(--dark-blue);
  font-size: 20px;
  font-weight: 700;
  font-family: var(--primary-font);
}

.cl-position::after {
  content: "";
  display: block;
  margin-top: 5px;
  height: 1px;
  background-image: linear-gradient(
    90deg,
    var(--primary-blue),
    var(--goldenrod)
  );
}

.cl-name {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--primary-blue);
  font-family: var(--primary-font);
  text-decoration: none;
  margin-top: 15px;
  margin-bottom: 3px;
  padding-left: 5px;
  display: block;
}

.cl-title-company-wrapper {
  padding-bottom: 15px;
}

.cl-title {
  font-style: italic;
  font-size: 16px;
  color: var(--dark-gray);
  line-height: 1.2;
  font-weight: 500;
  padding-left: 5px;
}

.cl-company {
  color: var(--goldenrod);
  font-weight: 600;
  font-size: 16px;
  padding-top: 4px;
  margin-top: 3px;
  padding-left: 5px;
  line-height: 1.3;
}

.cl-contact-container {
  margin-top: auto;
}

.cl-email {
  line-height: 1;
}

.cl-email a {
  color: var(--primary-blue);
  text-decoration: none;
  font-size: 16px;
  word-break: break-word;
}

.cl-email a:hover {
  color: var(--dark-blue);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .chapter-leadership-iqa .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
}

@media (max-width: 650px) {
  .chapter-leadership-iqa .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 100%;
  }
}

.ypab-iqa .cl-position a {
  font-size: 22px;
  color: var(--dark-blue);
  text-decoration: none;
}

.ypab-iqa .cl-name {
  font-size: 18px;
  color: var(--dark-blue);
}

/* ------------------------------------------------------- */
/*     Member Directory Page                               */
/* ------------------------------------------------------- */

.member-directory-iqa .rgHeader {
  display: none;
}

.member-directory-iqa .RadGrid_MetroTouch {
  border-color: transparent;
  background-color: transparent;
  margin-top: 35px;
}

.member-directory-iqa .RadGrid.RadGrid_MetroTouch .rgSelectedRow {
  background-color: transparent !important;
  border-color: transparent !important;
}

.member-directory-iqa .RadGrid.RadGrid_MetroTouch .rgSelectedRow a {
  color: var(--primary-blue) !important;
}

.member-directory-iqa .RadGrid.RadGrid_MetroTouch .rgSelectedRow td {
  border-color: transparent;
}

.member-directory-iqa .RadGrid_MetroTouch .rgAltRow {
  background: transparent;
}

.member-directory-iqa .RadGrid.RadGrid_MetroTouch .rgMasterTable,
.member-directory-iqa .RadGrid.RadGrid_Metro .rgMasterTable {
  background-color: transparent;
}

.member-directory-card {
  display: flex;
  align-items: flex-start;
  padding: 15px;
  background: var(--white);
  box-shadow: 0 2px 8px rgba(25, 71, 121, 0.1);
  margin-bottom: 15px;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.member-directory-card:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15) !important;
  transform: translateY(-5px);
}

.member-content-flex {
  flex-grow: 1;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.member-details-stack {
  display: flex;
  flex-direction: column;
}

.member-image-flex {
  margin-right: 15px;
  flex-shrink: 0;
}

.member-details-stack a:hover {
  color: var(--dark-blue) !important;
  text-decoration: underline !important;
}

.member-title-right {
  color: var(--dark-gray);
  font-size: 16px;
  margin-top: 5px;
  text-align: right;
  line-height: 1.2;
}

@media (max-width: 600px) {
  .member-directory-card {
    flex-direction: column;
    align-items: center;
  }

  .member-image-flex {
    margin-right: 0;
    margin-bottom: 10px;
  }

  .member-content-flex {
    flex-direction: column;
    text-align: center;
    margin-left: 12px;
  }

  .member-title-right {
    order: 4;
    margin-top: 3px;
    text-align: center;
  }
}

/* ------------------------------------------------------- */
/*     About Us Page                                       */
/* ------------------------------------------------------- */
.card-grid.about-us-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-top: 55px;
}

.info-card {
  background: var(--white);
  padding: 30px;
  text-align: center;
  border-radius: 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.info-card > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  color: var(--text-color);
  text-decoration: none;
}

.info-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.info-card a:hover {
  text-decoration: none !important;
}

.info-card .fa-solid {
  font-size: 45px;
  color: var(--primary-blue);
  margin-bottom: 25px;
}

.info-card img {
  width: 80px;
  margin-bottom: 25px;
  margin-top: -20px;
}

.info-card h3 {
  margin-bottom: 10px;
  color: var(--dark-blue);
  font-size: 22px;
  font-weight: 700;
}

.info-card p {
  margin-top: auto;
  margin-bottom: 15px;
  font-size: 16px;
  line-height: 1.3;
  color: var(--primary-blue);
}

.info-card .read-more {
  font-size: 16px;
  font-weight: 600;
  color: var(--purple);
  display: block;
  margin-top: auto;
}

.info-card .read-more em {
  color: var(--purple);
  font-size: 16px;
  margin-left: 5px;
  transition: transform 0.3s ease;
}

.info-card:hover .read-more em {
  transform: translateX(5px);
}

@media (max-width: 992px) {
  .card-grid.about-us-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .card-grid.about-us-container {
    grid-template-columns: 1fr;
  }
}

.card-flex {
  margin-top: 45px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.card-flex .info-card {
  width: 285px;
}

/* ------------------------------------------------------- */
/*     CLM Tracker Page                                    */
/* ------------------------------------------------------- */
.clm-tracker-list li {
  margin: 10px 0;
  line-height: 1.5;
}

.table-container {
  overflow-x: auto;
  max-width: 100%;
  margin: 0 auto;
  box-shadow: 0 4px 11px rgba(0, 0, 0, 0.1);
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 350px;
}

.comparison-table thead tr {
  background-color: var(--primary-blue);
}

.comparison-table th {
  padding: 10px 15px;
  line-height: 1.3;
  color: white;
  font-weight: 600;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 2px solid var(--primary-blue);
}

.comparison-table th:last-child {
  border-right: none;
}

.comparison-table th:first-child {
  text-align: left;
}

.comparison-table td {
  padding: 12px 15px;
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
  border-bottom: 1px solid #d9edf7;
  background-color: white;
}

.feature-column {
  text-align: left !important;
  font-weight: 500;
  background-color: #f9f9f9;
}

.comparison-table tbody tr:last-child td {
  border-bottom: none;
}

.contact-wrapper {
  line-height: 1.3;
  padding-top: 6px;
}

.contact-wrapper p {
  margin: 0;
}

.comparison-table.membership th {
  text-align: left;
}

.comparison-table.membership td {
  text-align: left;
}

/* ------------------------------------------------------- */
/*     Contact Us Page                                     */
/* ------------------------------------------------------- */

.intro-text {
  line-height: 1.5;
  margin-bottom: 45px;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.contact-section {
  padding: 20px;
  border-radius: 8px;
  background-color: #f7f9fc;
  border: 1px solid #eee;
}

.contact-section h2 {
  font-size: 22px;
  font-weight: 600;
  color: var(--dark-blue);
  margin-bottom: 15px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--light-gray);
}

.contact-detail,
.sales-person {
  margin-bottom: 15px;
  line-height: 1.4;
}

.key-label {
  font-weight: 700;
  color: var(--dark-blue);
  display: block;
}

.sales-person h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--dark-blue);
  margin: 0;
}

.sales-person p {
  margin: 0;
}

/* Staff Cards */
@media (min-width: 992px) {
  .staff-directory-iqa .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
}

@media (max-width: 992px) {
  .staff-directory-iqa .row-cols-md-2 > * {
    flex: 1 0 auto;
    width: 100%;
  }
}

.staff-card {
  display: flex;
  background: #fff;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  margin-bottom: 25px;
  transition: transform 0.2s;
}

.staff-card .staff-image {
  width: 145px;
  height: 165px;
  flex-shrink: 0;
}

.staff-card .staff-image img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.staff-card .staff-info {
  padding: 15px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.staff-card .staff-info h2 {
  margin: 0 0 5px 0;
  font-size: 20px;
  color: var(--dark-blue);
}

.staff-card .staff-info .title {
  color: var(--purple);
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 5px;
}

.staff-card .staff-links {
  font-size: 16px;
}

.staff-card .staff-links a {
  color: var(--dark-blue);
  text-decoration: underline;
}

.staff-card .separator {
  margin: 0 5px;
  color: var(--dark-blue);
}

@media (max-width: 500px) {
  .staff-card {
    display: flex;
    flex-direction: column;
  }

  .staff-card .staff-image {
    width: 100%;
    height: 100%;
  }

  .staff-card .staff-image img {
    object-fit: contain;
  }
}

/* ------------------------------------------------------- */
/*     Dispute Resolution Page                             */
/* ------------------------------------------------------- */
.dispute-wrapper h5 {
  text-align: center;
  padding-bottom: 10px;
}

.dispute-resolution-btn-wrapper {
  margin: 35px 0 45px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.dispute {
  list-style: none;
  padding: 0;
  margin: 30px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
}

.dispute li {
  padding: 5px 0;
  font-size: 18px;
  width: 100%;
}

@media (min-width: 640px) {
  .dispute li {
    width: calc(50% - 5px);
  }
}

@media (min-width: 1024px) {
  .dispute li {
    width: calc(33.333% - 7px);
  }
}

/* ------------------------------------------------------- */
/*     Phenoms Under 40 Page                               */
/* ------------------------------------------------------- */

.executive-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.executive-card {
  background-color: #ffffff;
  border-radius: 0;
  overflow: hidden;
  text-align: center;
  padding: 20px 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.executive-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.executive-card-image-container {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.executive-card img {
  width: 160px;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.executive-info {
  text-align: left;
  padding: 20px;
}

.executive-info h4 {
  font-size: 18px;
  font-weight: 700;
  color: var(--dark-blue);
  margin-top: 6px;
  margin-bottom: 5px;
}

.executive-info h4:after {
  content: "";
  display: block;
  margin-top: 5px;
  height: 1px;
  background-image: linear-gradient(90deg, var(--primary-blue), var(--green));
}

.executive-info p {
  font-size: 16px;
  line-height: 1.4;
  padding-top: 5px;
  margin: 0;
}

.executive-info .title {
  font-weight: 700;
  color: var(--primary-blue);
  margin-top: 2px;
  padding: 0;
}

/* ------------------------------------------------------- */
/*     In the News Page                                    */
/* ------------------------------------------------------- */

.in-the-news-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid #e0e0e0;
}

.in-the-news-wrapper p {
  margin: 0;
}

.publication-date {
  min-width: 200px;
  flex-shrink: 0;
  font-size: 18px;
  line-height: 1.4;
  padding-right: 15px;
}

.in-the-news-wrapper .PublishDate {
  font-size: 18px;
  font-style: normal;
}

.in-the-news-wrapper h4 {
  flex-grow: 1;
  line-height: 1.4;
}

@media (max-width: 1000px) {
  .in-the-news-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }

  .publication-date {
    order: 2;
    margin-top: 4px;
    min-width: auto;
    padding-right: 0;
  }

  .in-the-news-wrapper h4 {
    order: 1;
  }
}

/* ------------------------------------------------------- */
/*     Local Chapter Contents Page                         */
/* ------------------------------------------------------- */

.document-sections .section-header {
  font-size: 25px;
  font-weight: 700;
  color: var(--dark-blue);
  margin: 40px 8px 0;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e5e7eb;
}

.document-sections .document-list {
  padding: 0;
  margin-top: 0;
  margin-bottom: 30px;
  margin-left: 10px;
  list-style: none;
}

.document-sections .document-list li {
  padding: 8px 0;
  border-bottom: 1px dashed #eee;
}

.document-sections .document-list li:last-of-type {
  border-bottom: none;
}

.document-sections .document-link {
  text-decoration: none;
  font-weight: 500;
  display: inline-block;
  transition: color 0.15s ease-in-out;
  padding-left: 8px;
  position: relative;
}

.document-sections .document-link:hover {
  color: var(--dark-blue);
}

.document-card-grid {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, 1fr);
  padding-top: 20px;
  padding: 50px 0;
}

.document-card {
  background-color: white;
  border-radius: 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  padding: 25px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
}

.document-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.document-card .card-header-icon {
  flex-shrink: 0;
  margin-right: 15px;
  font-size: 35px;
  color: var(--white);
  line-height: 1;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: var(--primary-blue);
  display: flex;
  justify-content: center;
  align-items: center;
}

.document-card .card-content-wrapper {
  flex-grow: 1;
}

.document-card .section-header {
  font-size: 25px;
  font-weight: 700;
  color: var(--dark-blue);
  margin: 0 0 10px 0;
  padding-bottom: 0;
  border-bottom: none;
}

.document-card .document-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.document-card .document-list li {
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  line-height: 1.3;
}

.document-card .document-list li:last-of-type {
  border-bottom: none;
}

.document-card .document-link {
  text-decoration: none;
  display: block;
  padding-left: 0;
}

@media (max-width: 767px) {
  .document-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .document-card {
    padding: 20px;
  }

  .document-card-grid {
    gap: 20px;
  }
}

@media (max-width: 500px) {
  .document-card {
    padding: 20px;
    flex-direction: column;
  }

  .document-card-grid {
    gap: 20px;
  }
}

/* ------------------------------------------------------- */
/*     Magazines Page                                      */
/* ------------------------------------------------------- */

.magazine-grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 25px;
  margin: 50px auto;
}

.magazine-card {
  background-color: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: center;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  position: relative;
}

.magazine-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.magazine-card a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.magazine-card img {
  width: 100%;
  height: auto;
  display: block;
  border-bottom: 1px solid #eee;
  aspect-ratio: 3/4;
  object-fit: cover;
}

.magazine-info {
  padding: 15px 6px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
}

.magazine-card a::after {
  content: "Click to Read";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.616);
  color: white;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 600;
  transition:
    background-color 0.3s ease,
    opacity 0.3s ease;
  pointer-events: none;
}

.magazine-card a:hover::after {
  opacity: 1;
  background-color: #16456baf;
}

/* ------------------------------------------------------- */
/*     Designations Page                                   */
/* ------------------------------------------------------- */
.video-wrapper {
  text-align: center;
}

/* ------------------------------------------------------- */
/*     Accordion                                           */
/* ------------------------------------------------------- */

.accordion-section {
  padding: 40px 0;
}

@media (max-width: 600px) {
  .accordion-section {
    padding: 30px 20px;
  }
}

.accordion-title {
  margin-bottom: 20px;
}

.accordion-item {
  background-color: #ffffff;
  border-left: 5px solid var(--primary-blue);
  border-radius: 8px;
  margin-bottom: 10px;
  overflow: hidden;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.05);
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.accordion-item:hover {
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

.accordion-header {
  width: 100%;
  background-color: #ffffff;
  padding: 15px 20px;
  border: none;
  text-align: left;
  font-family: var(--primary-font);
  font-size: 21px;
  color: var(--dark-blue);
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s ease;
}

.accordion-item.open .accordion-header {
  color: var(--primary-blue);
}

.accordion-header .icon {
  font-size: 21px;
  color: var(--dark-blue);
  transition: transform 0.3s ease;
}

.accordion-item.open .accordion-header .icon {
  transform: rotate(180deg);
  color: var(--primary-blue);
}

.accordion-content {
  padding: 0px 20px;
  max-height: 0px;
  overflow: hidden;
  transition:
    max-height 0.3s ease-out,
    padding 0.3s ease-out;
  background-color: #ffffff;
}

.accordion-item.open .accordion-content {
  padding-bottom: 20px;
}

.accordion-content p {
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .accordion-header {
    font-size: 18px;
    padding: 15px;
  }

  .accordion-content {
    padding: 0px 15px;
  }

  .accordion-item.open .accordion-content {
    padding-bottom: 15px;
  }
}

/* ------------------------------------------------------- */
/*     Digital Badge Program Page                          */
/* ------------------------------------------------------- */

.badge-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.badge-wrapper img {
  width: 65%;
}

/* ------------------------------------------------------- */
/*     Fellows Page                                        */
/* ------------------------------------------------------- */

.blue-container {
  background-color: var(--primary-blue);
  padding: 70px 40px;
  margin: 50px 0;
}

.blue-container .inner-content {
  justify-content: center;
  margin: 0 auto;
  max-width: 840px;
}

.blue-container .inner-content p {
  color: var(--white);
  font-size: 20px;
}

/* ------------------------------------------------------- */
/*     Media Kit and Sponsorships Page                     */
/* ------------------------------------------------------- */

.contact-card-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}

.contact-card-container .contact-card {
  background-color: var(--white);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  padding: 20px;
}

.contact-card-container .card-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.contact-card-container .contact-details {
  flex: 1 1 45%;
  min-width: 250px;
}

.contact-card-container .contact-details strong {
  display: block;
  color: var(--dark-blue);
  font-size: 20px;
  font-weight: 600;
}

.contact-card-container .contact-details span {
  display: block;
}

@media (min-width: 768px) {
  .contact-card-container {
    flex-direction: column;
  }

  .contact-card-container .card-row {
    flex-wrap: nowrap;
  }
}

/* ------------------------------------------------------- */
/*     Resource E-Courses Page                             */
/* ------------------------------------------------------- */

.publishing-content-grid {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, 1fr);
  padding-top: 20px;
}

@media (max-width: 767px) {
  .publishing-content-grid {
    grid-template-columns: 1fr;
  }
}

.publishing-content-grid .magazine-feature {
  background-color: var(--white);
  padding: 25px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
  transition:
    transform 0.3s,
    box-shadow 0.3s;
  text-align: center;
}

.publishing-content-grid .magazine-feature:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.publishing-content-grid .magazine-cover {
  flex-shrink: 0;
  width: 150px;
  height: auto;
  margin: 0 auto 20px;
  overflow: hidden;
}

.publishing-content-grid .magazine-cover img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  transition: opacity 0.3s;
}

.magazine-content-title {
  font-size: 22px;
  font-weight: 600;
}

.publishing-content-grid .magazine-cover a {
  display: block;
  line-height: 0;
}

.publishing-content-grid .magazine-cover a:hover img {
  opacity: 0.85;
}

.feature-box {
  background-color: var(--white);
  text-align: center;
  padding: 25px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  transition: border-color 0.3s;
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.feature-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.feature-box h2 a {
  color: var(--navy);
}

.feature-box:hover {
  border-color: var(--primary-blue);
}

.feature-box p {
  margin-top: 10px;
}

.feature-box .archive-link {
  display: inline-block;
  font-weight: 600;
}

@media (min-width: 992px) {
  .publishing-content-grid .magazine-feature {
    flex-direction: row;
    text-align: left;
  }

  .publishing-content-grid .magazine-cover {
    margin: 0 25px 0 0;
  }

  .publishing-content-grid .magazine-content {
    flex-grow: 1;
  }

  .feature-box {
    text-align: left;
  }
}

/* ------------------------------------------------------- */
/*     Webinars Page                                       */
/* ------------------------------------------------------- */

.webinar-wrapper {
  margin: 15px 0;
}

.upcoming-webinars-iqa section:not(:last-child) .webinar-wrapper {
  border-bottom: 1px solid var(--light-gray);
  padding-bottom: 25px;
}

.webinar-topic {
  font-size: 22px;
  color: var(--dark-blue);
  font-weight: 600;
}

.webinar-date {
  font-size: 16px;
  font-style: italic;
}

.archived-webinars-iqa thead {
  display: none;
}

.archived-webinars-iqa .rgRow td,
.archived-webinars-iqa .rgAltRow td {
  font-size: 22px;
  font-weight: 600;
  color: var(--dark-blue);
}

.archived-webinars-iqa .RadGrid_MetroTouch td.rgGroupCol,
.archived-webinars-iqa .RadGrid_MetroTouch td.rgExpandCol {
  border-color: transparent !important;
  background: transparent !important;
}

.archived-webinars-iqa .RadGrid_MetroTouch {
  border-color: transparent !important;
}

.archived-webinars-iqa .RadGrid_MetroTouch .rgAltRow {
  background: transparent !important;
}

.archived-webinars-iqa .RadGrid .rgMasterTable .rgDetailTable,
.archived-webinars-iqa .ChildGridWrapper .rgMasterTable {
  border: 1px solid transparent !important;
  padding-left: 15px;
}

.archived-webinars-wrapper .archived-webinar-title {
  font-size: 18px;
}

.archived-webinars-wrapper .archived-webinar-date {
  font-size: 16px;
  font-style: italic;
}

.archived-webinars-wrapper {
  border-bottom: 1px solid var(--light-gray);
  padding-bottom: 25px;
}

.webinars-cco .RadGrid.RadGrid_MetroTouch .rgSelectedRow {
  background-color: transparent !important;
  border-color: transparent !important;
}

.webinars-cco .RadGrid.RadGrid_MetroTouch .rgSelectedRow td {
  border-color: transparent;
}

.webinars-cco .RadGrid.RadGrid_MetroTouch .rgSelectedRow a,
.webinars-cco .RadGrid.RadGrid_MetroTouch .rgSelectedRow a {
  color: var(--purple) !important;
}

.webinars-cco .RadGrid.RadGrid_MetroTouch .rgSelectedRow a:hover,
.webinars-cco .RadGrid.RadGrid_MetroTouch .rgSelectedRow a:hover {
  color: var(--dark-blue) !important;
}

/* ------------------------------------------------------- */
/*     Communities Page                                    */
/* ------------------------------------------------------- */

.communities-iqa section {
  margin-bottom: 22px !important;
}

.communities-iqa .card {
  min-height: 95px;
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.communities-iqa .card:hover {
  transform: translateY(-5px);
  box-shadow:
    rgba(50, 50, 93, 0.13) 0px 13px 27px -5px,
    rgba(0, 0, 0, 0.148) 0px 8px 16px -8px;
}

.communities-iqa .card-body {
  padding: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.communities-iqa .card-body p {
  margin: 0;
}

.communities-iqa .card-body a {
  text-decoration: none;
  font-size: 20px;
}

/* ------------------------------------------------------- */
/*     CLM Tracker Page                                    */
/* ------------------------------------------------------- */

/* Tracker Home Page */

.tracker-container {
  max-width: 1350px;
  margin: 0 auto;
  padding: 40px 10px;
}

.tracker-intro {
  text-align: center;
  margin-bottom: 80px;
}

.tracker-intro h1 {
  margin-bottom: 20px;
}

.tracker-intro-subtext {
  max-width: 900px;
  margin: 0 auto 45px;
  text-align: left;
}

.video-placeholder {
  position: relative;
  margin: 120px auto 100px;
  max-width: 900px;
}

.video-placeholder video {
  width: 100%;
  height: auto;
}

.video-placeholder img {
  width: 100%;
  display: block;
  border-radius: 4px;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background: rgba(255, 255, 255, 0.4);
  border: 4px solid white;
  border-radius: 50%;
  cursor: pointer;
}

.tracker-section-header {
  text-align: center;
  margin-bottom: 55px;
}

.tracker-section-header h2 {
  margin-bottom: 20px;
  font-size: 36px;
  font-weight: 700;
  font-style: italic;
  line-height: 1.2;
}

.tracker-container .accent-text {
  font-weight: 600;
  color: var(--purple);
  font-size: 34px;
  line-height: 1.2;
}

.tracker-container .features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
  align-items: center;
}

.tracker-container .features-content h4 {
  margin: 40px 0 10px;
  color: var(--dark-blue);
  font-size: 23px;
}

.tracker-container .features-content ul {
  padding-left: 35px;
}

.tracker-container .features-content li {
  margin-bottom: 10px;
}

.tracker-container .features-image img {
  width: 100%;
}

.tracker-sub-title {
  text-align: center;
  margin: 80px 0 40px;
  font-style: italic;
  font-size: 36px;
  font-weight: 700;
}

.tracker-container .card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.tracker-card {
  border: 1px solid #efefef;
  background: #fff;
  padding: 30px;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.tracker-card:hover {
  text-decoration: none;
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.tracker-card h3 {
  margin-bottom: 20px;
  color: var(--dark-blue);
}

.card-image img {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.tracker-card p {
  color: var(--dark-gray);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
}

@media (max-width: 768px) {
  .features-grid,
  .card-grid {
    grid-template-columns: 1fr !important;
  }

  .features-grid {
    gap: 15px;
  }

  .tracker-card p {
    font-size: 18px;
  }
}

.licenses-btn-wrapper em {
  margin-left: 10px;
}

.license-card-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  width: 100%;
  box-sizing: border-box;
}

.track-licenses-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 660px;
  padding: 20px 30px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

.track-licenses-card:hover {
  text-decoration: none;
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.track-licenses-card .tracker-card-content {
  display: flex;
  align-items: center;
  gap: 30px;
}

.track-licenses-card .tracker-card-logo img {
  height: 60px !important;
  display: block;
}

.track-licenses-card .tracker-card-text {
  display: flex;
  flex-direction: column;
}

.track-licenses-card .tracker-card-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--dark-blue);
}

.track-licenses-card .tracker-card-url {
  margin: 5px 0 0 0;
  font-size: 16px;
  color: var(--dark-gray);
}

.track-licenses-card .tracker-card-arrow {
  display: flex;
  align-items: center;
  color: var(--dark-blue);
}

.track-licenses-card .tracker-card-arrow em {
  font-size: 24px;
  color: #00467f;
  transition: transform 0.3s ease;
}

.track-licenses-card:hover .tracker-card-arrow em {
  transform: translateX(8px);
}

@media (max-width: 500px) {
  .track-licenses-card {
    padding: 15px 20px;
  }

  .track-licenses-card .tracker-card-content {
    gap: 15px;
  }

  .track-licenses-card .tracker-card-title {
    font-size: 18px;
  }

  .track-licenses-card .tracker-card-logo img {
    height: 40px !important;
  }
}

/* Tracker Individual Subscription Page */
.ProductDisplay {
  padding: 25px 32px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

/* Terms and Conditions */
.terms-container {
  margin: 25px 0;
  font-family: sans-serif;
  display: flex;
  justify-content: flex-end;
}

#open-terms {
  color: var(--purple);
  font-weight: bold;
}

/* Modal */
.modal-overlay {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.modal-content {
  position: relative;
  background-color: #fff;
  padding: 20px 30px 30px;
  border-radius: 0;
  width: 80%;
  max-width: 900px;
  transform: translateY(-75px);
  transition: transform 0.5s ease;
}

.modal-content h2 {
  padding-bottom: 10px;
}

.modal-overlay.show {
  display: flex;
  opacity: 1;
}

.modal-overlay.show .modal-content {
  transform: translateY(0);
}

.modal-body {
  max-height: 400px;
  overflow-y: auto;
  line-height: 1.6;
  font-size: 18px;
}

.close-modal {
  font-size: 35px;
  font-weight: bold;
  cursor: pointer;
  position: absolute;
  top: -4px;
  right: 16px;
}

.modal-body h5 {
  margin-top: 20px;
}

.PrimaryButton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* CLM Tracker Organization Subscription */

.FormBuilder textarea {
  font-size: 18px !important;
}

/* Image Gallery */

.gallery-container {
  margin: 75px auto;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.gallery-item {
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  cursor: pointer;
}

.gallery-item:hover {
  transform: scale(1.04);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.gallery-item img {
  width: 100%;
  height: 175px !important;
  object-fit: cover;
  display: block;
}
.lg-outer .lg-thumb-item.active,
.lg-outer .lg-thumb-item:hover {
  border-color: var(--primary-blue) !important;
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
  height: 60px;
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html {
  opacity: 0;
}

@media (max-width: 1220px) {
  .gallery-grid {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
  }

  .gallery-item img {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 480px) {
  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
  }
}

/* Speaker Listing */

.speaker-grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 20px 0;
  width: 100%;
}

.speaker-grid-container .chapter-leadership-card a {
  text-decoration: none;
}

@media (max-width: 1200px) {
  .speaker-grid-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .speaker-grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .speaker-grid-container {
    grid-template-columns: 1fr;
  }
}

.speaker-grid-container .chapter-leadership-wrapper {
  width: 100%;
  margin: 0 auto;
}

.speaker-grid-container .chapter-leadership-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
