/* 
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.3
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
*/

/*TABLE OF CONTENTS

01 - Header
02 - Global
03 - Custom CSS
04 - CF7
05 - Mobile
*/

/* /////////////////////////////////////////////////////////////////////
//  01 - Header
/////////////////////////////////////////////////////////////////////*/

.sticky-header {
  -webkit-transition: background-color 0.3s ease-in-out !important;
  -o-transition: background-color 0.3s ease-in-out !important;
  transition: background-color 0.3s ease-in-out !important;
}

.sticky-header.stick:not(.elementor-motion-effects-element-type-background) {
  background-color: #ebf3f5 !important;
  backdrop-filter: blur(10px);
}

.animated-svg svg line {
  transition: transform 0.3s;
}

.animated-svg:hover svg line:nth-of-type(1),
.animated-svg:hover svg line:nth-of-type(3) {
  transform: translate(3px, 0);
  transition: transform 0.3s;
}

.animated-svg:hover svg line:nth-of-type(2) {
  transform: translate(-3px, 0);
  transition: transform 0.3s;
}

/* /////////////////////////////////////////////////////////////////////
//  02 - Global
/////////////////////////////////////////////////////////////////////*/

main,
footer {
  transition: transform 0.6s;
}

button,
button:hover,
*:focus {
  outline: 0 !important;
  -webkit-box-shadow: 0 0 0 0rem #fff, 0 0 0 0rem #fff !important;
  box-shadow: 0 0 0 0rem #fff, 0 0 0 0rem #fff !important;
}

button::-moz-focus-inner {
  padding: 0;
}

ul {
  padding-left: 16px;
  margin-top: 0;
  margin-bottom: 0.9rem;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  font-weight: inherit !important;
}

.comments-area a,
.page-content a {
  text-decoration: none;
}

address {
  font-style: normal !important;
}

table td,
table th {
  border: 0;
  vertical-align: inherit;
}

.elementor-icon-list-item:has(.elementor-icon-list-text:empty) {
  display: none;
}

.pagination {
  display: block;
}

.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  pointer-events: none;
}

.blurred-image,
.blurred-image .elementor-widget-container,
.absolute-image,
.absolute-image .elementor-widget-container {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  overflow: hidden !important;
  z-index: -1;
  margin-bottom: 0 !important;
}

.blurred-image img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  filter: blur(4px);
  transform: scale(1.1);
}

.absolute-image img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}

.hover-effect .post-wrapper,
.hover-effect .tax-wrapper {
  -webkit-transition: box-shadow 0.5s, -webkit-transform 0.5s;
  transition: transform 0.5s, box-shadow 0.5s, -webkit-transform 0.5s,
    background-color 0.5s;
}

.hover-effect .post-wrapper:hover,
.hover-effect .tax-wrapper:hover {
  -webkit-box-shadow: 0 13px 21px 6px rgb(0 0 0 / 20%);
  box-shadow: 0 13px 21px 6px rgb(0 0 0 / 20%);
  -webkit-transform: translate(0, -10px);
  -ms-transform: translate(0, -10px);
  transform: translate(0, -10px);
  -webkit-transition: box-shadow 0.5s, -webkit-transform 0.5s;
  transition: transform 0.5s, box-shadow 0.5s, -webkit-transform 0.5s,
    background-color 0.5s;
}

.elementor-icon-wrapper {
  display: flex;
}

.elementor-icon svg,
.elementor-icon-list-icon svg {
  stroke-width: 1.5;
}

.inner-scroll::-webkit-scrollbar,
.cmb-repeat-group-wrap::-webkit-scrollbar {
  width: 10px;
}

.inner-scroll::-webkit-scrollbar-track,
.cmb-repeat-group-wrap::-webkit-scrollbar-track {
  background: #efefef;
}

.inner-scroll::-webkit-scrollbar-thumb,
.cmb-repeat-group-wrap::-webkit-scrollbar-thumb {
  background: #dfdfdf;
}

.inner-scroll::-webkit-scrollbar-thumb:hover,
.cmb-repeat-group-wrap::-webkit-scrollbar-thumb:hover {
  background: #dfdfdf;
}

/* /////////////////////////////////////////////////////////////////////
//  03 - Custom CSS
/////////////////////////////////////////////////////////////////////*/

.bg-slider .swiper-slide img {
    aspect-ratio: 4/3 !important;
    width: 100%;
    object-fit: cover;
}

ul.inclusion span {
  color: #026AA7;
  font-weight: bold;
  font-size: 1em;
  margin-right: 6px;
}

ul.exclusion span {
  color: #FF6969;
  font-weight: bold;
  font-size: 1em;
  margin-right: 6px;
}

ul.icon-list li {
  margin-bottom: 6px;
}

ul.inclusion,
ul.exclusion,
ul.icon-list {
  list-style: none;
  padding: 0;
}

#tour-program h1,
#tour-program h2,
#tour-program h3,
#tour-program h4,
#tour-program h5,
#tour-program h6 {
  font-size: 18px;
  font-family: var(--e-global-typography-04fe3d6-font-family), Sans-serif;
  color: var(--e-global-color-primary);
  counter-increment: custom-counter !important;
  position: relative !important;
}

#custom-gallery .gallery-size-full {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  height: 100%;
  grid-template-rows: 250px 250px;
}

#custom-gallery .gallery-item {
  max-width: 100% !important;
}

/* Default layout for 3 images */
#custom-gallery .gallery-item:nth-child(1) {
  grid-row-start: 1;
  grid-column-start: 1;
  grid-row-end: 3;
  grid-column-end: 2;
}

#custom-gallery .gallery-item:nth-child(2) {
  grid-row-start: 1;
  grid-column-start: 2;
  grid-row-end: 2;
  grid-column-end: 3;
}

#custom-gallery .gallery-item:nth-child(3) {
  grid-row-start: 2;
  grid-column-start: 2;
  grid-row-end: 3;
  grid-column-end: 3;
}

/* Hide extra images */
#custom-gallery .gallery-item:nth-child(n + 4) {
  display: none;
}

/* If only 1 image, make it full width */
#custom-gallery .gallery-item:only-child {
  grid-column: span 2;
  grid-row: span 2;
}

/* If 2 images, make them each take a full row */
#custom-gallery .gallery-item:nth-child(1):nth-last-child(2),
#custom-gallery .gallery-item:nth-child(2):nth-last-child(1) {
  grid-column: span 2;
  grid-row: auto;
}

#custom-gallery .gallery-icon,
#custom-gallery .elementor-image-gallery .gallery-item img {
  height: 100%;
  object-fit: cover;
  background: #5f6368;
  transition: opacity 0.4s;
}

#custom-gallery .elementor-image-gallery .gallery-item:hover img {
  opacity: 0.7;
  transition: opacity 0.4s;
}

.woocommerce-MyAccount-navigation-link.is-active:after {
  color: #5f6368 !important;
}

.program {
  padding-left: 45px;
}

.steps::before,
.program h2::before {
  content: "0" counter(custom-counter) !important;
  border-radius: 100% !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: #fff !important;
  background: var(--e-global-color-primary) !important;
  position: absolute !important;
  left: -49px !important;
  top: -6px;
  z-index: 1 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  font-weight: normal;
  font-size: 16px;
}

.post-pin {
  background: #fff;
  border-radius: 100%;
  width: 36px;
  height: 36px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 0 !important;
}

/* /////////////////////////////////////////////////////////////////////
//  04 - CF7
/////////////////////////////////////////////////////////////////////*/

.wpcf7-spinner {
  display: none;
}

/* /////////////////////////////////////////////////////////////////////
//  05 - Mobile
/////////////////////////////////////////////////////////////////////*/

@media all and (min-width: 768px) {
}

@media all and (max-width: 1024px) {
}

@media all and (max-width: 880px) {
}

@media all and (max-width: 767px) {
  .mobile-hidden .elementor-icon-box-content {
    display: none;
  }
}

@media all and (max-width: 550px) {
  .elementor-widget-taxonomy-widget .elementor-grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
