/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/
:root {
    --swiper-theme-color: var(--awb-color4);
}

.gform_wrapper .gfield_error .gfield_validation_message, .gform_wrapper .gfield_error label, .gform_wrapper .gfield_required {
    color:var(--awb-color4) !important;
}
#gform_submit_button_1.gform_button { 
    background-color: var(--awb-color4) !important; text-transform: uppercase; font-family:Archivo; font-size: 13px;  font-weight: 600;  letter-spacing: 1.77996px; line-height: 21.06px } 
#gform_submit_button_1.gform_button:hover { 
    background-color: var(--awb-color5) !important; } 

.drew-upcoming-events {
  list-style: none;
  margin: 0;
  padding: 0;
}

.drew-upcoming-events__item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid #eef0f2;
}
.drew-upcoming-events__item:first-child { padding-top: 0; }
.drew-upcoming-events__item:last-child { border-bottom: none; }

.drew-upcoming-events__date-block {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border-radius: 10px;
  background: #2f5fdd; /* swap for your brand color */
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.drew-upcoming-events__month {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 4px;
}
.drew-upcoming-events__day {
  font-size: 24px;
  font-weight: 700;
}

.drew-upcoming-events__content { flex: 1 1 auto; min-width: 0; }
.drew-upcoming-events__title {
  display: block;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  color: #1a1a1a;
  text-decoration: none;
}
.drew-upcoming-events__title:hover { color: #0086d6; text-decoration: underline; }
.drew-upcoming-events__meta {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  color: #8a8f98;
}
.artist.type-artist hr { 
    margin: 40px 0px; 
    border: none;
    border-top: 1px solid var(--awb-color3);}

 .swiper-gallery .swiper-slide {
    height: 260px;              /* pick whatever fits your layout */
    display: flex;
    align-items: center;        /* vertical centering */
    justify-content: center;
}

.swiper-gallery .swiper-slide a,
.swiper-gallery .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;          /* fills the box, cropping overflow — use "contain" instead to show the whole image with letterboxing */
    display: flex;
    align-items: center;
    justify-content: center;
} 
/* let slides of differing height sit centered instead of being stretched to match */
.swiper-fit-auto .swiper-wrapper,
.swiper-fit-height .swiper-wrapper,
.swiper-fit-width .swiper-wrapper {
    align-items: center;
}

/* CROP (default) — today's look: fixed box, cropped fill */
.swiper-fit-crop .swiper-slide {
    height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-fit-crop .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* HEIGHT — every slide the same height, width follows each image's own ratio, no crop */
.swiper-fit-height .swiper-slide {
    flex: 0 0 auto;
    width: auto;
    height: 260px;
}
.swiper-fit-height .swiper-slide img {
    height: 100%;
    width: auto;
    max-width: none;
    display: block;
}

/* WIDTH — every slide the same width (your usual column count), height follows each image's own ratio, no crop */
.swiper-fit-width .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
}

/* AUTO — fully natural size, just capped so a huge original can't blow out the row */
.swiper-fit-auto .swiper-slide {
    flex: 0 0 auto;
    width: auto;
}
.swiper-fit-auto .swiper-slide img {
    width: auto;
    height: auto;
    max-height: 320px;
    max-width: 100%;
    display: block;
}
/********** CAPTIONS *********/
.wp-caption-text, .awb-imageframe-caption-text { font-size:12px!important; line-height:16px; padding:5px 0px}
.history .awb-imageframe-caption-title { display: none}
.tribe-events-calendar-list__event-featured-image { max-height:250px!important; width: auto!important}
.fusion-page-title-captions h1 { font-weight:300!important; font-family:Montserrat!important;}

.member-directory * { line-height:1.5em!important; margin-bottom:0px!important}
.facetwp-facet input.facetwp-search, .facetwp-facet input.facetwp-location {
    border-radius: 10px;
    height: 40px;
}
.facetwp-icon { opacity: 1 !important; }
.facetwp-icon:before {
    /* 1. Fix the Skew (Stops the <i> tag from italicizing/slanting the icon) */
    font-style: normal !important; 
    font-variant: normal !important;
    
    /* 2. Perfect Centering (Vertical and Horizontal) */
    display: flex !important;
    align-items: center !important;      /* Centers it vertically */
    justify-content: center !important;  /* Centers it horizontally within the 30px */
    
    /* 3. The Icon & Sizing */
    content: '' !important; 
    font-family: 'awb-icons' !important; 
    font-weight: 400 !important;
    font-size: 16px !important;          /* Updated to 16px */
    
    /* 4. Color & Clarity */
    color: #FFF !important; 
    opacity: 1 !important;
    -webkit-font-smoothing: antialiased;
    
    /* 5. Dimensions & Clearing old styles */
    width: 30px !important;
    height: 100% !important; 
    background: #000 !important; 
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important; 
	border-top-right-radius: 10px;
   border-bottom-right-radius: 10px;
}

input:read-only {
  background-color: none!important; 
  border: 0px!important; 
}