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

@font-face {
  font-family: 'Commuters Sans';
  src: local('Commuters Sans Bold'), local('Commuters-Sans-Bold'),
      url('fonts/CommutersSans-Bold.woff2') format('woff2'),
      url('fonts/CommutersSans-Bold.woff') format('woff'),
      url('fonts/CommutersSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {font-family: 'Commuters Sans', sans-serif;}
.elementor-heading-title.elementor-size-default {line-height: 1.2;}
.text-gradient{background: linear-gradient(90deg, #b026ff, #ff5e00); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.ratio-6-4 { aspect-ratio: 6/4;}

/* stickey header */
#site-header { position:fixed; top:0; left:0; width:100%; z-index:9999; background-color:transparent; transition:all .4s ease }
#site-header #menu-mainnav { padding: 0; display: flex; list-style: none; gap: 30px; }
#site-header #menu-mainnav .menu-item a { color: #fff; font-size: 15px; font-weight: 500; }
#site-header.is-sticky { background-color:rgba(0,0,0,.6); box-shadow:0 4px 10px rgba(0,0,0,.1); padding-top:10px; padding-bottom:10px; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
#site-header #contact-btn { margin-left: auto; }
section[id], div[id] { scroll-margin-top: 100px; }
#site-header #nav-icon { display: none;}
@media(max-width: 768px) {
  #site-header #nav-icon { display: block;}
  #site-header #nav-menu { position: absolute; width: calc(100% - var(--padding-right) - var(--padding-left)); top: calc(var(--min-height) - 25px); background-color: #111; border-radius: 30px; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s; }
  #site-header #nav-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
  #site-header #menu-mainnav { flex-direction: column; }
}

/* burger icon */
#nav-icon {width: 24px;height: 24px;position: relative;transform: rotate(0deg);transition: .2s ease-in-out;cursor: pointer;}
#nav-icon span{display: block;position: absolute;height: 2px;width: 100%;background: #ffffff;border-radius: 2px;opacity: 1;left: 0;transform: rotate(0deg);transition: .2s ease-in-out;}
#nav-icon span:nth-child(1) { top: 0px; }
#nav-icon span:nth-child(2),#nav-icon span:nth-child(3) {top: 10px;}
#nav-icon span:nth-child(4) {top: 21px;}
#nav-icon.open span:nth-child(1) { top: 18px; width: 0%; left: 50%; }
#nav-icon.open span:nth-child(2) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
#nav-icon.open span:nth-child(3) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }
#nav-icon.open span:nth-child(4) { top: 18px; width: 0%; left: 50%; }


/* semi ellipse slider */
.carousel-container{position:relative;width:100%;max-width:1280px;height:600px;margin:0 auto; overflow-x: hidden;}
.svg-track{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}
.carousel-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}
.carousel-item{position:absolute;top:0;left:0;width:75px;height:75px;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:50%;background:#fff;border:2px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#ff5e00,#b026ff);background-origin:border-box;background-clip:content-box,border-box;box-shadow:0 4px 15px rgba(0,0,0,.06)}
.carousel-item .icon img{padding:5px;width:100%;height:100%;object-fit:contain}
.carousel-content{text-align:center;margin-bottom:50px;z-index:10}
.carousel-content .title{font-size:1.35rem;font-weight:700;margin:0 0 6px 0;background:linear-gradient(90deg,#b026ff,#ff5e00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}
.carousel-content .logo {max-width: 100px;}
.carousel-content .desc{font-size:.85rem;font-weight:400;margin:0;line-height:1.2}
.carousel-item .carousel-content{opacity:0;transform:translateY(15px);transition:opacity .3s ease,transform .3s ease;text-align:center;position:absolute;top:120%;width:300px}
.carousel-item.is-active { z-index: 1;}
.carousel-item.is-active .carousel-content{opacity:1;transform:translateY(0)}
@media(max-width: 768px) {
   .carousel-container:before { height: 25%; background: linear-gradient(0deg,rgba(255,255,255,0) 20%,#fff 70%);}
}


/* line animation */
.no-events { pointer-events: none;}
[class*="-svg"]:not([class*="e-font"]),[class*="-info"] {transform: translate(-50%, -50%);}
[class*="-svg"] polyline {fill: none; stroke: #fff; stroke-width: 2;transition: stroke-dashoffset 0.5s ease-in-out;}
.aerial-1-svg polyline{stroke-dashoffset: 385px; stroke-dasharray: 385px;}
.aerial-2-svg polyline{stroke-dashoffset: 762px;stroke-dasharray: 762px;}
.aerial-3-svg polyline{stroke-dashoffset: 716px;stroke-dasharray: 716px;}
.aerial-1-svg.active polyline {stroke-dashoffset: 775px;}
.aerial-2-svg.active polyline, .aerial-3-svg.active polyline {stroke-dashoffset: 0;}
[class*="-info"]:not(.distance-info) { opacity: 0; transform: translate(-50%, -50%) scale(1.2); transition: opacity 0.3s ease, transform .5s cubic-bezier(0.34, 1.56, 0.64, 1) .5s; }
[class*="-info"]:not(.distance-info).active { pointer-events: auto; opacity: 1; transform: translate(-50%, -50%) scale(1); transition: opacity 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s, transform .5s cubic-bezier(0.34, 1.56, 0.64, 1) .5s; }
@keyframes bounceZoomIn {
  0% {transform: scale(1);}
  50% {transform: scale(1.1);}
  100% {transform: scale(1);}
}
@media(max-width: 768px) {
  [class*="-svg"]:not([class*="e-font"]) { display: none; }
  [class*="-info"]:not(.distance-info),[class*="-info"]:not(.distance-info).active {transform: translate(0, 0)}
  .elementor-element[class*="-info"]:not(.distance-info).active .elementor-widget-image { background-color: #fff;}
  .elementor-element[class*="-info"]:not(.distance-info).active .elementor-widget-image,
  .elementor-element[class*="-info"]:not(.distance-info).active .elementor-widget-heading { box-shadow: 0 5px 80px -10px rgba(0,0,0,.75);}
}


/* contact form */
.registration-form .form-group{margin-bottom:20px;display:block;width:100%}
.registration-form .form-group .wpcf7-form-control-wrap{display:block;margin-top:-10px}
.registration-form label{display:block;color:#fff;margin:0 20px}
.registration-form .form-input{width:100%;background:0 0;border:1.5px solid rgba(255,255,255,.8);border-radius:25px;padding:12px 20px;color:#fff;font-size:16px;outline:0;box-sizing:border-box;height:auto}
.registration-form .form-input:focus{border-color:#fff;box-shadow:0 0 5px rgba(255,255,255,.5)}
.registration-form .form-input.wpcf7-date,.registration-form .form-input.wpcf7-select{background-color:#fff;color:#111;max-width:240px}
.registration-form .form-textarea{border-radius:20px;height:120px;resize:none}
.registration-form .btn-register{background:#fff;border:2px solid #e0c3fc;border-radius:30px;color:transparent;font-size:24px;font-weight:400;padding:10px 45px;cursor:pointer;}
.registration-form .form-submit-container{text-align:center}
.registration-form .form-submit-container span{display:inline-block;position:relative;}
.registration-form .form-submit-container span::after{content:"Register Now";background:linear-gradient(to right,#ac3ace,#ff6a17);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-fill-color:transparent;display:inline-block;position:absolute;left:50%;top:calc(50% + 10px);transform:translate(-50%,-50%);font-size:24px;font-weight:600;width:90%;line-height:30px;pointer-events: none;}
.registration-form .form-submit-container .wpcf7-spinner{position:absolute;margin:0;left:10px;top:36px}
.registration-form .wpcf7-not-valid-tip{color:#d6ff00;margin-left:20px;font-size:12px}
.registration-form+.wpcf7-response-output{color:#fff}
.registration-form .form-input.wpcf7-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:calc(100% - 10px) 50%;background-size:16px; background-repeat: no-repeat;}
.registration-form .form-input.wpcf7-select::-ms-expand{display:none}

@media (max-width: 768px) {
  .elementor-widget-image-box .elementor-image-box-wrapper { display: flex; align-items: center; }
  .elementor-widget-image-box .elementor-image-box-content { margin-left: 16px; }
}
