/*
Theme Name: Hello Child theme
Version: 1.0
Description: A child theme of Elementor Hello Theme
Author: Elchanan Levavi
Template: hello-elementor
*/

p:last-child {margin-bottom: 0;}
p:first-child {margin-top: 0;}

.skip-link a:focus {
    background-color: #eee;
    clip: auto!important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #333;
    display: block;
    font-size: 1rem;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

.elementor-icon-box-title { 
    margin: 0;
}

strong.green {
    color: var(--e-global-color-primary, #6DCC7A);
}

.luminosity {
    mix-blend-mode: luminosity;
}

.frame  {
  --line-color: var(--e-global-color-primary, #6cc174);
 --line-thickness: min(10px, 1vw);
  --line-length: clamp(60px, 10vw, 180px); 

  position: relative;
}
.frame.white-frame  {
  --line-color: var(--e-global-color-text, #FFFFFF);
}
.frame.thin-frame  {
    --line-thickness: min(7px, 0.8vw);
}

.frame::before,
.frame::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.frame::before {
  /* Top corners */
  background:
    linear-gradient(to right, var(--line-color) var(--line-length), transparent 0) top left,
    linear-gradient(to bottom, var(--line-color) var(--line-length), transparent 0) top left,
    linear-gradient(to left, var(--line-color) var(--line-length), transparent 0) top right,
    linear-gradient(to bottom, var(--line-color) var(--line-length), transparent 0) top right;
  background-repeat: no-repeat;
  background-size: var(--line-thickness) var(--line-length), var(--line-length) var(--line-thickness), var(--line-thickness) var(--line-length), var(--line-length) var(--line-thickness);
}

.frame::after {
  /* Bottom corners */
  background:
    linear-gradient(to right, var(--line-color) var(--line-length), transparent 0) bottom left,
    linear-gradient(to top, var(--line-color) var(--line-length), transparent 0) bottom left,
    linear-gradient(to left, var(--line-color) var(--line-length), transparent 0) bottom right,
    linear-gradient(to top, var(--line-color) var(--line-length), transparent 0) bottom right;
  background-repeat: no-repeat;
  background-size: var(--line-thickness) var(--line-length), var(--line-length) var(--line-thickness), var(--line-thickness) var(--line-length), var(--line-length) var(--line-thickness);
}



.vertical-lines {
  position: relative;
  --line-color: var(--e-global-color-text, #FFFFFF);
  --line-thickness: 4px;
  --line-length: clamp(30px, 4vw, 80px);
}

.vertical-lines::before,
.vertical-lines::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: var(--line-thickness);
  background-color: var(--line-color);
}

.vertical-lines::before {
  top: 0;
  height: var(--line-length);
}

.vertical-lines::after {
  bottom: 0;
  height: var(--line-length);
}

.bottom-fade:after {
    content:'';
    background-color: transparent;
    background-image: linear-gradient(180deg, var(--e-global-color-63f9855) 0%, var(--e-global-color-fbb84fe) 100%);
    display: block;
    height: 160px;
    left:0;
    position: absolute;
    bottom: 0;
    width: max(100% + var(--border-left-width) + var(--border-right-width), 100%);
}

.elementor-form {
    overflow: hidden;
    padding-top: 25px;
}

.elementor-form-spinner {
    display: none;
}

/* Button */
.elementor-button {
    cursor: pointer;
}

.elementor-button-icon svg {
    height: 2.5em;
    width: 2.5em;
    transition-duration: 0.4s;
}
.elementor-button-text {
    display: flex;
    align-items: center;
    padding-bottom: 0.2em;
}
.elementor-button:hover .elementor-button-icon svg {
    transform: rotate(45deg);
}

@media (min-width: 1024px) {
    .elementor.elementor .e-con .elementor-widget-image:is(.snap-to-right,.snap-to-left) {
        max-width: unset;
        /*height: 100%;*/
    }
    .elementor.elementor .e-con .elementor-widget-image.snap-to-left {
        margin-left: calc((100vw - var(--container-max-width)) / -2);
    }
    .elementor.elementor .e-con .elementor-widget-image.snap-to-right {
        margin-right: calc((100vw - var(--container-max-width)) / -2);
    }
}



@media (min-width: 1025px) {
.long img, .short img {
    object-fit: cover;
}

.long img {
    aspect-ratio: 0.6;
}

.short img {
    aspect-ratio: 0.8;
}
}
@media(max-width:1024px) {
    .long-and-short-images img {
        object-fit: cover;
        aspect-ratio: 0.7;
    }
    .mobile-horizontal img {
        aspect-ratio: 1.5;
        object-position: 50% 25%;
    }
}


@media (prefers-reduced-motion: reduce) {
    .elementor-motion-effects-element {
        transform: none !important;
    }
}