/* ============================================================
   LAYOUT BUILDER FIXES
   ============================================================ */

.media-library-item__edit,
.media-library-item__remove {
  position: relative;
  height: 40px;
  margin-bottom: 30px;
}

/* Transparent blocks in Layout Builder */
.layout-builder-block { background: rgba(0, 0, 0, 0); }

/* Rearrange link spacing */
.layout-builder__link--rearrange { margin-right: 10px; }

/* Layout Builder form margin fix */
.node-landing-page-layout-builder-form { margin-left: 2.0em; }
#block-dxpr-theme-local-tasks { margin-left: 2.0em; }
#block-dxpr-theme-help { margin-left: 2.0em; }


/* ============================================================
   LINK COLORS
   ============================================================ */

/* NOTE: "a hover" is not valid CSS — should be "a:hover" */
a { color: #121c4d; }
a:hover { color: #121c4d; }
.dark a { color: #fff; margin-top: 10px; font-size: 24px; }
.dark a:hover { color: #fff; margin-top: 10px; font-size: 24px; }
.light a { color: #121c4d; margin-top: 10px; font-size: 18px; }
.light a:hover { color: #121c4d; margin-top: 10px; font-size: 18px; }

/* ============================================================
   LAYOUT COLOR SYSTEM — BACKGROUNDS
   ============================================================ */

/* White */
.bs-bg-white { background-color: #ffffff !important; color: #121c4d; }
.bs_input-circles .bs-text-white { background-color: #121c4d !important; }
.bs-text-white .bs_tooltip { background-color: #121c4d !important; }

/* Light Blue */
.bs-bg-light-blue { background-color: #e6f0ff !important; color: #121c4d; }

/* Dark Blue */
.bs-bg-dark-blue { background-color: #121c4d !important; }
.bs-bg-dark-blue.field-content { color: #fff; margin-top: 5px; }
.bs-bg-dark-blue .field-content { color: #fff; padding: 10px; }

/* Orange */
.bs-bg-orange { background-color: #F07D04 !important; }


/* ============================================================
   LAYOUT COLOR SYSTEM — TEXT COLORS
   ============================================================ */

/* Black Text */
.bs-text-black .bs_tooltip { background-color: #000 !important; }
.bs-text-black h2,
.bs-text-black h3,
.bs-text-black h4,
.bs-text-black h5,
.bs-text-black h6,
.bs-text-black p { color: #000; }

/* White Text */
/* NOTE: a rule setting .bs-text-white { color: #000 } was removed — likely a bug.
   The correct value #fff is kept here. */
.bs-text-white { color: #fff; }
.bs-text-white h2,
.bs-text-white h3,
.bs-text-white h4,
.bs-text-white h5,
.bs-text-white h6,
.bs-text-white p { color: #fff; }

/* Dark Blue Text */
.bs_input-circles .bs-text-dark-blue { background-color: #121c4d !important; }
.bs-text-dark-blue .bs_tooltip { background-color: #121c4d !important; }
.bs-text-dark-blue { color: #121c4d; }
.bs-text-dark-blue h2,
.bs-text-dark-blue h3,
.bs-text-dark-blue h4,
.bs-text-dark-blue h5,
.bs-text-dark-blue h6,
.bs-text-dark-blue p { color: #121c4d; }

/* Orange Text */
.bs_input-circles .bs-text-orange { background-color: #f07d04 !important; }
.bs-text-orange .bs_tooltip { background-color: #f07d04 !important; }
.bs-text-orange { color: #f07d04; }
.bs-text-orange h2,
.bs-text-orange h3,
.bs-text-orange h4,
.bs-text-orange h5,
.bs-text-orange h6,
.bs-text-orange p { color: #f07d04; }

/* Light Blue Text */
.bs_input-circles .bs-text-light-blue { background-color: #e6f0ff !important; }
.bs-text-light-blue .bs_tooltip { background-color: #e6f0ff !important; }
.bs-text-light-blue { color: #e6f0ff; }
.bs-text-light-blue h2,
.bs-text-light-blue h3,
.bs-text-light-blue h4,
.bs-text-light-blue h5,
.bs-text-light-blue h6,
.bs-text-light-blue p { color: #e6f0ff; }


/* ============================================================
   BANNERS
   ============================================================ */

/* Tall Banner */
.tall-banner { height: 500px !important; display: flex; align-items: center; }
.tall-banner h2 { color: #fff; text-align: center; line-height: 1.0em; font-size: 3.0em; text-shadow: 2px 2px 4px #000000; }
.tall-banner h3 { color: #fff; text-align: center; font-size: 2.5em; }
.tall-banner h4 { color: #fff; text-align: center; font-size: 2.0em; }

/* Large Banner */
.block-inline-blocklarge-banner { text-align: center; height: 420px; }
.block-inline-blocklarge-banner h2 { color: #fff; font-size: 4em; text-align: center; padding-top: 30px; line-height: 1.0em; text-shadow: 2px 2px 4px #000000; }
.block-inline-blocklarge-banner p { color: #fff; font-size: 1.5em; text-align: center; line-height: 1.5em; }
.block-inline-blocklarge-banner h4 { color: #fff; font-size: 2.0em; text-align: center; line-height: 1.0em; }
.btn .btn-primary .btn-lg p { text-align: center; }

/* Large Banner — Text on Side */
.block-inline-blocklarge-banner-text-on-side { padding-left: 15%; padding-right: 15%; height: 420px; }
.block-inline-blocklarge-banner-text-on-side h2 { color: #fff; font-size: 4em; text-align: left; padding-top: 80px; line-height: 1.0em; text-shadow: 2px 2px 4px #000000; }
.block-inline-blocklarge-banner-text-on-side p { color: #fff; font-size: 1.1em; text-align: left; line-height: 1.1em; }
.block-inline-blocklarge-banner-text-on-side h4 { color: #fff; font-size: 2.0em; text-align: left; line-height: 1.0em; }

/* Big Header */
.big-header h2 { font-size: 70px; color: #fff; font-weight: bold; }


/* ============================================================
   CARDS
   ============================================================ */

.block-inline-blockcard { border: 1px black solid; }

.block-field-blockblock-contentcardfield-heading {
  color: #2B4D66;
  font-weight: 400;
  font-size: 1.2em;
  margin-top: 10px;
  padding-left: 1.5em;
  padding-right: 1.5em;
  letter-spacing: .00125rem;
  line-height: 1.15;
  margin-bottom: 1.25rem;
  padding-bottom: .75rem;
  position: relative;
  transition: color .25s ease-in-out;
  text-transform: uppercase;
}

.block-field-blockblock-contentcardfield-heading::after {
  background-color: #d8d8d8;
  bottom: 0;
  content: "";
  display: block;
  height: .125rem;
  left: 1.6em;
  position: absolute;
  width: 2.9375rem;
}

.block-field-blockblock-contentcardbody { padding: 1.2em; }

/* NOTE: box-shadow x-offset may be missing — verify "5px 40px -10px" is intentional */
.block-inline-blockcard:hover {
  -webkit-box-shadow: 0px 5px 40px -10px rgba(0, 0, 0, 0.57);
  -moz-box-shadow: 0px 5px 40px -10px rgba(0, 0, 0, 0.57);
  box-shadow: 5px 40px -10px rgba(0, 0, 0, 0.57);
  transition: all 0.4s ease 0s;
}

.cards { height: 300px !important; }
.cards p { font-size: 30px; text-align: center; line-height: 100px; }
.cards h2 { font-size: 50px; text-align: center; line-height: 100px; }

.field--name-field-number { font-family: "Bebas Neue"; font-size: 48px; text-align: center; }
.field--name-field-description { font-family: "Open Sans"; font-size: 30px; text-align: center; }


/* ============================================================
   BUTTONS — BOOTSTRAP VARIANTS
   ============================================================ */

/* Primary */
.primarybutton { font-weight: bold; }
a.btn-primary { color: #fff; text-align: center; }
a.btn-primary:hover { color: #fff; text-decoration: none; }
a.btn-primary h3 { color: #fff; padding-top: 10px; }

/* Secondary */
.secondarybutton { font-weight: bold; }
.btn-secondary { background: #a8d6e7; border: #a8d6e7; }
a.btn-secondary { color: #fff; padding-top: 5px; }
a.btn-secondary:hover { color: #fff; text-decoration: none; }
a.btn-secondary h3 { color: #000; padding-top: 10px; }
a.btn-secondary h3:hover { color: #fff; }

/* Success */
.successbutton { font-weight: bold; }
a.btn-success { color: #fff; }
a.btn-success:hover { color: #efefef; text-decoration: none; }
a.btn-success h3 { color: #fff; padding-top: 10px; }
a.btn-success h3:hover { color: #fff; }

/* Warning */
.warningbutton { font-weight: bold; }
a.btn-warning { color: #fff; }
a.btn-warning:hover { color: #000; text-decoration: none; }
a.btn-warning h3 { color: #fff; padding-top: 10px; }
a.btn-warning h3:hover { color: #000; }

/* Danger */
.dangerbutton { font-weight: bold; }
.btn-danger { background: red; border: red; }
a.btn-danger { color: #fff; }
a.btn-danger:hover { color: #fff; text-decoration: none; margin-top: 10px; }
a.btn-danger h3 { color: #fff; padding-top: 10px; }
a.btn-danger h3:hover { color: #fff; }

/* Info */
.infobutton { font-weight: bold; }
a.btn-info { color: #fff; }
a.btn-info:hover { color: #000; text-decoration: none; }
a.btn-info h3 { color: #fff; padding-top: 10px; }
a.btn-info h3:hover { color: #000; }

/* Light */
.lightbutton { font-weight: bold; }
a.btn-light:hover { color: #000; text-decoration: none; }
a.btn-light h3 { color: #000; padding-top: 10px; }

/* Dark */
.darkbutton { font-weight: bold; }
a.btn-dark { color: #fff; }
a.btn-dark:hover { color: #fff; text-decoration: none; }
a.btn-dark h3 { color: #fff; padding-top: 10px; }


/* ============================================================
   BUTTONS — OUTLINE VARIANTS
   ============================================================ */

.outlinebtn {
  border: 2px solid black;
  background-color: transparent;
  color: black;
  padding: 14px 28px;
  font-size: 16px;
  cursor: pointer;
  border-radius: 5px;
}

.success { border-color: #04AA6D; color: green; }
.success:hover { background-color: #04AA6D; color: white; }

.info { border-color: #2196F3; color: dodgerblue; }
.info:hover { background: #2196F3; color: white; }

.warning { border-color: #ff9800; color: orange; }
.warning:hover { background: #ff9800; color: white; }

.danger { border-color: #f44336; color: red; }
.danger:hover { background: #f44336; color: white; }

.default { border-color: #e7e7e7; color: black; }
.default:hover { background: #e7e7e7; }


/* ============================================================
   VIDEO — RESPONSIVE EMBED
   ============================================================ */

.field--name-field-media-oembed-video {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
}

.media-oembed-content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* Remove padding in Claro admin context */
#block-claro-content .field--name-field-media-oembed-video { padding-top: 0px; }


/* ============================================================
   MISCELLANEOUS
   ============================================================ */

/* Date in block view — latest posts */
.views-field-field-publication-date { font-size: 0.8em; margin-left: 10px; margin-top: -20px; }

/* CKEditor content */
.ck-content { color: #000; }

/* Images in body */
.field--name-field-media-image { padding: 10px; }

/* Removes bottom margin for full-image coverage on no-gutter sections */
.row > * { margin-bottom: 0; }

/* Vertical section padding utility */
.verticalpadding { margin-top: 30px; margin-bottom: 30px; }

/* Dark overlay for background images */
.dark-overlay { background: rgba(0, 0, 0, 0.4); }


/* Custom LOGO options */
.body--dxpr-theme-nav-desktop .dxpr-theme-header--top #logo {max-height: 150px;}