/* 
Theme Name: Clinica Sierra Vista Theme
Description: Custom WordPress Theme
Author: Archer & Hound Advertising
Author URI: https://archerandhound.com/
Template: hello-elementor
Version: 2.0.0
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
*/

/* Add your custom styles here */


html, body {
	max-width: 100%;
	overflow-x: hidden;
}

body {
    -webkit-font-smoothing: antialiased;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

* {
	scroll-behavior: smooth;
	scroll-margin-top: 100px;
}

.grecaptcha-badge { 
    visibility: hidden !important;
}

.cky-btn {
	padding: 8px !important;
}


/* --- */


footer {
  margin-top: auto;
}

h1, h2, h3, h4, h5, h6, .elementor-heading-title, .balance * {
  text-wrap: balance;
}

p {
	text-wrap: pretty;
}

strong {
	font-weight: 700 !important;
}

ul, ol {
	margin: 30px 0px;
}

li {
	margin-bottom: 10px;
}

button, .elementor-button, a {
    cursor: pointer;
}

@media only screen and (min-width:768px) {
    button, .elementor-button {
        white-space: nowrap;
    }
}


/*Containers*/
:root {
	--vert: clamp(60px, 12%, 80px);
	--horz: clamp(30px, 7%, 60px);
	--vert-extra: clamp(80px, 18%, 140px);
	--horz-extra: clamp(60px, 12%, 120px);
}

.no-pad, .no-pad.e-con>.e-con-inner {
    padding-block-start: 0;
    padding-block-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
}

.pad-right {
    padding-inline-end: var(--horz, --container-default-padding-right);
}

.pad-left {
    padding-inline-start: var(--horz, --container-default-padding-left);
}

.pad-horz {
    padding-inline-start: var(--horz, --container-default-padding-left);
    padding-inline-end: var(--horz, --container-default-padding-right);
}

.pad-horz-extra {
    padding-inline-start: var(--horz-extra, --container-default-padding-left);
    padding-inline-end: var(--horz-extra, --container-default-padding-right);
}

.pad-top {
    padding-block-start: var(--vert, --container-default-padding-top);
}

.pad-btm {
    padding-block-end: var(--vert, --container-default-padding-bottom);
}

.pad-vert  {
    padding-block-start: var(--vert, --container-default-padding-top);
    padding-block-end: var(--vert, --container-default-padding-bottom);
}

.pad-vert-extra  {
    padding-block-start: var(--vert-extra, --container-default-padding-top);
    padding-block-end: var(--vert-extra, --container-default-padding-bottom);
}

.site-main {
	padding-top: calc(var(--vert) + 100px);
	padding-bottom: calc(var(--vert) + 100px);
}


/*Default padding for first container on every page*/

.elementor:not([data-elementor-type="header"], [data-elementor-type="footer"], [data-elementor-type="popup"]) .e-con:first-of-type:not(.e-con *) {
    --container-default-padding-top: calc(var(--vert) + 120px);
}

.post-type-archive-tribe_events {
	padding-top: calc(var(--vert) + 100px);
}

/*Default padding for last container on every page*/

.elementor:not([data-elementor-type="header"], [data-elementor-type="footer"], [data-elementor-type="popup"]) .e-con:last-of-type:not(.e-con *) {
    --container-default-padding-bottom: calc(var(--vert) + 100px);
}


/* Events Styles */

#tribe-events-pg-template {
	background: none;
	margin: 0;
    max-width: 100%;
    padding: 0;
}


/* WP Styles */

/* Headings */

.wp-block-heading {
	font-family: "DM Sans", sans-serif !important;
	letter-spacing: normal !important;
}

h2.wp-block-heading:not(:first-of-type) {
	margin-block-start: 60px;
}

h3.wp-block-heading, h4.wp-block-heading, h5.wp-block-heading, h6.wp-block-heading {
	margin-block-start: 30px;
}

.wp-block-group .wp-block-heading {
	margin-top: 0;
}

h2.wp-block-heading {
	font-size: clamp(1.5rem, 2.75vw, 2rem);
}

h3.wp-block-heading {
	font-size: clamp(1.4rem, 2.5vw, 1.5rem);
}

h4.wp-block-heading {
	font-size: clamp(1.3rem, 2.25vw, 1.4rem);
}

h5.wp-block-heading {
	font-size: clamp(1.2rem, 2vw, 1.3rem);
}

h5.wp-block-heading {
	font-size: clamp(1.15rem, 1.75vw, 1.2rem);
}

h6.wp-block-heading {
	font-size: clamp(1rem, 1.5vw, 1.15rem);
}


/* Elements */

.wp-block-coblocks-gallery-carousel, .wp-block-embed, .wp-block-video, .wp-block-image {
	margin: 60px 0;
}

.wp-block-coblocks-gallery-carousel-page-dot-pagination-container, .nav-button__next, .nav-button__prev {
	z-index: 10;
}

.nav-button__next, .nav-button__prev {
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.5;
}

.nav-button__next:hover, .nav-button__prev:hover {
	opacity: 1;
}

.nav-button__next .icon, .nav-button__prev .icon {
	padding: 16px;
}

.wp-block-coblocks-gallery-carousel-page-dot-pagination-container>.wp-block-coblocks-gallery-carousel-page-dot-wrapper>.wp-block-coblocks-gallery-carousel-page-dot-pagination {
	padding: 1px 3px;
	border: 1px solid #FFF;
	background: #FF7F50;
}

button.coblocks-lightbox__arrow {
	border: none;
	padding: 1rem;
}

button.coblocks-lightbox__close {
	padding: 7px;
}

button.wp-block-coblocks-gallery-carousel-thumbnail {
	padding: 0;
	background: transparent;
}

button.wp-block-coblocks-gallery-carousel-thumbnail img {
	border-radius: 3px;
}

.wp-block-coblocks-gallery-carousel-thumbnail-pagination {
	margin-top: 20px;
}

.wp-block-group, .wp-block-media-text {
	margin-top: 60px;
}

hr.wp-block-separator {
	margin: 45px 0 !important;
	border-top: 1px solid;
	border-top-color: #DFEFED;
}

.wp-block-media-text>.wp-block-media-text__content {
	padding: 0;
}

.wp-block-media-text {
	column-gap: 30px;
	row-gap: 30px;
}


/* Blocks - Blockquote */

.wp-block-quote {
	margin: 0;
	padding: 0.5rem 40px;
	border-left: 4px solid #8CD2D1;
	font-style: italic;
	font-weight: 400;
}


/* Blocks - Accordions */

.wp-block-coblocks-accordion-item__title:not(.has-background) {
	background: transparent;
	padding: 10px 0;
	font-weight: 600;
	cursor: pointer;
}

.wp-block-coblocks-accordion-item__title:not(.has-background):hover {
	color: #216564;
}

.wp-block-coblocks-accordion-item details .wp-block-coblocks-accordion-item__title::marker {
	content: '➕ ';
	font-size: 1rem;
	color: #DFEFED;
}

.wp-block-coblocks-accordion-item details[open] .wp-block-coblocks-accordion-item__title::marker {
	content: '➖ ';
}

.wp-block-coblocks-accordion-item__content {
	border-width: 0 0 1px 0;
	border-color: #DFEFED;
}

.wp-block-coblocks-accordion-item__title.has-background:after, .wp-block-coblocks-accordion-item__title:after {
	z-index: -1;
}

.wp-block-coblocks-accordion-item__title.has-background:hover:after, .wp-block-coblocks-accordion-item__title:hover:after {
	background: #DFEFED;
}

.wp-block-coblocks-accordion-item details[open] .wp-block-coblocks-accordion-item__title.has-background:after, .wp-block-coblocks-accordion-item details[open] .wp-block-coblocks-accordion-item__title:after {
	background: #DFEFED;
}


.wp-block-coblocks-accordion-item__content p{
	text-wrap: balance;
}


/* Blocks - Styled Paragraph Boxes */

p.is-style-info, p.is-style-warning, p.is-style-success, p.is-style-error {
	font-family: inherit;
	font-size: clamp(18px, 3vw, 1.25rem);
	line-height: 150%;
	text-align: center;
	text-wrap: balance;
	padding: clamp(30px, 10%, 45px);
	border-radius: 1.5rem;
	margin-top: 60px;
	margin-bottom: 60px;
	color: #241C1C !important;
}


p.is-style-info a, p.is-style-warning a, p.is-style-success a {
	transition: 150ms ease-in-out;
}



p.is-style-info {
	background-color: #E6E2EB !important;
}

p.is-style-info a {
	color: #6E5D7C;
}

p.is-style-info a:hover {
	color: #FF7F50;
}



p.is-style-warning {
	background-color: #FFF1C5 !important;
}

p.is-style-warning a {
	color: #FF7F50;
}

p.is-style-warning a:hover {
	color: #6E5D7C;
}




p.is-style-success {
	background-color: #DFEFED !important;
}

p.is-style-success a {
	color: #216564;
}

p.is-style-success a:hover {
	color: #FF7F50;
}



p.is-style-error {
	background-color: #FFE5DC !important;
}

p.is-style-error a {
	color: #FF7F50;
}

p.is-style-error a:hover {
	color: #6E5D7C;
}



/* Blocks - List */

.wp-block-list li {
	text-wrap: pretty;
}

.wp-block-list li a:not(strong a) {
	font-weight: 500;
}

.wp-block-list li a:not(:hover) {
	color: #241C1C;
}

ul.wp-block-list:not(ul.wp-block-list *) {
	padding-inline-start: 30px;
	list-style-type: none;
}

ul.wp-block-list:not(.flex-col) > li:not(ul li *) {
	margin-bottom: 30px;
}

ul.wp-block-list.flex-col:not(ul.wp-block-list *) {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px 80px;
}

ul.wp-block-list.flex-col > li:not(ul li *) {
	width: 45%;
	min-width: 300px;
	flex-grow: 1;
	text-wrap: balance;
}

ul.wp-block-list > li:not(ul li *):before {
	content: "";
	padding: 15px;
    position: absolute;
    margin-left: -42px;
	width: 30px;
	height: 30px;
	background: #8CD2D1;
	mask-image: url("/wp-content/uploads/2025/01/Checkmark-Circle-Icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

ol.wp-block-list {
	list-style: none;
    padding-left: 10px;
    margin: 20px 0 0;
}

ol.wp-block-list > li:before {
	content: counter(step-counter);
    position: absolute;
    top: -10px;
    left: 0;
    transform: translateX(-50%);
    font-size: 130%;
    background-color: #FFF;
    border: 1px solid #C0B7CE;
    color: #6E5D7C;
    font-weight: bold;
    padding: 12px;
    width: clamp(1rem, 12vw, 3rem);
    height: clamp(1rem, 12vw, 3rem);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 999px;
}



/* Blocks - Buttons */

.wp-block-buttons {
	margin: 40px 0;
}

a.wp-element-button {
	color: #FFF;
	background: #FF7F50;
	transition: 150ms ease-in-out;
}

a.wp-element-button:hover {
	background: #6E5D7C;
	color: #FFF;
}



/* Blocks - MISC */

.jet-listing-grid--blocks {
	margin-bottom: 60px;
}



/* Animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-100px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-100px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(100px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,100px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}