/* 
Theme Name: Child Theme
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Based on Hello Elementor.
Author: Elementor
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: child_theme
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
*/


@import url("../hello-elementor/style.css");

/**************************************************************************/
/**************************************************************************/
/********************** COMMON ********************************************/
/**************************************************************************/
/**************************************************************************/
.swe-scroll-top-margin {
    scroll-margin-top: 64px;
}

/**************************************************************************/
/**************************************************************************/
/********************** ARROWS BUTTONS ************************************/
/**************************************************************************/
/**************************************************************************/
.swe-arrow .elementor-button-icon {
    transition: transform 0.3s ease-in-out;    
    transform: translateX(0px);
}

.swe-arrow .elementor-button-link:hover .elementor-button-icon {
    transform: translateX(7px);
}


.swe-arrow  .elementor-button-text {
    text-wrap: nowrap;
}

/* ARROW ONLY*/
.swe-arrow-only .elementor-button-link {
    transition: transform 0.3s ease;
    transform: scale(1);
}

.swe-arrow-only .elementor-button-link:hover {
    transform: scale(1.2);
}

.swe-arrow-only .elementor-button-link:hover svg {
  transform: scale(0.833); /* Counteract (1/1.2) to maintain icon size */
}




/**************************************************************************/
/**************************************************************************/
/********************** HEADER ********************************************/
/**************************************************************************/
/**************************************************************************/
.swe-menu-sites  {
    border-radius: 28px;
}

.swe-menu-sites .sub-menu.elementor-nav-menu--dropdown {
    margin-left: 0px!important;
}

.swe-header .elementor-widget-off-canvas {
	--e-off-canvas-animation-duration: 400ms;
}

.swe-toggle-button .elementor-button-content-wrapper {
    margin-top: 5px;    
}

.swe-sub-menu-links a {
    transition: transform 0.3s ease-in-out;    
    transform: translateX(0px);
}

.swe-sub-menu-links a:hover {
    transform: translateX(6px);
}

.swe-mobile-menu-list .elementor-nav-menu a{
    line-height: 1.5em!important;
}

.swe-mobile-menu-list .sub-menu.elementor-nav-menu--dropdown .elementor-sub-item{
    font-size: 17px!important;
    text-transform: none!important;
}

.swe-mobile-menu-list .sub-menu {
    padding-left: 4px;
}

.swe-toggle-button .elementor-button {
    margin-top: 5px;
}

.swe-mobile-menu-list a.elementor-item:focus {
    background: transparent!important;
}

/* Making the header fixed */
.swe-header {
    position: fixed;
    z-index: 9;
    background: white;
    top: 0;
}

.elementor-location-header + * {
    margin-top: 118px; 
}


/* Height:
> 1366 => 130 px
1024 < > 1366 => 128 px
< 1024: 92px
*/

/**************************************************************************/
/**************************************************************************/
/********************** BLOG POST PREVIEW *********************************/
/**************************************************************************/
/**************************************************************************/
.swe-news-preview .slick-arrow {
    border-radius: 100%;
}

.swe-news-preview .jet-listing-grid__slider-icon.next-arrow svg, .swe-news-preview .jet-listing-grid__slider-icon.prev-arrow svg {
    display: none;
}

.swe-news-preview .slick-arrow::after {
    transform: rotate(180deg);
}

.swe-news-preview .slick-arrow:hover {
    background-color: rgb(0, 6, 89)!important;
}

.swe-news-preview .jet-listing-grid__slider-icon.slick-arrow::after {
    content: "";
    fill: white;
    display: inline-block;
    width: 24px; /* Adjust size as needed */
    height: 24px; /* Adjust size as needed */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.87 12.38"><g><path id="Path_7" fill="white" d="M19.16,4.12H0v4.13h19.16v4.13l10.71-6.19L19.16,0v4.12Z"></path></g></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


.swe-blog-post-preview::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 24px;
    z-index: 0;
    background-color: #f2f2f2;
}

.swe-blog-post-preview-content {
    box-sizing: border-box;
    transform: translateY(100px);
    transition: transform 0.3s ease;
}


.swe-blog-post-preview-title {
    min-height: 68px;
    display: flex;
    align-items: center;    
}

.swe-blog-post-preview:hover .swe-blog-post-preview-content{
    transform: translateY(0px)!important;
}

/**************************************************************************/
/**************************************************************************/
/********************** TIMELINE ******************************************/
/**************************************************************************/
/**************************************************************************/
.swe-timeline .jet-arrow {
    opacity: 1;
}

.swe-timeline .jet-arrow.jet-arrow-disabled {
    opacity: 0;
}

.swe-timeline .jet-arrow.jet-prev-arrow svg {
    transform: rotate(180deg);
    tranform-origin: center;
}
/**************************************************************************/
/**************************************************************************/
/********************** BLOG POST  ****************************************/
/**************************************************************************/
/**************************************************************************/
.swe-post-content img {
    border-radius: 28px;
    width: 100%;
    object-fit: cover;    
}

.swe-post-content h2 {
    color: #0017BF;
    font-size: 30px;
    line-height: 1.4em;
    font-weight: medium;
}

.swe-post-content h3 {
    margin-top: 24px;
}

.swe-post-content ul {
    margin-bottom: 32px;
}

@media only screen and (max-width: 600px) {
    .swe-post-content h3, .swe-post-content h2 {
        font-size: 22px;
    }
}

/**************************************************************************/
/**************************************************************************/
/********************** MAP ***********************************************/
/**************************************************************************/
/**************************************************************************/
.swe-map {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}


.swe-pin-point {
    cursor: pointer;
}


.swe-active-pin {
    animation: blink-1 0.6s both;
}

.swe-location, .swe-location-details .e-n-accordion-item {
    transition: transform 0.3s ease-in-out;    
    transform: translateX(0px);
}

.swe-active-location {
    transform: translateX(10px)!important;
}

.swe-map svg {
    transform-origin: left center; 
}
@media only screen and (max-width: 6000px) { .swe-map svg { scale: 1.2; } }   
@media only screen and (max-width: 1600px) { .swe-map svg { scale: 1.1; } }
@media only screen and (max-width: 1500px) { .swe-map svg { scale: 1.2; } }
@media only screen and (max-width: 1400px) { .swe-map svg { scale: 1.3; } }
@media only screen and (max-width: 1366px) { .swe-map svg { scale: 1.6; } }
@media only screen and (max-width: 1024px) { .swe-map svg { scale: 1.8; } }
@media only screen and (max-width: 880px) { .swe-map svg { scale: 1.1; transform: translateX(100px);     transform-origin: left bottom; } }


@keyframes blink-1 {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

/**************************************************************************/
/**************************************************************************/
/********************** FORM  *********************************************/
/**************************************************************************/
/**************************************************************************/

.swe-contact-form  .quform-field::placeholder {
    font-size: 20px;
    font-weight: 300;
    color: #666;
}



.swe-contact-form .quform-field {
    border-radius: 0px;
    border: none;
    border-bottom: 1px solid var( --e-global-color-primary );
    font-size: 20px;
    font-weight: 300;
    padding: 10px 0px;
}

.swe-contact-form .quform-field:focus {
    padding: 10px;
    background-color: white;
}

.quform .quform-field-textarea {
    height: 160px;
}

/* Hide the default checkbox */
.swe-contact-form .quform-field-checkbox {
    opacity: 0;
    position: absolute;
    width: 0;
    height: 0;
}

/* Style the label to create custom checkbox */
.swe-contact-form .quform-option-label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    display: inline-flex!important;
    align-items: center!important;
    min-height: 24px; /* Match your checkbox size */
}

/* Create the custom checkbox box */
.swe-contact-form .quform-option-label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border: 2px solid var( --e-global-color-primary ); /* Unchecked border color */
    background: white;
    border-radius: 0px; /* Optional rounded corners */
    transition: all 0.2s ease;
    box-sizing: border-box;
}

/* Checked state styles */
.swe-contact-form .quform-field-checkbox:checked + .quform-option-label::before {
    background-color: var( --e-global-color-primary ); /* Your preferred checked color */
    border-color: var( --e-global-color-primary );
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

/* Focus state for accessibility */
.swe-contact-form .quform-field-checkbox:focus + .quform-option-label::before {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
    outline: none;
}

/* Hover state */
.swe-contact-form .quform-option-label:hover::before {
    border-color: var( --e-global-color-primary );
}

/* Success Message */
.swe-contact-form .quform-success-message-icon {
    display: none;
}

.swe-contact-form .quform-success-message-has-icon .quform-success-message-content {
    padding-left : 0px;
}

.swe-contact-form .quform-success-message {
    border-left: 0px;
    background-color: transparent;
    color: var(--e-global-color-primary);
    border-left: 0px;
    font-size: 30px;
    line-height: 1.4em;
    font-weight: 300;
    padding: 0px!important;
}


.swe-button-file-upload .quform-description-above {
    font-size: 20px;
    font-weight: 300;
    color: #666;
    font-style: normal;
    margin: 8px 0px;
}

.swe-button-file-upload .quform-upload-button{
    border: 1px solid var( --e-global-color-primary );
    color: var( --e-global-color-primary );
    background-color: white;
    border-radius: 8px;
    font-size: 18px;
    padding: 6px 16px;
}

.swe-button-file-upload .quform-upload-button:hover{
    color: white;
    background-color: var( --e-global-color-primary );
}

.quform-upload-file {
    border: none;
    padding: 0px;
}

.quform-upload-file-name {
    max-width: unset;
}

@media only screen and (max-width: 600px) {
    .swe-contact-form  .quform-field::placeholder, .swe-contact-form .quform-field, .swe-button-file-upload .quform-description-above {
        font-size: 18px;
    }
    .swe-button-file-upload .quform-upload-button{
        font-size: 16px;
    }
}

/**************************************************************************/
/**************************************************************************/
/********************** NEWSLETTER FORM ***********************************/
/**************************************************************************/
/**************************************************************************/
.swe-newsletter-form {
    
}

/**************************************************************************/
/**************************************************************************/
/********************** STAFF *********************************************/
/**************************************************************************/
/**************************************************************************/
.swe-staff .swe-image-card::before {
    opacity: 0;
    transition: opacity 0.3s ease;
}
.swe-staff:hover .swe-image-card::before {
    opacity: 0.8;
}

.swe-staff .swe-job-descr, .swe-staff .swe-job-button {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.swe-staff:hover .swe-job-descr, .swe-staff:hover .swe-job-button {
    opacity: 1;
}


/**************************************************************************/
/**************************************************************************/
/********************** UNFOLD ********************************************/
/**************************************************************************/
/**************************************************************************/
.swe-unfold .jet-unfold__button {
    position: absolute;
    top: 0;
    right: 0;
    gap: 0!important;
}

.swe-unfold h2 {
    font-size: 20px;
    font-weight: 600;
    margin: 0 40px 16px 0;
    padding: 8px 0 0 0;
    line-height: 1.4em;
}



.swe-unfold ul {
    margin-bottom: 32px;
}

.swe-service-body h3 {
    font-size: 22px;
}
@media only screen and (max-width: 600px) {
    .swe-unfold h2, .swe-unfold h3 {
        font-size: 19px;
    }

}

