body {
    --idc-outline: -webkit-focus-ring-color auto 1px;
    --idc-outline-offset: .2rem;

    --idc-diver-width: 1px;
}

/* OVERRIDING DEFAULT THEME CSS - BEGIN */
:focus-visible {
    outline: var(--idc-outline);
    outline-offset: var(--idc-outline-offset);
}

body button {
    padding: 0;
    font-size: unset;
    border: none;
}

body button:hover, body button:focus {
    background-color: unset;
}

body button:focus, body button[ type="submit" ]:focus, body button[ type="button" ]:focus {
    outline: none;
}

body button:focus-visible, body button[ type="submit" ]:focus-visible, body button[ type="button" ]:focus-visible {
    outline: var(--idc-outline);
    outline-offset: var(--idc-outline-offset);
}



.idc-form .elementor-field-group .elementor-field-textual:focus {
    box-shadow: none;

    outline: var(--idc-outline);
    outline-offset: var(--idc-outline-offset);
}
/* OVERRIDING DEFAULT THEME CSS - END */

.idc-hidden {
    display: none;
}

.idc-img-border-radius-right {
    border-radius: 64px 0 64px 0;
    overflow: hidden;
}

.idc-img-border-radius-left {
    border-radius: 0 64px 0 64px;

    overflow: hidden;
}


/* idc-btn BEGIN */

.idc-btn .elementor-button {
    position: relative;

    padding: 1rem 1.4rem 1rem 1.4rem;

    --idc-left-circle-width: 3.1rem;
    --idc-left-circle-height: 3.1rem;

    --idc-left-circle-t: .3s;
}

.idc-btn .elementor-button::before {
    content: '';

    display: flex;
    width: var(--idc-left-circle-width);
    height: var(--idc-left-circle-height);

    position: absolute;
    left: 0;
    /* right: 0; */
    /* right: calc(100% - var(--idc-left-circle-width)); */
    top: calc(100% / 2 - var(--idc-left-circle-height) / 2);

    background-color: var(--e-global-color-2e233b0);
    opacity: 0.1;

    border-radius: 100rem;

    transition: all var(--idc-left-circle-t) ease-in !important;

    pointer-events: none;
}

.idc-btn:hover .elementor-button::before {
    animation-duration: calc(var(--idc-left-circle-t) * 2);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    /* animation-delay: calc(var(--idc-left-circle-t) / 2) !important; */
    animation-name: idc-btn-slidein-to-right;

    left: calc(100% - var(--idc-left-circle-width) * 2);
    width: calc(var(--idc-left-circle-width) * 2);

    transition: all var(--idc-left-circle-t) ease-in !important;
    /* transition-delay: .25s; */
}

@keyframes idc-btn-slidein-to-right {
    from {
        opacity: .1;
    }

    20% {
        opacity: .25;
    }
  
    to {
        opacity: .1;
    }
}

.idc-btn .elementor-button-content-wrapper {
    /* position: relative; */

    display: flex;
    justify-content: center;
    align-items: center;
}

.idc-btn .elementor-button-text {
    margin-right: 2.3rem;
}

.idc-btn .elementor-button-icon {
    position: absolute;
    right: 1.4rem;
    top: 50%;

    transform: translateY(-50%);

    display: flex;

    transition: all var(--idc-left-circle-t) ease-in !important;
}

.idc-btn:hover .elementor-button-icon {
    right: 0.5rem;

    transition: all .3s ease-in !important;
    transition-delay: calc(var(--idc-left-circle-t) / 2) !important;
}

.idc-btn .elementor-align-icon-right {
    margin-left: 0;
}

.idc-btn .elementor-button-icon > svg {
    width: 2rem;
}

.idc-btn .elementor-button-icon > svg > path {
    stroke-width: 0;
    fill: var(--e-global-color-2e233b0);
}



/* white theme */
.idc-btn--white .elementor-button-text {
    color: var(--e-global-color-df39e67);
}

.idc-btn--white .elementor-button::before {
    background-color: var(--e-global-color-df39e67);
}

.idc-btn--white .elementor-button-icon > svg > path {
    fill: var(--e-global-color-df39e67);
}

/* golden theme */
.idc-btn--golden .elementor-button-text {
    color: var(--e-global-color-8d5c89e);
}

.idc-btn--golden .elementor-button::before {
    background-color: var(--e-global-color-8d5c89e);
}

.idc-btn--golden .elementor-button-icon > svg > path {
    fill: var(--e-global-color-8d5c89e);
}



.idc-btn--empty .elementor-button-icon {
    right: 1rem;
}

.idc-btn--empty:hover .elementor-button-icon {
    right: 0.2rem;
}

.idc-btn--empty .elementor-button-icon > svg {
    width: 2.7rem;
}


/* idc-btn END */


/* idc-form BEGIN */

/* form submit buttons BEGIN */

.idc-form .elementor-button {
    position: relative;

    padding: 1rem 1.4rem 1rem 1.4rem !important;

    margin-top: 40px;

    --idc-left-circle-width: 3.1rem;
    --idc-left-circle-height: 3.1rem;

    --idc-left-circle-t: .3s;
}

.idc-form .elementor-button::before {
    content: '';

    display: flex;
    width: var(--idc-left-circle-width);
    height: var(--idc-left-circle-height);

    position: absolute;
    left: 0;
    /* right: 0; */
    /* right: calc(100% - var(--idc-left-circle-width)); */
    top: calc(100% / 2 - var(--idc-left-circle-height) / 2);

    background-color: var(--e-global-color-df39e67);
    opacity: 0.1;

    border-radius: 100rem;

    transition: all var(--idc-left-circle-t) ease-in !important;

    pointer-events: none;
}

.idc-form .elementor-button:hover::before {
    animation-duration: calc(var(--idc-left-circle-t) * 2);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    /* animation-delay: calc(var(--idc-left-circle-t) / 2) !important; */
    animation-name: idc-btn-slidein-to-right;

    left: calc(100% - var(--idc-left-circle-width) * 2);
    width: calc(var(--idc-left-circle-width) * 2);

    transition: all var(--idc-left-circle-t) ease-in !important;
    /* transition-delay: .25s; */
}

.idc-form .elementor-button-text {
    margin-right: 2.3rem;
}

.idc-form .elementor-button .elementor-button-icon {
    position: absolute;
    right: 1.4rem;
    top: 50%;

    transform: translateY(-50%);

    display: flex;

    transition: all var(--idc-left-circle-t) ease-in !important;
}

.idc-form .elementor-button:hover .elementor-button-icon {
    right: 0.5rem;

    transition: all .3s ease-in !important;
    transition-delay: calc(var(--idc-left-circle-t) / 2) !important;
}

.idc-form .elementor-button-icon > svg {
    width: 2rem;
}

.idc-form .elementor-button-icon > svg > path {
    stroke-width: 0;
    fill: var(--e-global-color-df39e67);
}

/* form submit buttons END */


.idc-form input[type="checkbox"] {
    /* Add if not using autoprefixer */
    -webkit-appearance: none;
    appearance: none;
    /* For iOS < 15 to remove gradient background */
    background-color: #fff;
    /* Not removed via appearance */
    margin: 0;
}

.idc-form input[type="checkbox"] {
    appearance: none;
    background-color: rgba(255, 255, 255, .2) !important;
    margin: 0;
    font: inherit;
    width: 1.15rem;
    height: 1.15rem;
    border: none;
    border-radius: 0.15rem !important;
    transform: translateY(-0.075rem);
}

.idc-form input[type="checkbox"] {
    /* ...existing styles */
    display: grid !important;
    place-content: center;
}
  
.idc-form input[type="checkbox"]::before {
    content: "";
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 0.15rem !important;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1rem 1rem var(--e-global-color-df39e67);
}
  
.idc-form input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.idc-form .elementor-field-type-acceptance input, .idc-form .elementor-field-type-acceptance label {
    cursor: pointer;
}

.idc-form .elementor-select-wrapper .select-caret-down-wrapper {
    font-size: 0.5rem;
    inset-inline-end: 1.2rem;
}

.idc-form .elementor-field-type-acceptance label > a, .idc-form .elementor-field-type-acceptance label > a:hover {
    color: inherit;
    font-weight: inherit;
    text-decoration: underline;
}





.idc-form input[ type="text" ], .idc-form input[ type="email" ], .idc-form input[ type="tel" ], .idc-form select, .idc-form textarea {
    padding: 0.5rem 1rem;
}

/* idc-form END */













/* TABLET BEGIN */
@media (767px < width <= 1024px) {
    .idc-btn .elementor-button {
       --idc-left-circle-width: 2.7rem;
       --idc-left-circle-height: 2.7rem;
    }
}
/* TABLET END */

/* MOBILE BEGIN */
@media (width <= 767px) {
    
}
/* MOBILE END */