/* 
Theme Name: Geil Enterprises Theme
Description: Geil Enterprises theme for WordPress.
Author: Geil Enterprises
Author URI: https://geilenterprises.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 */


html, body {
	max-width: 100%;
	overflow-x: hidden;
	hanging-punctuation: first last;
}

body {
    -webkit-font-smoothing: antialiased;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

* {
	scroll-behavior: smooth;
	scroll-margin-top: 100px;
}

.grecaptcha-badge { 
    visibility: hidden !important;
}


/* --- */


footer {
  margin-top: auto;
}

h1, h2, h3, h4, h5, h6, .elementor-heading-title, .balance, .balance p {
  	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

ul, ol {
	margin: 30px 0px;
}

li {
	margin-bottom: 10px;
}

button, .elementor-button, a {
    cursor: pointer;
}

@media only screen and (min-width:768px) {
    button, .elementor-button {
        white-space: nowrap;
    }
}


body:not(.elementor-editor-active) .sequence {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

body:not(.elementor-editor-active) .sequence.animated {
    opacity: 1;
    transform: translateY(0);
}


/*Containers*/

:root {
	--vert: clamp(60px, 12%, 100px);
	--horz: clamp(30px, 7%, 60px);
	--vert-extra: clamp(100px, 15%, 140px);
}

/*Default padding for 1st container on every page*/

/* .elementor:not([data-elementor-type="header"], [data-elementor-type="footer"], [data-elementor-type="popup"]) .e-con:first-of-type:not(.e-con *) {
    --container-default-padding-top: clamp(100px, 15%, 140px);
} */

.site-main {
	padding-top: var(--vert-extra);
}

.no-pad, .no-pad.e-con>.e-con-inner {
    padding-block-start: 0;
    padding-block-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
}

.pad-right {
    padding-inline-end: var(--container-default-padding-right, --horz);
}

.pad-left {
    padding-inline-start: var(--container-default-padding-left, --horz);
}

.pad-horz {
    padding-inline-start: var(--container-default-padding-left, --horz);
    padding-inline-end: var(--container-default-padding-right, --horz);
}

.pad-top {
    padding-block-start: var(--container-default-padding-top, --vert);
}

.pad-btm {
    padding-block-end: var(--container-default-padding-bottom, --vert);
}

.pad-vert  {
    padding-block-start: var(--container-default-padding-top, --vert);
    padding-block-end: var(--container-default-padding-bottom, --vert);
}




/* Global Styling */


/*MISC*/

.border-left {
    padding-left: clamp(20px, 10%, 40px);
}

.border-left::before {
    content: '';
    position: absolute;
    width: 4px;
    height: 100%;
    background: #C4BD05;
}

/*Borders*/

body:not(.elementor-editor-active) .border-left::before {
    opacity: 0;
    transform: translate3d(0, -100px, 0);
    transition: all 0.75s ease-in-out;
}

body:not(.elementor-editor-active) .border-left.animated::before {
    opacity: 1;
    transform: translateY(0);
}


/*STICKY HEADER*/

.sticky-header {
    --transition-timing: .3s ease-in-out;
	transition: all var(--transition-timing);
}
  
.sticky-header.elementor-sticky--active.elementor-sticky--effects{
    box-shadow: 0 0 20px #00000020;
}



/*Buttons*/

.elementor-button {
    font-size: clamp(16px, 8vw, 1.1rem);
}

.big-btn .elementor-button {
    font-size: clamp(20px, 8vw, 1.5em);
}


.arrow-btn .elementor-button {
    border: none;
    padding: 0;
    min-width: 0;
    background: transparent !important;
}

.arrow-btn .elementor-button-icon {
    transform: translate(0px, 0px);
    transition: all 300ms ease 0ms;
}

.arrow-btn .elementor-button:hover .elementor-button-icon {
    transform: translate(5px, -5px);
}



/*FORMS*/

.e-form__buttons {
    margin-top: 10px;
    justify-content: space-between;
}



/*BIOS*/

.bio-modal .premium-modal-box-modal-dialog {
    padding: 0 30px 30px;
}

.bio-modal .premium-modal-box-modal-header {
    padding: 15px 0;
}

.bio-modal .premium-modal-box-modal-header {
    justify-content: flex-end
}

.bio-modal-content {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}

.bio-img {
    width: clamp(150px, 100%, 200px);
    flex: 1;
    aspect-ratio: 1;
    object-fit: cover;
	border-radius: 5px !important;
	background-color: #1B3B571A;
}

.bio-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: clamp(150px, 100%, 300px);
    flex: 2;
}

.bio-info h4 {
    font-weight: 700;
    text-transform: uppercase;
    color: #1B3B57;
    margin-top: 0;
    margin-bottom: 0;
}

.bio-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

.bio-header a, .bio-header img {
    width: 20px;
    height: 20px;
    border-radius: 0;
}

.bio-header img {
    opacity: 0;
}

.bio-header a {
    background-color: #1B3B57;
    -webkit-mask-image: url(/wp-content/uploads/2024/07/linkedin.svg);
    transition: 150ms ease-in-out;
}

.bio-header a:hover {
    background-color: #C4BD05;
}


/*Service Slider*/

.service-slider .jet-tabs__content-wrapper {
    margin-top: 40px;
}

.service-slider .jet-tabs__control-wrapper {
    gap: 15px 30px;
    flex-wrap: nowrap;
    justify-content: flex-start !important;
    align-self: center !important;
    max-width: calc(100% - var(--horz));
}

.service-slider .jet-tabs__control-wrapper {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 1%, black 99%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, black 1%, black 99%, transparent 100%);
	padding: 0 5px;
}


.service-slider .jet-tabs__control-inner {
    padding: 0 1px !important;
    line-height: 100%;
}

.service-slider .jet-tabs__label-icon {
    display: none;
}

.service-slider .jet-tabs__control {
    display: flex;
    gap: 30px;
    flex: none;
}

.service-slider .jet-tabs__control .jet-tabs__label-text {
    transition: 300ms ease;
    border-bottom: 2px solid #FFFFFF00;
}

.service-slider .jet-tabs__control.active-tab .jet-tabs__label-text {
    border-bottom: 2px solid #C4BD05;
}

.service-slider .jet-tabs__control:not(:last-of-type):after {
    content: "";
    width: 1px;
    min-height: 100%;
    background: #666666;
}




/* Animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}