/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
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
*/

/* Add your custom styles here */

/* This sets the height on the Header */
header.elementor div.elementor-element.header_section {
    --header-height: 100px;
	--shrink-header-to: 0.85;
    --transition: .45s cubic-bezier(.4, 0, .2, 1);
    transition: background-color var(--transition),
                box-shadow var(--transition-timing);
}
@media only screen and (max-width: 1024px) {
    header.elementor div.elementor-element.header_section {
        --header-height: 100px;
		--shrink-header-to: 0.8;
    }
}

/* This sets the height on the Sticky Header when activated */
header.elementor div.elementor-element.header_section {
	min-height: var(--header-height);
	transition: min-height var(--transition);
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects {
	min-height: calc( var(--header-height) * var(--shrink-header-to) );
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects {
    background-color: var( --e-global-color-secondary );
	box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.2);
}

/* This changes background color on the Header Menu when this is expanded */
header.elementor div.elementor-element.header_section.toggle_header_effects {
	background-color: var( --e-global-color-accent ) !important;
	opacity: 0.92;
}

/* This changes the color on the Burger Menu icon when the Sticky Header is activated */
div.elementor-element.header_section.elementor-sticky--effects .header_nav .elementor-menu-toggle {
	color: var( --e-global-color-57c8da2 );
}
div.elementor-element.header_section.elementor-sticky--effects .header_nav .elementor-menu-toggle svg {
	fill: var( --e-global-color-57c8da2 );
}

/* This changes the color back on the Burger Menu icon when the Sticky Header is activated but the Header Menu is expanded */
div.elementor-element.header_section.toggle_header_effects.elementor-sticky--effects .header_nav .elementor-menu-toggle {
	color: var( --e-global-color-secondary );
}
div.elementor-element.header_section.toggle_header_effects.elementor-sticky--effects .header_nav .elementor-menu-toggle svg {
	fill: var( --e-global-color-secondary );
}

/* This hides the main Logo on the Header and replaces it with a different one when the Sticky Header is activated */
header.elementor div.elementor-element.header_section div.elementor-element.header_logo_sticky {
	display: none;
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects div.elementor-element.header_logo {
	display: none;
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects div.elementor-element.header_logo_sticky {
	display: inline-block;
}

/* This changes the Logo back when the Sticky Header is activated but the Header Menu is expanded */
header.elementor div.elementor-element.header_section.toggle_header_effects.elementor-sticky--effects div.elementor-element.header_logo {
	display: inline-block;
}
header.elementor div.elementor-element.header_section.toggle_header_effects.elementor-sticky--effects div.elementor-element.header_logo_sticky {
	display: none;
}

/* This styles the Burger Menu toogle icon for the Header Menu on Tablet and Mobile resolutions */
.header_nav .elementor-menu-toggle > .e-font-icon-svg > path {
	visibility: none;
}
div.header_menu_col div.elementor-element.header_nav {
	--gap: 8px;
	--width: 20px;
	--nav-menu-icon-size: 80px;
}
.header_nav .elementor-menu-toggle {
    position: relative;
    background-color: transparent;
}
.header_nav .elementor-menu-toggle:before {
        --weight: 2px;
}
.header_nav .elementor-menu-toggle:after {
        --weight: 2px;
}
.header_nav .elementor-menu-toggle .e-font-icon-svg {
        --weight: 2px;
}
.header_nav .elementor-menu-toggle:before,
.header_nav .elementor-menu-toggle:after,
.header_nav .elementor-menu-toggle .e-font-icon-svg {
    content: "";
    height: var(--weight);
    width: var(--width);
    position: absolute;
    background: currentColor;
    top: 50%;
    left: 50%;
    transform: translate(-50%,calc(-50% + var(--gap)));
}
.header_nav .elementor-menu-toggle.elementor-active:before {
    --weight: 2px;
}
.header_nav .elementor-menu-toggle:after {
    transform: translate(-50%,calc(-50% - var(--gap)));
}
.header_nav .elementor-menu-toggle.elementor-active:after {
    --weight: 2px;
}
.header_nav .elementor-menu-toggle .e-font-icon-svg {
    transform: translate(-75%,-50%);
}
.header_nav .elementor-menu-toggle.elementor-active .e-font-icon-svg {
    transform: translate(-50%,-50%);
}

/* This makes the Drop-Down Header Menu take up the full screen and hides the scrollbar */
.header_nav.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
    position: fixed;
    height: 100%;
    max-height: 100%;
    top: auto !important;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.header_nav.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container::-webkit-scrollbar {
  display: none;
}
 
/* This changes the animation speed for the Drop-Down Header Menu */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    transition: max-height .6s,transform .0s;
}

/* This sets the width for the Drop-down Header Menu */
.header_nav nav.elementor-nav-menu--dropdown .elementor-nav-menu {
	max-width: 1200px;
	margin: auto;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.header_nav nav.elementor-nav-menu--dropdown .elementor-nav-menu {
		max-width: 690px;
		margin: 0px;
	}
}
@media only screen and (max-width: 767px) {
	.header_nav nav.elementor-nav-menu--dropdown .elementor-nav-menu {
		max-width: 400px;
		margin: 0px;
	}
}

/* This changes the hover speed, width and positions the Drop-Down Header Menu tabs */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu a.elementor-item {
    transition: .3s ease-in-out;
    width: fit-content;
    margin: 0px 0px -5px 0px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu a.elementor-item {
    	margin: 0px;
	}
}
@media only screen and (max-width: 767px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu a.elementor-item {
    	margin: 0px 0px 10px 0px;
	}
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu a.elementor-item:focus {
	background-color: var( --e-global-color-86b4fcd );
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu .menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown {
	background-color: transparent;
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu .menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
	transition: .3s ease-in-out;
	width: fit-content;
	border-left: 0px solid transparent;
	font-size: 22px;
	font-weight: 600;
	line-height: 32px;
	margin-left: 2px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu .menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
		font-size: 20px;
		line-height: 30px;
	}
}
@media only screen and (max-width: 767px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu .menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
		font-size: 18px;
		line-height: 28px;
	}
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu .menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item:focus {
	background-color: var( --e-global-color-86b4fcd );
}

/* This adds padding to the Drop-Down Header Menu */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
	padding: 58px 0px 115px 70px;
}
@media (min-width: 768px) and (max-width: 1024px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        padding: 58px 0px 0px 60px;
    }
}
@media only screen and (max-width: 767px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu {
        padding: 48px 0px 85px 30px;
    }
}

/* This adds a background to the Drop-Down Header Menu */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	background-image: url("/wp-content/uploads/2024/11/header_background.png");
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: auto;
}
@media (min-width: 768px) and (max-width: 1024px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
        background-size: 690px;
    }
}
@media only screen and (max-width: 767px) {
    .header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		background-size: 500px;
		
    }
}

/* This styles and positions the chevron for the Header Menu Drop-Down Navigation */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item span.sub-arrow {
	display: flex;
	padding: 13px 0 10px 5px;
	fill: var( --e-global-color-secondary );
	transition: 0.5s;
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item:hover span.sub-arrow {
	fill: var( --e-global-color-primary );
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item.highlighted span.sub-arrow {
	fill: var( --e-global-color-primary );
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item span.sub-arrow svg.e-font-icon-svg {
	font-size: 13px;
}

/* This styles the TranslatePress Language Switcher */
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.trp-language-switcher-container a.elementor-item {
	font-size: 22px;
	margin: -10px 0px -12px 2px;
}
.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu li.trp-language-switcher-container.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
	padding: 0px 20px 10px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.trp-language-switcher-container a.elementor-item {
		font-size: 20px;
		margin-top: -5px;	
		margin-bottom: -10px;
	}
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu li.trp-language-switcher-container.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
		padding: 0px 20px 10px;
	}
}
@media only screen and (max-width: 767px) {
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.trp-language-switcher-container a.elementor-item {
		font-size: 18px;
		margin-top: 0px;	
		margin-bottom: 0px;
	}
	.header_nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu li.trp-language-switcher-container.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
		padding: 0px 20px 8px;
	}
}

/* This styles the Search CTA for the Header Menu */
div.elementor-element.menu_search_tab form.elementor-search-form .elementor-search-form__toggle div.e-font-icon-svg-container svg.e-fas-search {
	background-image: url("/wp-content/uploads/2024/11/search_icon.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 25px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.menu_search_tab form.elementor-search-form .elementor-search-form__toggle div.e-font-icon-svg-container svg.e-fas-search {
		background-size: 22px;
	}
}
div.elementor-element.menu_search_tab form.elementor-search-form .elementor-search-form__toggle div.e-font-icon-svg-container svg.e-fas-search:hover {
	opacity: 0.8;
}
div.elementor-element.menu_search_tab form.elementor-search-form .elementor-search-form__toggle div.e-font-icon-svg-container svg.e-fas-search > path {
	display: none;
}
header.elementor div.elementor-element.header_section.elementor-sticky--effects svg.e-fas-search {
	filter: brightness(0.2);
}
header.elementor div.elementor-element.header_section.toggle_header_effects.elementor-sticky--effects svg.e-fas-search {
	filter: none;
}
div.elementor-element.menu_search_tab form.elementor-search-form div.elementor-search-form__container div.dialog-lightbox-close-button {
	display: none;
}

/* This styles the full-screen Search overlay for Mobile resolutions */
div.elementor-element.menu_search_tab form.elementor-search-form div.elementor-search-form__container.elementor-search-form--full-screen.elementor-lightbox .elementor-search-form__input {
	font-size: 42px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.menu_search_tab form.elementor-search-form div.elementor-search-form__container.elementor-search-form--full-screen.elementor-lightbox .elementor-search-form__input {
		font-size: 38px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.menu_search_tab form.elementor-search-form div.elementor-search-form__container.elementor-search-form--full-screen.elementor-lightbox .elementor-search-form__input {
		font-size: 32px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.menu_search_tab form.elementor-search-form div.elementor-search-form__container.elementor-search-form--full-screen.elementor-lightbox {
		padding: 0 18%;
	}
}

/* This applies a box-shadow and a z-index on the Cookie Notice popup element so that it doesn't overlap when the Header Mobile Menu is expanded */
div.elementor-popup-modal.cookie_notice_popup div.dialog-widget-content {
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.2);
}
div.elementor-popup-modal.cookie_notice_popup {
    z-index: 10;
}

/* This styles the Footer Newsletter form */
div.elementor-element.form_newsletter div.elementor-widget-container form#form_newsletter.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group-contact_email_newsletter input#form-field-contact_email_newsletter {
	padding: 12px 13px;
	margin-right: 10px;
	margin-top: 10px;
	height: 41px;
}
div.elementor-element.form_newsletter div.elementor-widget-container form#form_newsletter.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-submit {
	width: auto;
	margin-top: 10px;
	height: 41px;
}
div.elementor-element.form_newsletter div.elementor-widget-container form#form_newsletter.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-recaptcha_v3 {
	visibility: hidden;
	width: 0px;
}

/* This styles the pagination the Post Archive element */
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination {
	display: flex;
	justify-content: center;
	font-weight: 700;
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination span.page-numbers.current {
	background-color: var( --e-global-color-accent );
	border: solid 1px var( --e-global-color-accent );
	border-radius: 60%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers {
	background-color: var( --e-global-color-secondary );
	border: solid 1px var( --e-global-color-14ef391 );
	border-radius: 60%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	transition: 0.3s;
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers:hover {
	background-color: var( --e-global-color-ab63d03 );
	border: solid 1px var( --e-global-color-ab63d03 );
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.prev {
	border: solid 1px var( --e-global-color-accent );
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.prev:hover {
	border: solid 1px var( --e-global-color-ab63d03 );
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.prev:before {
	content: url("/wp-content/uploads/2024/11/archive_pagination_chev.svg");
	transform: rotate(180deg);
	width: 9.93px;
	height: 23.61px;
	transition: 0.3s;
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.prev:hover:before {
	filter: brightness(4);
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination span.page-numbers.prev {
	display: none;
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.next {
	border: solid 1px var( --e-global-color-accent );
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.next:hover {
	border: solid 1px var( --e-global-color-ab63d03 );
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.next:before {
	content: url("/wp-content/uploads/2024/11/archive_pagination_chev.svg");
	width: 10.93px;
	height: 23.61px;
	transition: 0.3s;
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination a.page-numbers.next:hover:before {
	filter: brightness(4);
}
div.elementor-element.pagination_list div.elementor-widget-container nav.elementor-pagination span.page-numbers.next {
	display: none;
}

/* This styles the Post Archive element */
div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card {
	padding-bottom: 55px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card {
		padding-top: 25px;
		padding-bottom: 7px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card {
		padding-bottom: 30px;
	}
	div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__text {
		padding: 0 35px;
	}
	div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__meta-data {
		padding: 5px 35px;
	}
}
div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__text {
	margin-top: 0px;
}
div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__text h4.elementor-post__title a {
	transition: 0.3s;
}
div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__text h4.elementor-post__title a:hover {
	color: var( --e-global-color-ab63d03 );
}
div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__text div.elementor-post__read-more-wrapper {
	max-width: 228px;
	text-align: center;
}
div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__text div.elementor-post__read-more-wrapper a.elementor-post__read-more {
	border: 2px solid var( --e-global-color-accent );
	border-radius: 10px;
	background-color: var( --e-global-color-accent );
	padding: 11px 28px;
	width: 100%;
	transition: 0.3s;
}
div.elementor-element.archive_list div.elementor-widget-container div.elementor-posts-container article.elementor-post div.elementor-post__card div.elementor-post__text div.elementor-post__read-more-wrapper:hover a.elementor-post__read-more {
	border-color: var( --e-global-color-ab63d03 );
	background-color: var( --e-global-color-ab63d03 );
	color: var( --e-global-color-secondary );
}

/* This styles the white text URL's */
div.elementor-element.text_url_white div.elementor-widget-container p > a {
	transition: 0.3s;
}
div.elementor-element.text_url_white div.elementor-widget-container p > a:hover {
	color: var( --e-global-color-ab63d03 );
}

/* This styles the normal text URL's */
div.elementor-element.text_url_grey div.elementor-widget-container p > a {
	color: var( --e-global-color-14ef391 );
	text-decoration: underline;
	transition: 0.3s;
}
div.elementor-element.text_url_grey div.elementor-widget-container p > a:hover {
	color: var( --e-global-color-ab63d03 );
}
div.elementor-element.text_url_grey div.elementor-widget-container span > a {
	color: var( --e-global-color-14ef391 );
	text-decoration: underline;
	transition: 0.3s;
}
div.elementor-element.text_url_grey div.elementor-widget-container span > a:hover {
	color: var( --e-global-color-ab63d03 );
}
div.elementor-element.text_url_grey div.elementor-widget-container ul > li > a {
	color: var( --e-global-color-14ef391 );
	text-decoration: underline;
	transition: 0.3s;
}
div.elementor-element.text_url_grey div.elementor-widget-container ul > li > a:hover {
	color: var( --e-global-color-ab63d03 );
}

/* This applies a hover delay on the body text URL's */
div.elementor-element.body_url_hover div.elementor-widget-container p > a {
	transition: 0.3s;
}

/* This fixes the image width in the CTA box zig-zag element */
@media only screen and (min-width: 1025px) {
	div.elementor-element.elementor-cta--layout-image-left.cta_box_zig_zag div.elementor-widget-container div.elementor-cta__bg-wrapper div.elementor-cta__bg {
		background-position: right center;
	}
	div.elementor-element.elementor-cta--layout-image-right.cta_box_zig_zag div.elementor-widget-container div.elementor-cta__bg-wrapper div.elementor-cta__bg {
		background-position: left center;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.cta_box_zig_zag div.elementor-widget-container div.elementor-cta__bg-wrapper div.elementor-cta__bg {
		background-size: 110%;
	}
}

/* This hides the background image in the zig-zag containers */
@media (min-width: 1025px) and (max-width: 1279px) {
	div.elementor-element.zig_zag_backgound {
		background-size: 0% !important;
	}
}

/* This styles the simple gallery slider element */
div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-image-carousel div.swiper-slide > a > figure.swiper-slide-inner > img.swiper-slide-image {
	transition: 0.5s;
}
div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-image-carousel div.swiper-slide:hover > a > figure.swiper-slide-inner > img.swiper-slide-image {
	filter: brightness(0.8);
}
div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-image-carousel div.swiper-slide > a > figure.swiper-slide-inner > img.swiper-slide-image {
	height: 100%;
	max-height: 525px;
	object-fit: cover;
	object-position: center center;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-image-carousel div.swiper-slide > a > figure.swiper-slide-inner > img.swiper-slide-image {
		max-height: 364px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-image-carousel div.swiper-slide > a > figure.swiper-slide-inner > img.swiper-slide-image {
		max-height: 211px;
	}
}
div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-swiper-button {
	transform: none;
	padding: 20px;
	margin: -20px -10px 0px -10px;
	transition: 0.3s;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-swiper-button {
		padding: 15px;
		margin-top: -15px;
	}
}
div.elementor-element.gallery_slide div.elementor-widget-container div.elementor-image-carousel-wrapper div.elementor-swiper-button:hover {
	opacity: 0.7;
}

/* This styles and fixes the info icon element */
div.elementor-element.info_icon  div.elementor-widget-container div.elementor-icon-box-wrapper div.elementor-icon-box-icon {
	margin-bottom: 4px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.info_icon  div.elementor-widget-container div.elementor-icon-box-wrapper div.elementor-icon-box-icon {
		position: absolute;
  		bottom: -6px;
	}
}
div.elementor-element.info_icon  div.elementor-widget-container div.elementor-icon-box-wrapper p.elementor-icon-box-title {
	margin-left: -22px;
	font-weight: 700;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.info_icon  div.elementor-widget-container div.elementor-icon-box-wrapper p.elementor-icon-box-title {
		margin-left: 0px;
	}
}
div.elementor-element.info_icon  div.elementor-widget-container div.elementor-icon-box-wrapper p.elementor-icon-box-description {
	font-weight: 700;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.info_icon  div.elementor-widget-container div.elementor-icon-box-wrapper p.elementor-icon-box-description {
		margin-left: 22px;
	}
}

/* This fixes the padding on the contacts icon element */
div.elementor-element.contacts_icon div.elementor-widget-container ul.elementor-icon-list-items li.elementor-icon-list-item span.elementor-icon-list-text {
	padding-inline-start: 2px;
}

/* This styles the contacts info element */
div.elementor-element.contacts_info_link div.elementor-widget-container p > a {
	color: var( --e-global-color-14ef391 );
	transition: 0.3s;
}
div.elementor-element.contacts_info_link div.elementor-widget-container p > a:hover {
	color: var( --e-global-color-ab63d03 );
}

/* This styles the contacts form */
@media only screen and (max-width: 767px) {
	div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group {
		margin-bottom: 27px;
	}
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-column .elementor-field {
	padding: 5px 10px 5px;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-column .elementor-field::placeholder {
	opacity: 1;
}
div.elementor-element.form_contacts form.elementor-form .elementor-form-fields-wrapper .elementor-field-textual:focus {
	border-color: var( --e-global-color-accent ) !important;
	box-shadow: 0 0 0 0 transparent;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group textarea#form-field-contact_message {
	scrollbar-width: none;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-group textarea#form-field-contact_message::-webkit-scrollbar {
	display: none;
}
div.elementor-element.form_contacts form.elementor-form span.elementor-message-sucecess {
	margin-top: 27px;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-message::before {
	margin-top: -2px;
}
div.elementor-element.form_contacts form.elementor-form span.elementor-message-danger::before {
	margin-top: -2px;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-field-group button#submit_cta {
	margin-top: 22px;
}
div.elementor-element.form_contacts form.elementor-form div.elementor-form-fields-wrapper div.elementor-field-type-recaptcha_v3 div#form-field-field_recaptcha div.elementor-g-recaptcha div.grecaptcha-badge {
	visibility: hidden;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.form_contacts form.elementor-form div.elementor-field-group button#submit_cta {
		margin-top: 27px;
		padding: 11px 16px 11px 16px;
	}
}

/* This styles the about icon element */
@media only screen and (min-width: 768px) {
	div.elementor-element.about_icon  div.elementor-widget-container div.elementor-icon-box-wrapper div.elementor-icon-box-icon {
		margin-top: 20px;
	}
}

/* This fixes the position of the vector images in the about us page when going from laptop to tablet resolutions */
@media (min-width: 1205px) and (max-width: 1278px) {
	div.elementor-element.about_vector_img_03 div.elementor-widget-container {
		margin: 225px -14.4px -174px 38.6px !important;
	}
}
@media (min-width: 1135px) and (max-width: 1204px) {
	div.elementor-element.about_vector_img_03 div.elementor-widget-container {
		margin: 175px -15px -160px 6px !important;
	}
}
@media (min-width: 1025px) and (max-width: 1134px) {
	div.elementor-element.about_vector_img_03 div.elementor-widget-container {
		margin: 370px -14px -210px 6px !important;
	}
}
@media (min-width: 1025px) and (max-width: 1134px) {
	div.elementor-element.about_vector_img_04 div.elementor-widget-container {
		margin: -316px -27px 0px -137px !important;
	}
}

/* This styles the slider element on the about us page */
@media (min-width: 1025px) and (max-width: 1219px) {
	div.elementor-element.about_slider div.elementor-widget-container {
		background-size: 38% !important;
	}
}
div.elementor-element.about_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide a.elementor-element div.e-con-inner div.about_slide_title div.elementor-widget-container h3.elementor-heading-title {
	transition: 0.5s;
}
div.elementor-element.about_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide:hover a.elementor-element div.e-con-inner div.about_slide_title div.elementor-widget-container h3.elementor-heading-title {
	color: var( --e-global-color-ab63d03 );
}
@media (min-width: 1023px) and (max-width: 1024px) {
	div.elementor-element.about_slider > div.elementor-widget-container {
		margin-right: -586px !important;
	}
}
@media (min-width: 767px) and (max-width: 767px) {
	div.elementor-element.about_slider > div.elementor-widget-container {
		margin-right: -387px !important;
	}
}

/* This styles the body text on the privacy policy page */
div.elementor-element.privacy_policy_text div.elementor-widget-container p > strong {
	font-weight: 300;
	color: var( --e-global-color-primary );
}
div.elementor-element.privacy_policy_text div.elementor-widget-container a {
	color: var( --e-global-color-accent );
}

/* This styles the custom sliders on the homepage */
div.elementor-element.home_custom_slider div.elementor-widget-container div.elementor-swiper-button:hover {
	opacity: 0.5;
}
div.elementor-element.home_custom_slider div.elementor-widget-container div.swiper-pagination span.swiper-pagination-current {
	margin-right: -3px;
}
div.elementor-element.home_custom_slider div.elementor-widget-container div.swiper-pagination span.swiper-pagination-total {
	margin-left: -3px;
}
@media only screen and (min-width: 1025px) {
	div.elementor-element.home_custom_slider.destination_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide div.elementor-element div.e-con-inner {
		padding: 70px 125px 70px 255px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.home_custom_slider.destination_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide div.elementor-element div.e-con-inner {
		padding: 70px 15% 70px 15%;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.home_custom_slider.destination_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide div.elementor-element div.e-con-inner {
		padding: 60px 15% 60px 15%;
	}
}
@media only screen and (min-width: 1025px) {
	div.elementor-element.home_custom_slider.alojamento_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide div.elementor-element div.e-con-inner {
		padding: 90px 125px 90px 145px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.home_custom_slider.alojamento_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide div.elementor-element div.e-con-inner {
		padding: 90px 8% 90px 8%;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.home_custom_slider.alojamento_slider div.elementor-widget-container div.e-n-carousel div.swiper-wrapper div.swiper-slide div.elementor-element div.e-con-inner {
		padding: 70px 25px 70px 40px;
	}
}

/* This applies a hover animation to the 3x3 restaurant columns */
a.elementor-element.rest_box_img {
	transition: 0.5s;
}
a.elementor-element.rest_box_img:hover {
	filter: saturate(1.7);
}
a.elementor-element.rest_box_img div.elementor-element.rest_box_img_title div.elementor-widget-container h4.elementor-heading-title {
	transition: 0.5s;
}
a.elementor-element.rest_box_img:hover div.elementor-element.rest_box_img_title div.elementor-widget-container h4.elementor-heading-title {
	color: #f2cfcc;
}

/* This hides the "vegan text" in the custom field within the loop-grid item */
div.elementor-element.vegan_field_icon div.elementor-widget-container div.elementor-heading-title {
	display: none;
}

/* This styles the "ALL" CTA in the custom taxonomy filter for the loop-grid item */
div.elementor-element.custom_loop_filter div.elementor-widget-container search.e-filter button.e-filter-item[data-filter="__all"] {
	padding: 10px 20px 10px 20px;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.custom_loop_filter div.elementor-widget-container search.e-filter button.e-filter-item[data-filter="__all"] {
		padding: 9px 18px 9px 18px;
	}
}

/* This styles the pagination in the custom loop-grid item */
div.elementor-element.custom_loop_grid.no_pagination div.elementor-widget-container div.elementor-loop-container {
	margin-bottom: 0px;
}
div.elementor-element.custom_loop_grid div.elementor-widget-container div.elementor-loop-container {
	margin-bottom: 230px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.custom_loop_grid div.elementor-widget-container div.elementor-loop-container {
		margin-bottom: 210px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.custom_loop_grid div.elementor-widget-container div.elementor-loop-container {
		margin-bottom: 190px;
	}
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers {
	border: 1px solid var( --e-global-color-14ef391 );
	border-radius: 60px;
	padding: 13.5px 18px;
	transition: 0.5s;
}
@media only screen and (max-width: 767px) {
	div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers {
		padding: 10px 14.07px;
	}
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers:hover {
	border: 1px solid var( --e-global-color-accent );
	background-color: var( --e-global-color-accent );
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.current {
	border: 1px solid var( --e-global-color-accent );
	background-color: var( --e-global-color-accent );
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.prev {
	border: 1px solid var( --e-global-color-accent );
	background: url("/wp-content/uploads/2024/11/archive_pagination_chev_left.svg");
	background-repeat: no-repeat;
	background-position: 46% 50%;
	background-size: 13px;
	color: transparent;
	padding: 13.5px 23px;
	margin-right: 35% !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.prev {
		margin-right: 10% !important;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.prev {
		background-size: 11px;
		padding: 10px 18.5px;
		margin-right: 5% !important;
	}
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.prev:hover {
	filter: grayscale(1) brightness(1.4);
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination span.page-numbers.prev {
	filter: grayscale(1) brightness(1.4);
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.next {
	border: 1px solid var( --e-global-color-accent );
	background: url("/wp-content/uploads/2024/11/archive_pagination_chev.svg");
	background-repeat: no-repeat;
	background-position: 54% 50%;
	background-size: 13px;
	color: transparent;
	padding: 13.5px 23px;
	margin-left: 35% !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.next {
		margin-left: 10% !important;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.next {
		background-size: 11px;
		padding: 10px 18.5px;
		margin-left: 5% !important;
	}
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination .page-numbers.next:hover {
	filter: grayscale(1) brightness(1.4);
}
div.elementor-element.custom_loop_grid div.elementor-widget-container nav.elementor-pagination span.page-numbers.next {
	filter: grayscale(1) brightness(1.4);
}

/* This positions the background within the custom loop-grid's main container */
div.elementor-element.loop_grid_main_container {
	background-position: center bottom 190px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.elementor-element.loop_grid_main_container {
		background-position: left 80% bottom 190px;
	}
}
@media only screen and (max-width: 767px) {
	div.elementor-element.loop_grid_main_container {
		background-position: left 83% bottom 170px;
	}
}

/* This applies a hover effect to the title within the alojamento loop-grid element */
div.elementor-element.alojamento_loop_grid_element div.elementor-element div.alojamento_box_title div.elementor-widget-container h4.elementor-heading-title {
	transition: 0.5s;
}
div.elementor-element.alojamento_loop_grid_element:hover div.elementor-element div.alojamento_box_title div.elementor-widget-container h4.elementor-heading-title {
	color: var( --e-global-color-accent );
}

/* This applies a hover effect to the icon list within the alojamento loop-grid element */
div.elementor-element.exp_loop_grid_element div.loop_grid_see_more div.elementor-widget-container > ul > li > a > span.elementor-icon-list-text {
	transition: 0.5s;
}
div.elementor-element.exp_loop_grid_element div.loop_grid_see_more:hover div.elementor-widget-container > ul > li > a > span.elementor-icon-list-text {
	color: var( --e-global-color-accent );
}

/* This styles the breadcrumbs element */
div.elementor-element.custom_bread div.elementor-widget-container p#breadcrumbs > span > span > a {
	transition: 0.3s;
}
div.elementor-element.custom_bread div.elementor-widget-container p#breadcrumbs > span > span.breadcrumb_last {
	color: var( --e-global-color-accent );
}
div.elementor-element.custom_bread.page_bread div.elementor-widget-container p#breadcrumbs > span > span.breadcrumb_last {
	color: var( --e-global-color-text );
}

/* This sets the height on the video element that's being used on the Homepage */
div.home_video div.elementor-widget-container div.e-hosted-video video.elementor-video {
	min-height: 693px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	div.home_video div.elementor-widget-container div.e-hosted-video video.elementor-video {
		min-height: 593px;
	}
}
@media only screen and (max-width: 767px) {
	div.home_video div.elementor-widget-container div.e-hosted-video video.elementor-video {
		min-height: 493px;
	}
}
