/**
Theme Name: Glenwood Canyon Resort
Author: Bandel Media
Author URI: http://bandelmedia.com/
Description: This is a custom built theme for the Glenwood Canyon Resort website. Please do not edit or disable this theme. Contact Bandel Media for support or customization.
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: glenwood-canyon-resort
Template: astra
*/
:root {
    --pad-s: clamp(1rem, 0.8846rem + 0.5128vw, 1.5rem);
    --pad-m: clamp(1.5rem, 1.3846rem + 0.5128vw, 2rem);
    --pad-l: clamp(2rem, 1.7692rem + 1.0256vw, 3rem);

    --pad-tb-s: clamp(1.5rem, 1.2692rem + 1.0256vw, 2.5rem);
    --pad-tb-m: clamp(4rem, 3.76915rem + 1.026vw, 5rem);
    --pad-tb-l: clamp(7rem, 6.76915rem + 1.026vw, 8rem);
  /* Font family */
  --gf-font-family: "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Brand colors */
  --gf-color-primary: #354f93;
  --gf-color-primary-soft: #7e91c4;
  --gf-color-accent: #ffc526;
  --gf-color-link: #1a73e8;
  --gf-color-error: #ea4335;

  /* Text colors */
  --gf-color-text-main: #303030;
  --gf-color-text-muted: darkgray;
  --gf-color-text-muted-2: #3f444b;

  /* Inputs */
  --gf-color-input-bg: aliceblue;
  --gf-color-input-text: #5f6868;
  --gf-color-input-border: #354f93;
  --gf-color-input-border-focus: #e3e3e3;

  /* Chosen / multi-select */
  --gf-color-chip-bg: rgba(0, 113, 227, 0.1);
  --gf-color-chip-text: #0071e3;

  /* Progress bar */
  --gf-color-progress-bg: #e3e3e3;
  --gf-color-progress-fill: #1a73e8;
  --gf-color-progress-text: #ffffff;

  /* Backgrounds */
  --gf-color-section-bg: transparent;
  --gf-color-datepicker-bg: #ffffff;

  /* Border radius */
  --gf-radius-input: 7px;
  --gf-radius-button: 4px;
  --gf-radius-chip: 3px;
  --gf-radius-section: 0;
  --gf-radius-dropdown: 10px;

  /* Font sizes */
  --gf-font-size-label: clamp(1.2rem, 1.0914rem + 0.2266vw, 1.25rem);
  --gf-font-size-body: 16px;
  --gf-font-size-description: clamp(1.2rem, 1.0914rem + 0.2266vw, 1.25rem);
  --gf-font-size-button: clamp(1.2rem, 1.0914rem + 0.2266vw, 1.25rem);
  --gf-font-size-section-title: clamp(1.6rem, 1.2741rem + 0.6799vw, 1.75rem);
  --gf-font-size-helper: 13px;

  /* Layout / spacing */
  --gf-padding-wrapper: 10px;
  --gf-padding-button-y: 12px;
  --gf-padding-button-x: 45px;
  --gf-margin-button-y: 10px;
  --gf-min-height-input: 45px;
    /* Heading font family */
  --heading-font: "Lexend", sans-serif;

  /* Transformation & weight */
  --heading-transform: capitalize;
  --heading-weight: 800;

  /* Heading scale */
  --h1-size: clamp(2.1rem, 2.5rem + 0.8vw, 3rem);
  --h2-size: clamp(1.7rem, 2rem + 0.7vw, 2.2rem);
  --h3-size: clamp(1.45rem, 1.75rem + 0.6vw, 1.95rem);
  --h4-size: clamp(1.3rem, 1.45rem + 0.4vw, 1.6rem);
  --h5-size: clamp(1.15rem, 1.25rem + 0.3vw, 1.32rem);
  --h6-size: clamp(1rem, 1.1rem + 0.25vw, 1.2rem);
}
body {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5em;
    font-family: "Lato", sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font);
  text-transform: var(--heading-transform);
  font-weight: var(--heading-weight);
}

h1 { font-size: var(--h1-size); }
h2 { font-size: var(--h2-size); }
h3 { font-size: var(--h3-size); }
h4 { font-size: var(--h4-size); }
h5 { font-size: var(--h5-size); }
h6 { font-size: var(--h6-size); }
.fs-h1 {
  font-size: var(--h1-size);
  font-family: var(--heading-font);
  font-weight: var(--heading-weight);
}

.fs-h2 {
  font-size: var(--h2-size);
  font-family: var(--heading-font);
  font-weight: var(--heading-weight);
}

.fs-h3 {
  font-size: var(--h3-size);
  font-family: var(--heading-font);
  font-weight: var(--heading-weight);
}

.fs-h4 {
  font-size: var(--h4-size);
  font-family: var(--heading-font);
  font-weight: var(--heading-weight);
}

.fs-h5 {
  font-size: var(--h5-size);
  font-family: var(--heading-font);
}

.fs-h6 {
  font-size: var(--h6-size);
  font-family: var(--heading-font);
}
/* All sides */
.pad-s { padding: var(--pad-s); }
.pad-m { padding: var(--pad-m); }
.pad-l { padding: var(--pad-l); }

/* Top + Bottom */
.pad-tb-s { padding-block: var(--pad-tb-s); }
.pad-tb-m { padding-block: var(--pad-tb-m); }
.pad-tb-l { padding-block: var(--pad-tb-l); }

/* Top only */
.pad-t-s { padding-top: var(--pad-tb-s); }
.pad-t-m { padding-top: var(--pad-tb-m); }
.pad-t-l { padding-top: var(--pad-tb-l); }

/* Bottom only */
.pad-b-s { padding-bottom: var(--pad-tb-s); }
.pad-b-m { padding-bottom: var(--pad-tb-m); }
.pad-b-l { padding-bottom: var(--pad-tb-l); }
p a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    border-radius: 4px;
    background-color: #00548C;
    bottom: 0;
    left: 0;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .3s ease-in-out;
  }

p a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}
.page-title {
    margin-bottom: clamp(1.5rem, 1.2692rem + 1.0256vw, 2.5rem) !important;
    font-weight: 800;
    color: #fff;
    text-transform: capitalize;
}
.elementor-cta__title {
    font-size: clamp(2.3906rem, 2.3178rem + 0.2912vw, 2.5508rem);
}
.ahfb-svg-iconset svg {
    width: 30px;
    height: 30px;
}
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close {
    font-size: 30px;
}
.ast-mobile-popup-drawer.active .menu-toggle-close:focus {
    border-style: none;
    border-color: inherit;
    border-width: thin;
}
.ast-header-break-point .ast-icon.icon-arrow svg {
    height: 1.1em;
    width: 1em;
    fill: #fff;
}
.elementor-motion-effects-container {
    border-radius: 17px;
}
.uael-content {
    border: 2px solid #f1f0f0;
    border-radius: 10px;
}
.custom-icon-list {
    list-style: none;
    padding-left: 0;
}
ol,
ul {
    margin: 0 0 1.5em 1em;
}
.custom-icon-list li {
    position: relative;
    padding-left: 1.2em;
	line-height: 200%;
}

.custom-icon-list li::before {
    content: "\276F";
    position: absolute;
    left: 0;
    top: 0;
    color: #2F4A77;
    font-size: 1rem;
}
.ast-desktop .submenu-with-border .astra-megamenu {
    border-width: 0;
}
.elementor-cta__bg-wrapper {
    border-radius: 12px;
}
.ast-builder-menu-1 .menu-item > .menu-link {
    font-size: clamp(0.8125rem, 0.7409rem + 0.2729vw, 0.9375rem);
}
.buttonlink1 {
    padding: 12px 30px;
    border-width: 2px;
    border-style: solid;
    border-radius: 7px;
    color: var(--gf-color-primary) !important;
    background: #ffc526;
    border-color: #ffc526;
    font-family: Lexend, Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 0.7409rem + 0.2729vw, 0.9375rem);
    text-transform: uppercase;
    white-space: nowrap;
}
.buttonlink1:hover {
    background: #f4b300;
    border-color: #f4b300;
    color: #334155;
}
.buttonlink2 {
    padding: 12px 30px;
    border: 2px solid #fff;
    border-radius: 7px;
    color: #fff;
    background: none;
    font-family: Lexend, Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 0.7409rem + 0.2729vw, 0.9375rem);
    text-transform: uppercase;
    white-space: nowrap;
}
.buttonlink2:hover {
    background: #fff;
    border: 2px solid hsl(0, 0%, 100%);
    color: #354f93;
}
.reservation-box {
    display: flex;
    align-items: center;
    gap: 5px; /* Adjust spacing between icon and text */
}
.reservation-icon {
    width: 25px;
    height: 25px;
}
.reservation-text {
    font-size: clamp(.9rem, 1vw + .5rem, 1rem);
    color: #2c2c2c;
	font-weight:800;
}
.reservation-text a {
    color: #2F4A77 !important;
    text-decoration: none;
}
.booking-icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 8px;
}

.booking-icon {
    width: 30px;
    height: 30px;
    display: block;
}

.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
    top: 0;
    border: none;
}
.wp-caption img {
    border-radius: 12px;
}
.blogpost H2 {
    font-size: clamp(1.9922rem, 1.9315rem + 0.2427vw, 2.1257rem);
}
.blogpost H3 {
    font-size: clamp(1.5938rem, 1.5452rem + 0.1941vw, 1.7005rem);
}
.elementor-slides-wrapper {
    border-radius: 12px;
}
.breadcrumbs {
    font-size: 1rem;
    color: #12223B;
    text-align: center
}
.breadcrumbs a {
    color: #12223B;
    text-decoration: none;
}
.reloop-icon .elementor-button-icon {
  display: inline-flex;
  position: relative;
  transition: none;
}

.reloop-icon:hover .elementor-button-icon {
  animation: icon-reloop 0.4s ease forwards;
}

@keyframes icon-reloop {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  30% {
    transform: translateX(10px);
    opacity: 0;
  }
  31% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* This is for Gravity Forms */
.gform_wrapper {
  padding: var(--gf-padding-wrapper);
  font-family: var(--gf-font-family);
}

/* Labels */
.gform_wrapper .gfield_label {
  color: var(--gf-color-primary) !important;
  font-size: var(--gf-font-size-label) !important;
  font-weight: 600;
  margin-bottom: 8px;
  display: inline-block;
}

/* Descriptions / help text */
.gform_wrapper .description,
.gform_wrapper .gfield_description,
.gform_wrapper .gsection_description,
.gform_wrapper .instruction,
.gform_description {
  color: var(--gf-color-text-muted);
  font-size: var(--gf-font-size-description);
  font-family: var(--gf-font-family);
}

/* Links inside forms */
.gform_wrapper a {
  color: var(--gf-color-link);
}

/* Basic text/select inputs (sizes grouped) */
.gform_wrapper .gfield input.large,
.gform_wrapper .gfield select.large,
.gform_wrapper .gfield input.medium,
.gform_wrapper .gfield select.medium,
.gform_wrapper .gfield input.small,
.gform_wrapper .gfield select.small,
.gform_wrapper input[type="email"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="text"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea,
body .gform_wrapper .gform_body .gform_fields .gfield .name_first input,
body .gform_wrapper .gform_body .gform_fields .gfield .name_last input,
body .gform_wrapper .gform_body .gform_fields .gfield select {
  border-radius: var(--gf-radius-input) !important;
  background-color: var(--gf-color-input-bg);
  border-color: var(--gf-color-input-border);
  border-width: 2px;
  border-style: solid;
  color: var(--gf-color-input-text);
  font-family: var(--gf-font-family);
  line-height: 1.5;
  min-height: var(--gf-min-height-input);
}

/* Slight variant for chained/other special selects if needed */
.gform_wrapper .gfield_chainedselect.horizontal select {
  background-color: var(--gf-color-input-bg);
  border-width: 0 !important;
  border-radius: 8px !important;
  color: var(--gf-color-chip-text);
  min-width: 120px;
}

/* Inputs focus */
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper .ginput_complex input:focus,
.gform_wrapper .ginput_complex select:focus,
.gform_wrapper .gfield input.large:focus,
.gform_wrapper .gfield input.medium:focus,
.gform_wrapper .gfield input.small:focus {
  box-shadow: none;
  border-color: var(--gf-color-input-border-focus) !important;
  border-width: 1px;
  border-style: solid;
}

/* Complex fields */
.gform_wrapper .ginput_complex label,
.gform_wrapper .ginput_complex legend {
  color: var(--gf-color-text-muted) !important;
  font-size: var(--gf-font-size-helper) !important;
}

.gform_wrapper .ginput_complex input,
.gform_wrapper .ginput_complex select {
  width: 100%;
}

/* Text area */
.gform_wrapper textarea {
  border-radius: var(--gf-radius-input) !important;
}

/* Buttons */
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"],
.gform_wrapper input[type="reset"] {
  width: 100%;
  background-color: var(--gf-color-primary) !important;
  border-radius: var(--gf-radius-button) !important;
  color: #fff !important;
  border: 2px solid var(--gf-color-primary) !important;
  font-size: var(--gf-font-size-button) !important;
  font-family: var(--gf-font-family) !important;
  line-height: 1.4 !important;
  margin-top: var(--gf-margin-button-y) !important;
  margin-bottom: var(--gf-margin-button-y) !important;
  margin-left: 0;
  transition: background-color 0.3s ease;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  padding: var(--gf-padding-button-y) var(--gf-padding-button-x) !important;
}

.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"]:hover {
  background-color: var(--gf-color-accent) !important;
  border-color: var(--gf-color-accent) !important;
  color: var(--gf-color-text-main) !important;
}

/* Chosen multi-select chips */
.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 3px 5px 3px 0;
  max-width: 100%;
  border-radius: var(--gf-radius-chip);
  background-image: none !important;
  background-size: 100% 19px;
  background-repeat: repeat-x;
  background-clip: padding-box;
  line-height: 13px;
  cursor: default;
  background-color: var(--gf-color-chip-bg) !important;
  color: var(--gf-color-chip-text) !important;
  padding: 5px 20px !important;
  box-shadow: none !important;
  border-width: 0;
}

/* Chosen container */
.gform_wrapper .chosen-container-multi .chosen-choices {
  border-radius: var(--gf-radius-input) !important;
  background: var(--gf-color-input-bg);
  color: var(--gf-color-chip-text);
  font-family: var(--gf-font-family);
  line-height: 1.5;
  border: 1px solid #e3e3e3;
}

.gform_wrapper .chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  width: 100%;
  border-top: 0;
  background: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  display: none;
  background-color: #fff;
  z-index: 9999999999;
  margin-bottom: 30px !important;
  padding-bottom: 19px;
  border-radius: var(--gf-radius-dropdown);
  border-width: 0;
}

.gform_wrapper .chosen-container .chosen-results li.active-result {
  background: #fff;
}

.gform_wrapper .chosen-container .chosen-results li.active-result:hover {
  background: var(--gf-color-input-bg) !important;
  border-radius: 4px;
  cursor: pointer;
  color: var(--gf-color-text-muted);
}

/* Sections */
.gform_wrapper .gsection {
  border-bottom: 1px dashed var(--gf-color-primary) !important;
  padding: 1.25rem 0 0.5rem !important;
  background-color: var(--gf-color-section-bg) !important;
  border-radius: var(--gf-radius-section) !important;
  box-shadow: none !important;
}

body .gform_wrapper .gform_body .gform_fields .gsection .gsection_title {
  position: relative !important;
  margin: 10px auto !important;
  color: var(--gf-color-primary) !important;
  font-size: var(--gf-font-size-section-title);
  font-weight: 900;
  display: inline-block;
}

body .gform_wrapper .gform_body .gform_fields .gsection .gsection_description {
  color: var(--gf-color-text-muted-2);
  font-size: inherit;
}

/* HTML fields */
body .gform_wrapper .gform_body .gform_fields .gfield_html {
  background-color: transparent !important;
  box-shadow: none;
  color: var(--gf-color-text-muted);
  font-family: var(--gf-font-family);
  font-size: var(--gf-font-size-body);
}

body .gform_wrapper .gform_body .gform_fields a {
  color: var(--gf-color-primary);
}

/* Datepicker */
.gform-theme-datepicker:not(.gform-legacy-datepicker) {
  background: var(--gf-color-datepicker-bg);
  border: 1px solid lightgray;
}

.ui-datepicker:not(.gform-legacy-datepicker)[style] {
  z-index: 9999999 !important;
}

.gform-theme-datepicker:not(.gform-legacy-datepicker)
  .ui-datepicker-calendar
  .ui-datepicker-current-day
  .ui-state-default {
  background: var(--gf-color-chip-bg);
  color: var(--gf-color-chip-text);
  border-color: var(--gf-color-chip-text);
}

/* Progress bar */
.gform_wrapper .gf_progressbar_blue {
  background: var(--gf-color-progress-bg) !important;
}

.gform_wrapper .gf_progressbar_percentage.percentbar_blue {
  background-color: var(--gf-color-progress-fill);
  color: var(--gf-color-progress-text) !important;
  font-family: var(--gf-font-family);
}

.gform_wrapper .gf_progressbar_title {
  color: #fff;
}

/* Required mark */
.gform_wrapper .gfield_required {
  color: var(--gf-color-error);
}

/* Consent field */
.gfield_consent_label {
  color: var(--gf-color-primary) !important;
  box-shadow: none;
  font-weight: 600 !important;
}

.gform_wrapper .field_description_below .gfield_consent_description,
.gform_wrapper .gfield_consent_description {
  border: transparent;
}

/* Layout tweaks */
.gform_wrapper .ginput_container_time {
  min-width: 86px;
}

select {
  -webkit-appearance: none;
  min-height: 32px;
}

.gform_wrapper.gravity-theme .gform_footer button + input,
.gform_wrapper.gravity-theme .gform_footer input + button,
.gform_wrapper.gravity-theme .gform_footer input + input,
.gform_wrapper.gravity-theme .gform_page_footer button + input,
.gform_wrapper.gravity-theme .gform_page_footer input + button,
.gform_wrapper.gravity-theme .gform_page_footer input + input {
  margin-left: 0;
}

.gform-theme--foundation #field_submit,
.gform-theme--foundation .gform_footer,
.gform-theme--foundation .gform_page_footer {
  justify-content: center;
  margin: 0 auto;
}