/* 
Theme Name: SF SPCA Theme
Theme URI: https://github.com/elementor/hello-theme/
Description: This is a child theme of Hello Elementor, created by Elementor team
Author: The Engine Is Red
Author URI: https://theengineisred.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root {
    --page-color: #BF2E48;
    --primary-alpha: #F2D5DA;
    --secondary-alpha: #D9E1F2;
    --accent-alpha: #CCE0DE;
    --purple-alpha: #DCD5E3;
    --yellow-alpha: #F9F6E6;
}

.elementor-tab-title { background: #fff; }
.theme-col,
.elementor-tab-title.elementor-active { background-color: var(--page-color); }

.elementor-kit-5 .elementor-active .elementor-accordion-icon,
.elementor-kit-5 .elementor-active .elementor-accordion-title,
.has-primary-theme .elementor-active .elementor-accordion-icon,
.has-primary-theme .elementor-active .elementor-accordion-title,
.has-secondary-theme .elementor-active .elementor-accordion-title,
.has-secondary-theme .elementor-active .elementor-accordion-icon,
.has-accent-theme .elementor-active .elementor-accordion-title,
.has-accent-theme .elementor-active .elementor-accordion-icon,
.has-e398585-theme .elementor-active .elementor-accordion-title,
.has-e398585-theme .elementor-active .elementor-accordion-icon,
.elementor-kit-5 .spca-hero--content,
.elementor-kit-5 .spca-hero--content a,
.elementor-kit-5 .spca-centered-text--themed,
.has-primary-theme .spca-centered-text--themed,
.has-secondary-theme .spca-centered-text--themed,
.has-accent-theme .spca-centered-text--themed,
.has-e398585-theme .spca-centered-text--themed {
    color: #fff;
}

/*****************************
 * Typography
 *****************************/
h1 {
    font-weight: 900;
}

h2 {
    font-size:2rem
}

h3 {
    font-size:1.75rem
}

@media screen and (min-width:1024px) {
    h1 {
        font-size: 70px;
    }

    h2 {
        font-size: 3.125rem;
    }
}

/* highlighted text effect */
.spca-highlight h1,
.spca-highlight h2,
.spca-highlight h3 {
    background-image: linear-gradient(120deg, var(--primary-alpha) 0%, var(--primary-alpha) 100%);
    background-repeat: no-repeat;
    background-size: 100% 60%;
    background-position: 0 90%;
    display: inline-block;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
}
.has-secondary-theme .spca-highlight h1,
.has-secondary-theme .spca-highlight h2,
.has-secondary-theme .spca-highlight h3 {
    background-image: linear-gradient(120deg, var(--secondary-alpha) 0%, var(--secondary-alpha) 100%);
}
.has-accent-theme .spca-highlight h1,
.has-accent-theme .spca-highlight h2,
.has-accent-theme .spca-highlight h3 {
    background-image: linear-gradient(120deg, var(--accent-alpha) 0%, var(--accent-alpha) 100%);
}
.has-e398585-theme .spca-highlight h1,
.has-e398585-theme .spca-highlight h2,
.has-e398585-theme .spca-highlight h3 {
    background-image: linear-gradient(120deg, var(--purple-alpha) 0%, var(--purple-alpha) 100%);
}
.has-02bf055-theme .spca-highlight h1,
.has-02bf055-theme .spca-highlight h2,
.has-02bf055-theme .spca-highlight h3 {
    background-image: linear-gradient(120deg, var(--yellow-alpha) 0%, var(--yellow-alpha) 100%);
}
.spca-highlight h1 a,
.spca-highlight h2 a,
.spca-highlight h3 a {
    text-decoration: none;
}

/*****************************
 * Buttons & links
 *****************************/

.elementor a {
    text-decoration: underline;
}
.spca-5050 .elementor-widget-heading a,
.elementor .elementor-post__read-more,
.elementor-widget-spca-image-box .elementor-image-box-link,
.elementor-widget-spca-icon-box .elementor-icon-box-link,
.spca-slides .elementor-slide-button {
	position: relative;
    text-decoration: none;
}
.spca-5050 .elementor-widget-heading a::before,
.elementor-post__read-more::before,
.elementor-widget-spca-image-box .elementor-image-box-link::before,
.elementor-widget-spca-icon-box .elementor-icon-box-link::before,
.spca-slides .elementor-slide-button::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  bottom: -1px;
  left: 0;
  background-color: var(--e-global-color-primary);
  transform: scaleX(1);
  transition: transform 0.3s ease;
}

.spca-5050 .elementor-widget-heading a:hover::before,
.elementor-post__read-more:hover::before,
.elementor-widget-spca-image-box .elementor-image-box-link:hover::before,
.elementor-widget-spca-icon-box .elementor-icon-box-link:hover::before,
.spca-slides .elementor-slide-button:hover::before {
  transform: scaleX(0.5);
}
.spca-5050 .elementor-widget-heading a::before,
.spca-hero--content a::before {
	background-color: #fff;
}
.has-02bf055-theme .spca-5050 .elementor-widget-heading a::before,
.elementor-widget-spca-image-box .elementor-image-box-link::before,
.elementor-widget-spca-icon-box .elementor-icon-box-link::before,
.spca-slides .elementor-slide-button::before {
	background-color: var(--e-global-color-text);
}
/* don't underline a few things */
.elementor-post__title a,
.elementor-pagination a {
    text-decoration: none;
}
.elementor-post__title a:hover,
.elementor-pagination a:hover {
    filter: brightness(60%);
}

/* default (red) */
.elementor-button,
.elementor-kit-5 input[type="button"],
.elementor-kit-5 input[type="submit"] {
    background-color: #BF2E48;
    border-radius: 0;
}
a.elementor-button:hover,
.elementor-kit-5 input[type="button"]:hover,
.elementor-kit-5 input[type="submit"]:hover {
    filter: brightness(90%);
    color: #fff;
}
.elementor-button-hollow a.elementor-button {
    color: var(--e-global-color-primary);
    background-color: transparent;
    border: 1px solid var(--e-global-color-primary);
}
.elementor-button-hollow a.elementor-button:hover {
    box-shadow: 0 0 0 2px var(--e-global-color-primary);
}

/* Secondary (blue) */
.elementor-button-secondary a.elementor-button {
    background-color: var(--e-global-color-secondary);
}
.elementor-button-secondary.elementor-button-hollow a.elementor-button:hover {
    box-shadow: 0 0 0 2px var(--e-global-color-secondary);
}
.elementor-button-secondary.elementor-button-hollow a.elementor-button {
    color: var(--e-global-color-secondary);
    background-color: transparent;
    border: 1px solid var(--e-global-color-secondary);
}

/* Accent (green) */
.elementor-button-accent a.elementor-button {
    background-color: var(--e-global-color-accent);
}
.elementor-button-accent.elementor-button-pale a.elementor-button {
    background-color: var(--accent-alpha);
    color: var(--e-global-color-text);
}
.elementor-button-accent.elementor-button-hollow a.elementor-button:hover {
    box-shadow: 0 0 0 2px var(--e-global-color-accent);
}
.elementor-button-accent.elementor-button-hollow a.elementor-button {
    color: var(--e-global-color-accent);
    background-color: transparent;
    border: 1px solid var(--e-global-color-accent);
}

/* Purple */
.elementor-button-purple a.elementor-button {
    background-color: var(--e-global-color-e398585);
}
.elementor-button-purple.elementor-button-hollow a.elementor-button:hover {
    box-shadow: 0 0 0 2px var(--e-global-color-e398585);
}
.elementor-button-purple.elementor-button-hollow a.elementor-button {
    color: var(--e-global-color-e398585);
    background-color: transparent;
    border: 1px solid var(--e-global-color-e398585);
}

/* Yellow */
.elementor-button-yellow a.elementor-button {
    color: var(--e-global-color-text);
    background-color: var(--e-global-color-02bf055);
}
.elementor-button-yellow.elementor-button-hollow a.elementor-button:hover {
    box-shadow: 0 0 0 2px var(--e-global-color-02bf055);
}
.elementor-button-yellow.elementor-button-hollow a.elementor-button {
    color: var(--e-global-color-02bf055);
    background-color: transparent;
    border: 1px solid var(--e-global-color-02bf055);
}

/* White */
.elementor-button-white a.elementor-button {
    color: var(--page-color);
    background-color: #fff;
}
.elementor-button-white a.elementor-button:hover {
    filter: none;
    background-color: rgba(255, 255, 255, 0.85);
}
.elementor-button-white.elementor-button-hollow a.elementor-button {
    color: #fff;
    background-color: transparent;
    border: 1px solid #fff;
}
.elementor-button-white.elementor-button-hollow a.elementor-button:hover {
    box-shadow: 0 0 0 2px #fff;
}
.has-02bf055-theme .elementor-button-white a.elementor-button {
    color: var(--e-global-color-text);
}
.has-02bf055-theme .elementor-button-white.elementor-button-hollow a.elementor-button {
    color: var(--e-global-color-text);
    border-color: var(--e-global-color-text);
}
.elementor-button-white.elementor-button-hollow a.elementor-button:hover {
    box-shadow: 0 0 0 2px #fff;
}

/* Solid hover state */
/* .elementor-button-secondary a.elementor-button:hover,
.elementor-button-accent a.elementor-button:hover,
.elementor-button-purple a.elementor-button:hover,
.elementor-button-yellow a.elementor-button:hover,
.elementor-button-white a.elementor-button:hover {
    filter: brightness(90%);
} */

/*****************************
 * Header
 *****************************/

/* Header search */
.elementor-widget-spca-search-toggle .spca-search-toggle {
    background-color: transparent;
    color: var(--e-global-color-text);
    border: none;
}
.spca-search .elementor-search-form__container {
    flex-direction: row-reverse;
    overflow: visible;
}
.spca-search .elementor-search-form__input {
    color: var(--e-global-color-text);
}
.spca-search .elementor-search-form button {
    background-color: transparent;
    color: var(--e-global-color-text);
}
.spca-search .elementor-search-form button:focus {
    outline: auto;
}

/* Mega menu search */
.mega-menu-item .search-form {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-around;
}
.mega-menu-item .search-field {
	background-color: transparent;
	border-radius: 0;
	border: none;
	border-bottom: 1px solid;
}
.mega-menu-item input[type="submit"] {
	position: absolute;
	left: 0;
	background: transparent;
	border: none;
	text-indent: -200px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 .mega-sub-menu .widget_search::before {
	display: inline-block;
	content: "\f002";
	position: absolute;
	padding: 1rem;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

/*****************************
 * Basic Elementor Overrides
 *****************************/

 /* accordion */
 .elementor-tab-title a {
    text-decoration: none;
    font-size: 2rem;
 }

/*****************************
 * Custom Sections
 *****************************/

 /* Page hero */
/* .spca-hero--image .elementor-widget-container::before {
    content: '';
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background-color: var(--page-color);
    opacity: 0.35;
} */
.spca-hero--image .elementor-image {
	height: 100%;
}
.spca-hero--content > .elementor-column-wrap {
	justify-content: flex-end;
}
.post-type-archive-sfspca-resources .spca-hero--image .elementor-widget-container::before {
    background-color: var(--e-global-color-accent);
}
.no-overlay .spca-hero--image .elementor-widget-container::before {
    display: none;
}
.spca-hero--content .elementor-widget-wrap {
    background-color: var(--page-color);
}
.post-type-archive-sfspca-resources .spca-hero--content .elementor-widget-wrap {
    background-color: var(--e-global-color-accent);
}

/* Plain background color */
.spca-centered-text--themed {
    background-color: var(--page-color);
}
.spca-centered-text--themed-light {
    background-color: var(--primary-alpha);
}
.has-secondary-theme .spca-centered-text--themed-light {
    background-color: var(--secondary-alpha);
}
.has-accent-theme .spca-centered-text--themed-light {
    background-color: var(--accent-alpha);
}
.has-e398585-theme .spca-centered-text--themed-light {
    background-color: var(--purple-alpha);
}
.has-02bf055-theme .spca-centered-text--themed-light {
    background-color: var(--yellow-alpha);
}

/* 50/50 rows */
.spca-5050 {
    background-color: var(--page-color);
}
/* .has-secondary-theme .spca-5050 {
    background-color: var(--secondary-alpha);
} */
.spca-5050 .spca-image .elementor-widget,
.spca-5050 .spca-image .elementor-image,
.spca-5050 .spca-image .elementor-widget-container {
    height: 100%;
}
.spca-5050 .spca-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.spca-5050 p.elementor-heading-title {
	line-height: 1.5;
}

/* Full Image Background */
.spca-full-image-background .elementor-widget-wrap::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--page-color);
    opacity: 0.2;
}
.spca-full-image-background .elementor-widget-text-editor {
    font-weight: 600;
}
@media (min-width: 1024px) {
    .spca-full-image-background .elementor-widget-wrap {
        color: #fff;
    }
    .spca-full-image-background .elementor-widget-wrap::before {
        display: none;
    }
}

/* Triple CTA (used on home) */
.spca-triple-cta .elementor-container,
.spca-triple-cta .elementor-element {
    justify-content: center;
}
.spca-triple-cta .elementor-column {
    margin-bottom: 1.5rem;
}
@media (min-width:768px) {
    .spca-triple-cta .elementor-column:nth-child(1) {
        padding-right: 0.75rem;
    }
    .spca-triple-cta .elementor-column:nth-child(2) {
        padding-left: 0.75rem;
    }
}
@media (min-width:1024px) {
    .spca-triple-cta .elementor-column:nth-child(1) {
        padding-right: 1.5rem;
    }
    .spca-triple-cta .elementor-column:nth-child(2) {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .spca-triple-cta .elementor-column:nth-child(3) {
        padding-left: 1.5rem;
    }
}
.spca-triple-cta .elementor-widget-wrap>.elementor-element {
    max-width: 600px;
}
.spca-triple-cta .elementor-cta--skin-cover .elementor-cta {
    display: flex;
    aspect-ratio: 1 / 1;
    text-decoration: none;
}
.spca-triple-cta .elementor-cta--skin-cover .elementor-cta__content {
    margin-top: auto;
    margin-bottom: 1.5rem;
    min-height: auto;
    background: var(--page-color);
}
.spca-triple-cta .veterinary .elementor-cta__content {
    background: var(--e-global-color-accent);
}
.veterinary .elementor-cta:hover .elementor-cta__bg-overlay,
.veterinary .elementor-cta:focus .elementor-cta__bg-overlay {
    background-color: var(--e-global-color-accent);
    opacity: 0.4;
}
.spca-triple-cta .adoptions .elementor-cta__content {
    background: var(--e-global-color-secondary);
}
.adoptions .elementor-cta:hover .elementor-cta__bg-overlay,
.adoptions .elementor-cta:focus .elementor-cta__bg-overlay {
    background-color: var(--e-global-color-secondary);
    opacity: 0.4;
}
.spca-triple-cta .community .elementor-cta__content {
    background: var(--e-global-color-e398585);
}
.community .elementor-cta:hover .elementor-cta__bg-overlay,
.community .elementor-cta:focus .elementor-cta__bg-overlay {
    background-color: var(--e-global-color-e398585);
    opacity: 0.4;
}

/* Pale BG text color overrides */
/* .has-02bf055-theme .elementor-widget-wrap,
.has-02bf055-theme .elementor-element.elementor-widget-text-editor a,
.has-secondary-theme .elementor-element.elementor-widget-text-editor a {
    color: var(--e-global-color-text);
}
.has-02bf055-theme .spca-5050 .elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
    border-color: var(--e-global-color-text);
} */

/* Subscribe */
.spca-subscribe {
    background-color: var(--page-color);
    color: #fff;
}
.spca-subscribe input[type="submit"] {
    border: 2px solid white;
    filter: none;
}
.has-02bf055-theme .spca-subscribe {
    color: var(--e-global-color-text);
    border: none;
}
.post-type-archive-sfspca-resources .spca-subscribe,
.single-sfspca-resources .spca-subscribe {
    background-color: var(--e-global-color-accent);
}
.single-sfspca-adoption input[type="submit"],
.post-type-archive-sfspca-resources input[type="submit"],
.single-sfspca-resources input[type="submit"],
.has-accent-theme input[type="submit"],
.has-secondary-theme input[type="submit"],
.has-e398585-theme input[type="submit"] {
    border: none;
}
.single-sfspca-adoption .spca-subscribe {
    background-color: var(--e-global-color-secondary);
}

/* Cards - 2 Col w/Background */
/* not compatible after site launch */
/* .spca-cards-bg .elementor-inner-section .elementor-widget-wrap {
    background-color: var(--primary-alpha);
}
.has-secondary-theme .spca-cards-bg .elementor-inner-section .elementor-widget-wrap {
    background-color: var(--secondary-alpha);
}
.has-accent-theme .spca-cards-bg .elementor-inner-section .elementor-widget-wrap {
    background-color: var(--accent-alpha);
}
.has-e398585-theme .spca-cards-bg .elementor-inner-section .elementor-widget-wrap {
    background-color: var(--purple-alpha);
}
.has-02bf055-theme .spca-cards-bg .elementor-inner-section .elementor-widget-wrap {
    background-color: var(--yellow-alpha);
} */
.spca-cards .elementor-widget-divider {
    --divider-color: var(--page-color);
}

/* Adoption single */
@media screen and (min-width:769px) {
    .single-sfspca-adoption .swiper-container .elementor-swiper-button {
        display: none;
    }
    .single-sfspca-adoption .swiper-container:has(.swiper-slide:not(.swiper-slide-active, .swiper-slide-next)) .elementor-swiper-button {
        display: block;
    }
}

/*****************************
 * Cookiebot
 *****************************/
#CybotCookiebotDialog {
	top: auto!important;
	bottom: 0!important;
	transform: translateX(-50%)!important;
}
#CybotCookiebotDialogBodyContent {
	padding: .625em!important;
}
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
	border-color: transparent!important;
	padding: .5em 1em!important;
	color: var(--e-global-color-text);
}
#CybotCookiebotDialogPoweredByText,
.CybotCookiebotDialogBodyBottomWrapper {
	display: none!important;
}

/*****************************
 * Gravity Forms
 *****************************/

/* Validation + Messages */
.gform_wrapper .gform_validation_errors>h2 {
    font-family: var(--e-global-typography-primary-font-family);
    font-size: 1rem;
}
.gform_wrapper .gform_validation_errors {
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 1rem;
}
.gform_wrapper .gform_required_legend .gfield_required {
    font-size: 1.7rem;
    margin: 1rem .5rem;
    line-height: 1;
}
.gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message {
    border: none;
}

/* Progress bar */
.gform_wrapper.gravity-theme .gf_progressbar_blue {
    background: var(--secondary-alpha);
}
.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
    border-radius: 0;
    background-color: var(--e-global-color-secondary);
}

/* Inputs in general */
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border-color: #757575;
    border-radius: 0;
}

/* Radio, checkbox, select */
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label {
    font-size: 1.25rem;
    line-height: 1.3;
}
.gchoice {
    margin-bottom: 1rem;
}
.gfield-choice-input {
    width: 1rem;
    height: 1rem;
    padding: .25rem;
}
.gform_wrapper.gravity-theme .gfield select {
    height: 2.5rem;
}

/* Footer */
.spca-footer--copyright .elementor-widget-text-editor {
    font-size: 1rem;
}

/* Admin + frontend styles for hidden sections */
.e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden {
  display: inherit;
  background: repeating-linear-gradient(125deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 1px, transparent 2px, transparent 9px);
  border: 1px solid rgba(0, 0, 0, 0.02);
}
.e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden.elementor-section:before, .e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden.e-con:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  z-index: 9997;
}
.e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden.e-con {
  display: var(--display);
}
.e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden.elementor-inner-section .elementor-container {
  width: 100%;
}
.e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden > .elementor-widget-container, .e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden > .elementor-widget-wrap {
  filter: opacity(0.4) saturate(0);
}
.e-preview--show-hidden-elements .elementor-edit-area-active .spca-hidden.elementor-edit-hidden {
  display: none;
}

.spca-hidden,
.spca-hidden-desktop {
    display: none;
}