/* Webform Styles --- */
.webform-progress li {
  font-family: bio-sans;
}

.webform-progress-tracker .progress-step.is-active {
}

.webform-progress-tracker .progress-step .progress-text {
  color: #53565a;
}

.webform-progress-tracker .progress-step .progress-marker::before {
  aspect-ratio: 1 / 1;
  padding: 0 1px 2px 1px;
}

.webform-progress-tracker .progress-step.is-active .progress-marker::before {
  background-color: var(--baylorGreen);
  color: #fff;
}

.webform-progress-tracker .progress-step.is-active .progress-text {
  color: var(--baylorGreen);
}

.webform-progress-tracker .progress-step .progress-marker::after {
  background-color: var(--lightGray);
}

.webform-progress-tracker .progress-step.is-active:hover .progress-marker::before {
  background-color: #007a33;
}

.webform-submission-form.buform fieldset {
  /*border-top: 1px solid rgba(0,0,0,.2);*/
}
fieldset.webform-composite-hidden-title .fieldset-wrapper > .form-item:first-child, fieldset.webform-composite-hidden-title .fieldset-wrapper > .form-wrapper > .form-item:first-child, fieldset.webform-composite-hidden-title .fieldset-wrapper > .webform-flexbox:first-child {
  margin-top: 0;
}

/* Webform Message (infobox) Styles --- */
.buComponent-infobox {
    --darkCharcoal:#53565a;
    
    --iconInfo:url('/themes/custom/baylor_united_2/images/icons/circle-info.svg');
    --iconError:url('/themes/custom/baylor_united_2/images/icons/circle-xmark.svg');
    --iconWarning:url('/themes/custom/baylor_united_2/images/icons/triangle-exclamation.svg');
    --iconStatus:url('/themes/custom/baylor_united_2/images/icons/flag.svg');

    --_infoboxIcon:var(--iconInfo);
    --_infoboxColor:var(--darkCharcoal);

    color: #000;
    font: 400 16px / 1.3em bio-sans;
    background: var(--lightGray);
    position: relative;
    border: unset;
    display: grid;
    grid-template-rows: [messages-icon-row-start] 1fr [messages-icon-row-end] ;
    grid-template-columns: [icon-start] 52px [icon-end message-start] auto [message-end];
}
.buComponent-infobox::before {
    background-color: var(--_infoboxColor);
    content: "";
    grid-column: icon;
    grid-row: messages-icon-row;
}
.buComponent-infobox[data-infobox-type="status"]::before {
    background: #007a33;
  }
.buComponent-infobox::after {
  content: '';
  display: inline-block;
  grid-column: icon;
  grid-row: messages-icon-row;
  place-self: center;
  width: 22px;
  height: 22px;
  mask-image: var(--_infoboxIcon);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 22px 22px;
  background-color: var(--white);
  transform: translateZ(0);
}
.buComponent-infobox[data-infobox-type="error"] {
    --_infoboxColor: var(--alertRed); /* error */
    --_infoboxIcon:var(--iconError);
}
.buComponent-infobox[data-infobox-type="status"] {
    --_infoboxIcon:var(--iconStatus);
}
.buComponent-infobox[data-infobox-type="warning"] {
    --_infoboxColor: var(--universityGold);
    --_infoboxIcon:var(--iconWarning);
}
.buComponent-infobox[data-infobox-type="warning"]::after {
    background-color: var(--darkCharcoal);
}
.buComponent-infobox--messages {
    grid-column: message;
    padding: 22px 25px 22px 1em;
}

/* Form Styles -- */
.buform {
  --_f-height: 3.9rem;
  --_f-p-t: 1.1rem;
  --_f-p-b: 0rem;
  --_f-p-l: 1rem;
  --_f-p-r: var(--_f-p-l);
  --_f-radius: 5px;
  --_f-border-width: 1px;
  --_f-border-color: rgba(0, 0, 0, 0.5);
  --_f-bg: rgba(255, 255, 255, 0.8);
  --_l-t: 1.24rem;
  --_l-color: var(--charcoal);
  --_l-font-size: 17px;
  --_small-font: 0.85rem;
  font: 400 16px/1em bio-sans, arial, sans-serif;
  max-width: 500px;
}

.buform fieldset:not(:first-child) {
  margin-top: 1.5rem;
}

.buform fieldset:is(.webform-type-checkboxes, .webform-type-radios) {
  border-top: none;
}

.buform fieldset.form-composite {
  margin-top: 0;
}

.buform fieldset .fieldset-legend {
  padding-right: 4px;
}

.buform__theme--centered {
  margin: 0 auto;
}

.buform__theme--dark {
  color: #fff;
}
.buform__theme--dark :is(h1,h2,h3,h4,h5,h6,legend),
.buform.buform__theme--dark .form_question.form_h2 > .form_label /* slate */ {
  color: var(--universityGold) !important;
}

.buform legend:has(.visually-hidden) {
  display:none;
}

.buform * {
  box-sizing: border-box;
}

.buform .form-wrapper {
  position: relative;
  margin: 0 0 1rem 0;
}

.buform .form-item {
  display: flow-root;
  margin: 0 0 0.8rem 0;
  position: relative;
}

.buform fieldset {
  border: 0;
  margin: 20px 0;
  padding: 0;
}

.buform legend, /* drupal */
.buform .form_question.form_h2 > .form_label /* slate */ {
  font-weight: 700;
  color: var(--baylorGreen);
  font-size: 20px;
  margin: 0 0 15px 0;
  letter-spacing: -0.01rem;
}
.buform input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.buform select,
.buform div:has(> textarea) {
  font: 400 16px/1.3em bio-sans, arial, sans-serif;
  width: 100%;
  appearance: none;
  height: var(--_f-height);
  border-radius: var(--_f-radius);
  background-color: var(--_f-bg);
  border: var(--_f-border-width) solid var(--_f-border-color);
  padding: var(--_f-p-t) var(--_f-p-r) var(--_f-p-b) var(--_f-p-l);
}
.buform input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
.buform select,
.buform textarea {
  appearance: none;
}
.buform input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
.buform textarea {
  letter-spacing: -0.01em;
  color: #000;
}
.buform div:has(> textarea) {
  --_f-p-t: 2rem;
  --_f-p-b: 0.25rem;
  --_f-height: 100px;
  min-height: var(--_f-height);
  height: auto;
}
.buform textarea {
  font: 400 16px/1.3em bio-sans, arial, sans-serif;
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  padding: 0;
  background: transparent;
  resize: vertical;
}
.buform select {
  text-overflow: ellipsis;
  overflow: hidden;
  anchor-name: --select;
  width: 100%;
}
.buform :is(input, textarea)::placeholder {
  color: transparent;
}
.buform :is(p, div):has(> select),
:is(.buform, .uiComponent__drupalTable .view-filters) :is(p, div):has(> select) {
  anchor-scope: --select;
}
.buform :is(p, div):has(> select)::after,
:is(.buform, .uiComponent__drupalTable .view-filters) :is(p, div):has(> select)::after {
  content: '';
  display: inline-block;
  position: absolute;
  position-anchor: --select;
  right: calc(anchor(right) + var(--_f-p-r));
  bottom: calc(anchor(bottom) + var(--_f-p-b) + 1lh);
  width: var(--_l-font-size);
  height: 1.177lh;
  mask-image: url('/themes/custom/baylor_united_2/images/icons/chevron-down.svg');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: var(--_l-font-size) var(--_l-font-size);
  background-color: var(--charcoal);
  pointer-events: none;
}

.buform select[multiple="multiple"] {
  height: auto;
  padding: 2rem 0.8rem 0.8rem 0.8rem;
  line-height: 2em;
}

.buform select[multiple="multiple"] option {
  padding: 4px 0;
}

.buform :is(p, div):has(> select[multiple="multiple"])::after {
  content: "";
}

/*
  Floating-label base rule
  - Scope to Webform title positions that should appear inline (Default + Inline)
  - Keep labels absolutely positioned inside the control and non-interactive in these modes
  - Constrained under .buform to avoid impacting non-buform elements
*/
.buform :is(.has-default-title-position.title-position-default, .has-explicit-title-position.title-position-inline) > label:has(+ input:not([type=button]):not([type=submit]):not([type=radio]):not([type=checkbox])),
.buform :is(.has-default-title-position.title-position-default, .has-explicit-title-position.title-position-inline) > label:has(+ select),
.buform :is(.has-default-title-position.title-position-default, .has-explicit-title-position.title-position-inline) > label:has(+ div textarea),
.buform :is(.has-default-title-position.title-position-default, .has-explicit-title-position.title-position-inline)  > label:has(+ div:not([class*="file"]) input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="file"])),
.buform :is(.has-default-title-position.title-position-default, .has-explicit-title-position.title-position-inline) > label:has(+ div select),
.buform label.form_label:has(+ div:not([class*="file"]) input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="file"])), /* slate */
.buform label.form_label:has(+ div select), /* slate */
.uiFilterBlock .buform label /* filter block */ {
  position: absolute;
  pointer-events: none;
  transition-timing-function: ease-in;
  transition-duration: 0.125s;
  top: var(--_l-t);
  white-space: nowrap;
  overflow: hidden;
  left: var(--_f-p-l);
  font-size: var(--_l-font-size);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--_l-color);

  z-index: 1;
}

.buform label:has(+ input[type=file]) {
  position: static;
  pointer-events: auto;
     /* reset other properties */
}

.buform .form-type-webform-document-file, 
.buform .form-type-webform-image-file, 
.buform .form-type-webform-audio-file, 
.buform .form-type-webform-video-file, 
.buform .form-type-managed-file  {
  border-style: solid;
  border-width: var(--_f-border-width);
  border-color: var(--_f-border-color);
  border-radius: var(--_f-radius);
  padding: 10px;
}

.buform .form-type-webform-document-file .description,
.buform .form-type-webform-image-file .description, 
.buform .form-type-webform-audio-file .description, 
.buform .form-type-webform-video-file .description, 
.buform .form-type-managed-file .description {
  margin-inline: unset;
}

.buform label.form-required::after,
.buform fieldset legend > .form-required::after {
  content: " *";
  color: var(--alertRed);
  font-weight: bold;
}

.buform .buform-required-infobox {
  margin-bottom: 30px;
}
.buform .buform-required-infobox span {
  color: var(--alertRed);
  font-weight: bold;
}

/*
  Floating-label shrink/move trigger
  - Only for Default/Inline title positions
  - Prevents “Before” labels from responding to focus/filled state
*/
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ input:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ input.buform__input--filled),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ select:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ select),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div textarea:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div textarea.buform__input--filled),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div input:focus), /* slate */
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div input.buform__input--filled), /* slate */
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div select:focus), /* slate */
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div select), /* slate */
.buform label.form_label:has(+ div input:focus), /* slate */
.buform label.form_label:has(+ div input.buform__input--filled), /* slate */
.buform label.form_label:has(+ div select:focus), /* slate */
.buform label.form_label:has(+ div select), /* slate */
.uiFilterBlock .buform label:has( + input:focus), /* filter block */
.uiFilterBlock .buform label:has( + .buform__input--filled) /* filter block */ {
  --_l-font-size: 12px;
  --_l-t: 0.7rem !important;
}

/*
  Before title position (explicit):
  - Make labels static, visible before the input (not absolutely positioned)
  - Allow pointer interaction and disable transition “shrink/grow” effect
  - Reduce top padding on controls to remove reserved space for floating labels
*/
.buform .has-explicit-title-position.title-position-before > label,
.buform .has-explicit-title-position.title-position-after > label {
  position: static;
  pointer-events: auto;
  transition: none;
  top: auto;
  left: auto;

  font-size: var(--_l-font-size);
  line-height: 1.3;
  letter-spacing: -0.01em;
    /*font-size: inherit;*/
  color: inherit;
  /*line-height: inherit;*/
  white-space: normal;

  overflow: visible;
  z-index: auto;
  /* Ensure the label sits on its own line so vertical spacing applies */
  display: block;

  padding: 0.5em 0.2em;
}

/* Remove extra top padding reserved for floating labels in "before" layout */
.buform .has-explicit-title-position.title-position-before
:is(input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]),
      select,
      div:has(> textarea)) {
    --_f-p-t: var(--_f-p-b);
}

/* Remove extra top padding reserved for floating labels in "before" layout */
.buform .has-explicit-title-position.title-position-before
:is(input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]),
      select,
      div:has(> textarea)) {
    --_f-p-t: var(--_f-p-b);
}

.buform .description,
.buform .form-item + .text-full {
  margin: 0.4em 0 0 0;
  font-size: var(--_small-font);
  margin-inline: var(--_f-p-l);
  color: var(--charcoal);
  padding-bottom: 0em;
}
.buform .form-item:has(.description) + .form-item {
  margin-top: 1rem;
}

.buform div:has(> .text-count-wrapper) {
  --_f-p-b: calc(var(--_small-font) + (2 * var(--_textcount-p)) + (0.75 * var(--_f-p-l)));
  --_textcount-p: 6px;
  --_small-font: 0.75rem;

  position: relative;
}

.buform .text-count-wrapper {
  font-size: var(--_small-font);
  line-height: 1;
  text-align: right;

  position: absolute;
  right: var(--_f-border-width);
  bottom: calc(2 * var(--_f-border-width));
  margin: calc(var(--_f-p-l) / 2);
  /*padding-inline: calc(var(--_form-p-inline) / 2);*/
  /*width: calc(100% - (2 * var(--_form-input-borderwidth)) - (var(--_form-p-inline)));*/
  /*padding-bottom: var(--_textcount-p);*/
  /*padding-right: calc(2 * var(--_textcount-p));*/

  color: var(--charcoal);
  /*background: hsl(from var(--_form-input-bg) h s l / 100%);*/
  /*box-shadow: 0 0.25lh 0.25lh var(--_form-input-bg);*/

  border: 1px solid #bbbd;
  background: #eeed;
  display: inline-block;
  border-radius: var(--_f-radius);
  padding: calc(var(--_textcount-p) * .8) var(--_textcount-p) var(--_textcount-p);
  /*color: #000c;*/
}

input.webform-counter-warning,
input.form-text.webform-counter-warning,
textarea.webform-counter-warning,
textarea.form-textarea.webform-counter-warning {
  border-color: transparent;
  background: transparent;
}

.buform input[type="checkbox"] {
  float: left;
  margin-top: 0.3rem;
  width: 1rem;
  height: 1rem;
  border-radius: 1px;
}

.buform .webform-type-checkbox > input[type="checkbox"] + label {
  display: block;
  margin-left: 1.8rem;
  line-height: 1.4em;
  padding: 0;
}
.buform .webform-type-checkboxes .form-item {
    margin: 0 0 0.3rem 0;
}
.buform .webform-type-checkboxes .fieldset-wrapper {
    margin-left:0.3rem;
}

.buform input:not(:empty) {
  background: red !important;
}

.buform :is(input, select, textarea):is(:focus, :active) {
  --_f-border-color: #154734;
  box-shadow: 0 0 0 4px rgba(255, 184, 28, 0.8);
  outline: none;
}

.buform .form-actions {
  margin-top: 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  padding-top: 1.5rem;
}
.buform .form-actions:has(input:nth-of-type(2)) {
  display: grid;
  grid-template-columns: 1fr 2fr;
  column-gap: 10px;
}

.buform__theme--dark .form-actions {
  border-top-color: rgba(255, 255, 255, 0.5);
}

.buform input[type="submit"],
.buform button {
  border: 0;
  background: var(--universityGold);
  padding: 0.8rem 2rem 0.95rem 2rem;
  width: 100%;
  text-align: center;
    font-weight: 400;
    font-size: var(--_l-font-size);
    line-height: 1;
    font-family: var(--font-family--sans);
  border-radius: var(--_f-radius);
  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.2);
  border: 0;
  transition: all 0.25s ease;
  cursor: pointer;
  color: #000;
  outline: none;
}

.buform input.webform-button--previous {
  background-color: #eee;
  color: #53565a;
}

.buform input[type="submit"].webform-button--previous:hover {
  background-color: #53565a;
  color: #fff;
}

.buform.buform__theme--gold input[type="submit"],
.buform.buform__theme--gold button {
  background: var(--baylorGreen);
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.buform input[type="submit"]:hover,
.buform input[type="submit"]:active,
.buform input[type="submit"]:focus,
.buform button:hover,
.buform button:active,
.buform button:focus {
  background: #ffd31c;
  border: 0;
  color: #000;
}

.buform input[type="submit"]:active,
.buform input[type="submit"]:focus-visible,
.buform button:active,
.buform button:focus-visible {
  box-shadow: 0 0 0 2px #ffd31c;
  border: 0;
  color: #000;
}

.buform.buform__theme--gold :is(input[type="submit"]:hover, input[type="submit"]:active),
.buform.buform__theme--gold :is(button:hover, button:active) {
  background: #006a52;
  border: 0;
  color: #fff;
}

.buform__theme--gold .buform input[type="submit"]:active,
.buform.buform__theme--gold button:active {
  box-shadow: 0 0 0 2px #006a52;
  border: 0;
}

/********** Range Input Styles **********/
.buform input:is([type="range"]):not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]) {
  -webkit-appearance: none;
  margin-top: 20px;
  width: 100%;
  height: 3rem;
  border-radius: unset;
  border: none;
  padding: unset;
}

.buform .form-type-range {
  margin-top: 1.5rem;
  margin-bottom: 3rem;
}

.buform input[type="range"]:focus,
.buform input[type="range"]:active {
  outline: none;
  box-shadow: unset !important;
}

.buform input[type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: 4px;
  cursor: pointer;
  animate: 0.2s;
  background: var(--baylorGreen);
  border-radius: 25px;
}

.buform input[type="range"]::-webkit-slider-thumb {
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 1);
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -8px;
}

.buform input[type="range"]:focus::-webkit-slider-runnable-track {
  background: var(--baylorGreen);
}

.buform .range-wrap {
  width: 500px;
  position: relative;
}

.buform .range-value {
  position: absolute;
}

.buform .range-value span {
  width: 38px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  background: var(--baylorGreen);
  color: #fff;
  font-size: 12px;
  display: block;
  position: absolute;
  left: 50%;
  transform: translate(-45%, 0);
  border-radius: 6px;
}

.buform .range-value span:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-bottom: 10px solid var(--baylorGreen);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  top: -30%;
  left: 50%;
  margin-left: -5px;
  margin-top: -1px;
}

/* Error Styles */
.buform input:user-invalid:not(:focus),
.buform select:user-invalid:not(:focus),
.buform div textarea:user-invalid:not(:focus),
.buform div input:user-invalid:not(:focus),
.buform div select:user-invalid:not(:focus),
.buform input:required:user-invalid:not(:focus),
.buform .buform__input--error,
.buform div:has(> .buform__input--error) {
  --_f-border-width: 2px;
  --_f-border-color: var(--alertRed);
  --_f-bg: #fae9e9;
}
/*
.buform .form_question.required label,
.buform label:has(+ input:invalid:focus),
.buform label:has(+ select:invalid:focus),
.buform label:has(+ div textarea:invalid:focus),
.buform label:has(+ div input:invalid:focus),
.buform label:has(+ div select:invalid:focus),
.buform label:has(+ div textarea.error),
.buform label:has(+ div input.error),
.buform label:has(+ div select.error) {
  color: var(--alertRed) !important;
}
*/
/*
.buform .form_question.required input,
.buform .form_question.required select,
.buform input.error,
.buform select.error,
.buform input.error,
.buform textarea.error,
.buform input:invalid:focus,
.buform select:invalid:focus,
.buform div textarea:invalid:focus,
.buform div input:invalid:focus,
.buform div select:invalid:focus  {
  border-color: var(--alertRed) !important;
  background-color: #fae9e9 !important;
}
*/

.buform .form_question.required label::after {
  /*.buform label.form-required:has(+ div .buform__input--error)::after {*/
  color: var(--alertRed) !important;
}

/* Drupal Error Box */

div[data-drupal-messages]:has(+ .buform) {
  margin: 0 0 2rem 0;
}

div[data-drupal-messages]:has(+ .buform) div[role="alert"] {
  border-left-width: 60px;
  font: 400 16px/1.4em bio-sans, arial, sans-serif;
  padding: 22px 25px 22px 70px;
  background: #eee;
  position: relative;
}

div[data-drupal-messages]:has(+ .buform) div[role="alert"]::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  width: 52px;
  background: #a60000;
}

div[data-drupal-messages]:has(+ .buform) div[role="alert"]::after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
  width: 52px;
  height: 20px;
  mask-image: url('/themes/custom/baylor_united_2/images/icons/triangle-exclamation.svg');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 20px 20px;
  background-color: #fff;
  text-align: center;
}

div[data-drupal-messages]:has(+ .buform) div[role="alert"] * {
  box-sizing: border-box;
}

div[data-drupal-messages]:has(+ .buform) div[role="alert"] ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

div[data-drupal-messages]:has(+ .buform) div[role="alert"] li {
  margin: 0;
  padding: 0;
  font: inherit;
}


:is(.buform, .uiComponent__drupalTable .view-filters) label:has(+ select) {
  /*background: #fff;*/
  display: block;
  right: 0.8rem;
  overflow: visible;
}

.buform select[multiple="multiple"] {
  height: auto;
  padding-top: 2rem;
  overflow-y: auto;
  padding-bottom: 1rem;
  padding: 2rem 1rem 0.5rem 1rem !important;
}

/*:is(.buform, .uiComponent__drupalTable .view-filters) label:has(+ select)::before,*/
:is(.uiComponent__drupalTable .view-filters) label:has(+ select)::before {
  content: "";
  height: 0.6rem;
  /*background: #fff;*/
  position: absolute;
  top: -0.6rem;
  left: 0;
  right: 0;
}
/*:is(.buform, .uiComponent__drupalTable .view-filters) label:has(+ select)::after,*/
:is(.uiComponent__drupalTable .view-filters) label:has(+ select)::after {
  content: "";
  height: 0.5rem;
  /*background: #fff;*/
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  right: 0;
}

:is(.buform, .uiComponent__drupalTable .view-filters) select[multiple="multiple"] option {
  text-wrap: wrap;
}

:is(.buform, .uiComponent__drupalTable .view-filters) select[multiple="multiple"] {
  height: auto;
  padding: 2rem 0.8rem 0.8rem 0.8rem;
  line-height: 2em;
}

:is(.buform, .uiComponent__drupalTable .view-filters) select[multiple="multiple"] option {
  padding: 4px 0;
}

:is(.buform, .uiComponent__drupalTable .view-filters) :is(p, div):has(> select[multiple="multiple"])::after {
  content: "";
}

input[type="date"] {
}

label:has(+ input[type="date"]),
.js-form-type-datetime > label {
  color: black !important;
  z-index: 5;
}

/*
  Late-positioned shrink/move rule with !important (legacy)
  - Restrict to Default/Inline title positions only to avoid affecting "Before"
  - Cover date/datetime widgets under the same scope
*/
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ input:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ input.buform__input--filled),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ select:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ select),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div textarea:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div textarea.buform__input--filled),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div input:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div input.buform__input--filled),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div select:focus),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ div select),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline)
       > label:has(+ input[type="date"]),
.buform :is(.has-default-title-position.title-position-default,
            .has-explicit-title-position.title-position-inline).js-form-type-datetime > label {
  font-size: 12px !important;
  line-height: 1.3em !important;
  top: 0.7rem !important;
}

/*
  Hard override: ensure "Before" labels never shrink even if other !important rules match
*/
.buform .has-explicit-title-position.title-position-before > label {
/*  font-size: inherit !important;*/
/*  line-height: inherit !important;*/
/*  top: auto !important;*/
}

.buform fieldset:is(.webform-type-checkboxes, .webform-type-radios) legend,
.buform label:has(+ input[type="range"]) {
  font-size: 17px !important;
  font-weight: normal;
  color: #000;
  margin-bottom: 0.7rem;
  left: unset !important;
}

.buform label:has(+ div input.form-file),
.buform label:has(+ div span.file) {
  display: block;
  font-size: 17px !important;
  font-weight: normal;
  color: #000;
  margin-bottom: 0.7rem;
  left: unset !important;
}
.buform .webform-document-file,
.buform .webform-image-file,
.buform .webform-audio-file,
.buform .webform-video-file,
.buform .form-managed-file
 {
    display: flex;
    align-items: center;
    height: 44px;
}
.buform div.webform-document-file input[value="Remove"],
.buform div.webform-image-file input[value="Remove"],
.buform div.webform-audio-file input[value="Remove"],
.buform div.webform-video-file input[value="Remove"],
.buform div.form-managed-file input[value="Remove"]
{
    width: 25%;
    margin-left: 20px;
}
.buform .form-item .js-form-type-datetime > div {
  display: flex;
  column-gap: 10px;
}

.fieldset-wrapper .description:nth-child(1):has(.webform-element-description) {
  padding: 0;
  margin: 0 0 1rem 0;
}

.fieldset-wrapper .description:nth-child(1) .webform-element-description {
  font-size: 1.1em;
  line-height: 1.3em;
  background: var(--lightGray);
  padding: 0.9rem 1rem 0.9rem 2.9rem;
  border-radius: 8px;
  position: relative;
}

.fieldset-wrapper .description:nth-child(1) .webform-element-description::after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 1rem;
  top: 1rem;
  width: 18px;
  height: 18px;
  mask-image: url('/themes/custom/baylor_united_2/images/icons/circle-info.svg');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 18px 18px;
  text-align: center;
}

/* Slate Modals */

.dialog_host div {
  font: 400 18px/1.2em bio-sans !important;
}

.dialog_host .dialog > div {
  padding-top: 80px !important;
}

.dialog_host > div > div::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  width: 24px;
  height: 24px;
  margin: 0 auto;
  mask-image: url('/themes/custom/baylor_united_2/images/icons/circle-xmark.svg');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 24px 24px;
  background-color: var(--alertRed);
}

.webform-confirmation .webform-confirmation__message {
  color: #000;
  font: 400 16px/1.3em bio-sans;
  background: #eee;
  padding: 22px 25px 22px 66px;
  position: relative;
}
.webform-confirmation .webform-confirmation__message::before {
  background: #007a33;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  width: 52px;
}
.webform-confirmation .webform-confirmation__message::after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
  width: 52px;
  height: 20px;
  mask-image: url('/themes/custom/baylor_united_2/images/icons/circle-check.svg');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 20px 20px;
  background-color: #fff;
  text-align: center;
}
.buform .webform-readonly label:has(+ input:not([type=button]):not([type=submit]):not([type=radio]):not([type=checkbox]):not([type="file"])) {
    color: #757575
}
.buform :is(input:not([type="button"]):not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="file"]), textarea):read-only {
    background-color: var(--lightGray);
    color: #757575
}

/*-- WEBFORM ITERATOR (CUSTOM COMPOSITE) STYLES --*/
.buform .form-type-webform-custom-composite > label:first-child {
    position: initial !important;
    font-weight: 700;
    color: var(--baylorGreen);
    font-size: 20px !important;
    margin: 0 0 15px 0;
    letter-spacing: -0.01rem;
}

/*-- WEBFORM ITERATOR (CUSTOM COMPOSITE) STYLES --*/

.buform [data-drupal-selector*="operations-add"][class*="image-button"],
.buform [data-drupal-selector*="operations-remove"][class*="image-button"] {
  width:auto!important;
  height:auto!important;
  border-radius:12px!important;
  border:2px solid!important;
  padding:2px!important;
}
