/*
 COMYMAS V1
 Elementor structural reconstruction.

 This file is NOT an original historical Elementor stylesheet.
 It restores only generic layout behavior required by the
 historical Elementor HTML preserved in this reconstruction.
*/

/* -------------------------------------------------------
   ELEMENTOR BASE
------------------------------------------------------- */

.elementor {
    width: 100%;
}

.elementor *,
.elementor *::before,
.elementor *::after {
    box-sizing: border-box;
}

.elementor-element {
    --flex-direction: initial;
    --flex-wrap: initial;
    --justify-content: initial;
    --align-items: initial;
    --align-content: initial;
    --gap: initial;
    --flex-basis: initial;
    --flex-grow: initial;
    --flex-shrink: initial;
    --order: initial;
    --align-self: initial;
}

.elementor-widget {
    position: relative;
}

.elementor-widget-container {
    width: 100%;
}

.elementor img {
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%;
}

/* -------------------------------------------------------
   MODERN ELEMENTOR CONTAINERS
------------------------------------------------------- */

.e-con {
    --container-max-width: 1140px;

    display: flex;
    position: relative;

    min-width: 0;

    flex-direction: var(--flex-direction, column);
    flex-wrap: var(--flex-wrap, nowrap);

    justify-content: var(--justify-content, initial);
    align-items: var(--align-items, initial);
    align-content: var(--align-content, initial);

    gap:
        var(--row-gap, var(--gap, 0))
        var(--column-gap, var(--gap, 0));

    flex-basis: var(--flex-basis, auto);
    flex-grow: var(--flex-grow, 0);
    flex-shrink: var(--flex-shrink, 1);

    align-self: var(--align-self, auto);

    width: var(--width, 100%);
    max-width: var(--max-width, 100%);

    margin:
        var(--margin-top, 0)
        var(--margin-right, 0)
        var(--margin-bottom, 0)
        var(--margin-left, 0);

    padding:
        var(--padding-top, 0)
        var(--padding-right, 0)
        var(--padding-bottom, 0)
        var(--padding-left, 0);
}

.e-con.e-flex {
    display: flex;
}

.e-con.e-con-full {
    width: 100%;
}

.e-con.e-con-boxed {
    width: 100%;
}

.e-con.e-con-boxed > .e-con-inner {
    width: 100%;
    max-width: var(--container-max-width, 1140px);
    margin-left: auto;
    margin-right: auto;
}

.e-con-inner {
    display: flex;
    position: relative;
    width: 100%;

    flex-direction: var(--flex-direction, row);
    flex-wrap: var(--flex-wrap, nowrap);

    justify-content: var(--justify-content, initial);
    align-items: var(--align-items, initial);

    gap:
        var(--row-gap, var(--gap, 0))
        var(--column-gap, var(--gap, 0));
}

/* -------------------------------------------------------
   ELEMENTOR CHILDREN
------------------------------------------------------- */

.e-con > .elementor-widget,
.e-con-inner > .elementor-widget {
    min-width: 0;
}

.e-con > .e-con,
.e-con-inner > .e-con {
    min-width: 0;
}

/* Elementor normally allows children to participate
   directly in the flex layout. */
.e-child {
    position: relative;
}

/* -------------------------------------------------------
   LEGACY SECTION SUPPORT
------------------------------------------------------- */

.elementor-section {
    position: relative;
}

.elementor-section.elementor-section-boxed >
.elementor-container {
    max-width: 1140px;
}

.elementor-container {
    display: flex;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.elementor-row {
    display: flex;
    width: 100%;
}

.elementor-column {
    position: relative;
    min-height: 1px;
    display: flex;
}

.elementor-column-wrap {
    position: relative;
    display: flex;
    width: 100%;
}

.elementor-widget-wrap {
    position: relative;
    width: 100%;
    flex-wrap: wrap;
    align-content: flex-start;
}

/* -------------------------------------------------------
   BASIC WIDGETS
------------------------------------------------------- */

.elementor-widget-image {
    text-align: center;
}

.elementor-widget-image img {
    vertical-align: middle;
    display: inline-block;
}

.elementor-heading-title {
    padding: 0;
    margin: 0;
    line-height: 1;
}

.elementor-widget-text-editor {
    line-height: 1.5;
}

.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

/* -------------------------------------------------------
   BUTTON
------------------------------------------------------- */

.elementor-button-wrapper {
    line-height: 1;
}

.elementor-button {
    display: inline-block;
    line-height: 1;
    text-decoration: none;
}

.elementor-align-center {
    text-align: center;
}

.elementor-align-left {
    text-align: left;
}

.elementor-align-right {
    text-align: right;
}

/* -------------------------------------------------------
   RESPONSIVE
------------------------------------------------------- */

@media (max-width: 1024px) {

    .e-con.e-con-boxed > .e-con-inner {
        max-width: 1024px;
    }
}

@media (max-width: 767px) {

    .e-con {
        --container-max-width: 767px;
    }

    .elementor-container,
    .elementor-row {
        flex-wrap: wrap;
    }

    .elementor-column {
        width: 100%;
    }
}

/* -------------------------------------------------------
   ANIMATION FALLBACK

   Historical markup contains elementor-invisible because
   Elementor JS originally revealed these elements.
   Static reconstruction must show them.
------------------------------------------------------- */

.elementor-invisible {
    visibility: visible !important;
}

/* -------------------------------------------------------
   STATIC BUILD SAFETY
------------------------------------------------------- */

form[data-historical-action] {
    position: relative;
}
