/* #region [global][html] */

html {
	scroll-behavior: smooth;
}

/* #endregion */

/* #region [global][style] heights */

.--vh-10 {
	height: 10vh;
}

.--vh-20 {
	height: 20vh;
}

.--vh-25 {
	height: 25vh;
}

.--vh-30 {
	height: 30vh;
}

.--vh-40 {
	height: 40vh;
}

.--vh-50 {
	height: 50vh;
}

.--vh-60 {
	height: 60vh;
}

.--vh-70 {
	height: 70vh;
}

.--vh-75 {
	height: 75vh;
}

.--vh-100 {
	height: 100vh;
}

.--h-10 {
	height: 10%;
}

.--h-20 {
	height: 20%;
}

.--h-25 {
	height: 25%;
}

.--h-30 {
	height: 30%;
}

.--h-40 {
	height: 40%;
}

.--h-50 {
	height: 50%;
}

.--h-60 {
	height: 60%;
}

.--h-70 {
	height: 70%;
}

.--h-75 {
	height: 75%;
}

.--h-90 {
	height: 90%;
}

.--h-100 {
	height: 100%;
}

@media(max-width: 1024px){ 

    .--h-100-m {
        height: 100%;
    }

    .--h-auto-m
    {   
        height: auto;
    }

}

@media(max-width: 767px){ 

    .--h-auto-s
    {   
        height: auto;
    }

    .--dvh-100-s {
        height: 100dvh!important; /* dynamic viewport height (changes as the browser UI shows/hides). */
        transition: height 0.3s ease; /* smooth resize */
    }

}

/* #endregion */

/* #region [global][fixed heights]*/

.--h-800-px {
    height: 800px;
}

/* #endregion */

/* #region [global][style] widths */

.--w-auto {
    flex-basis: 100%;
    flex-grow: 1;
}

.--w-fit-content {
    width: fit-content;
}

.--w-10 {
	width: 10%;
}

.--w-20 {
	width: 20%;
}

.--w-25 {
	width: 25%;
}

.--w-30 {
	width: 30%;
}

.--w-33 {
	width: 33.3%;
}

.--w-40 {
	width: 40%;
}

.--w-50 {
	width: 50%;
}

.--w-66 {
	width: 66.6%;
}

.--w-60 {
	width: 60%;
}

.--w-70 {
	width: 70%;
}

.--w-75 {
	width: 75%;
}

.--w-80 {
	width: 80%;
}

.--w-90 {
	width: 90%;
}

.--w-100 {
	width: 100%;
}

.--w-100-vw {
    width: 100vw;
}

@media(max-width: 1024px){

    .--w-100-m {
        width: 100%;
    }

    .--w-70-m {
        width: 70%;
    }

    .--w-60-m {
        width: 60%;
    }

    .--w-50-m {
        width: 50%;
    }

    .--w-40-m {
        width: 40%;
    }

    .--w-30-m {
        width: 30%;
    }

}

@media(max-width: 767px){

    .--w-100-s {
        width: 100%;
    }

    .--w-70-s {
        width: 70%;
    }

    .--w-60-s {
        width: 60%;
    }

    .--w-50-s {
        width: 50%;
    }

    .--w-40-s {
        width: 40%;
    }

    .--w-30-s {
        width: 30%;
    }

}


/* #endregion */

/* #region [global][style] display: none */


.--hide {
    display: none;
}

@media(max-width: 1024px){

    .--hide-m {
        display: none;
    }

}

@media(max-width: 767px){

    .--hide-s {
        display: none!important;
    }

}

/* #endregion */

/* #region [global][style] borders */

.--border {
    border: 1px solid var(--gray85);
}

.--border-right {
    border-right: 1px solid var(--gray85);
}

.--border-left {
    border-left: 1px solid var(--gray85);
}

.--border-left.--border-black {
    border-color: black;
}

/* #endregion */

/* #region [global][style] box shadow */

.--box-shadow {
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

/* #endregion */

/* #region [global][margins] */

.--margin-top-negative-60 {
    margin-top: -60px;
}

.--margin-top-120 {
    margin-top: 120px;
}

.--margin-top-60 {
    margin-top: 60px;
}

.--margin-top-40 {
    margin-top: 40px;
}

.--margin-top-32 {
    margin-top: 32px;
}

.--margin-top-24 {
    margin-top: 24px;
}

.--margin-top-16 {
    margin-top: 16px;
}

.--margin-top-12 {
    margin-top: 12px;
}

.--margin-top-8 {
    margin-top: 8px;
}

.--margin-top-4 {
    margin-top: 4px;
}

.--margin-top-0 {
    margin-top: 0px;
}

.--margin-bottom-100 {
    margin-bottom: 100px;
}

.--margin-bottom-60 {
    margin-bottom: 60px;
}

.--margin-bottom-48 {
    margin-bottom: 48px;
}

.--margin-bottom-40 {
    margin-bottom: 40px;
}

.--margin-bottom-32 {
    margin-bottom: 32px;
}

.--margin-bottom-24 {
    margin-bottom: 24px;
}

.--margin-bottom-16 {
    margin-bottom: 16px;
}

.--margin-bottom-12 {
    margin-bottom: 12px;
}

.--margin-bottom-8 {
    margin-bottom: 8px;
}

.--margin-bottom-4 {
    margin-bottom: 4px;
}

.--margin-bottom-2 {
    margin-bottom: 2px;
}

.--margin-bottom-0 {
    margin-bottom: 0px;
}

.--margin-right-20 {
    margin-right: 20px;
}

.--margin-right-4 {
    margin-right: 4px;
}

.--margin-left-4 {
    margin-left: 4px;
}

.--margin-0 {
    margin: 0;
}


@media(max-width: 1024px){

    .--margin-top-120-m {
        margin-top: 120px;
    }

    .--margin-top-0-m {
        margin-top: 0;
    }

    .--margin-bottom-24-m {
        margin-bottom: 24px;
    }

    .--margin-bottom-16-m {
        margin-bottom: 16px;
    }

}

@media(max-width: 767px){

    .--margin-top-0-s {
        margin-top: 0;
    }

    .--margin-top-40-s {
        margin-top: 40px;
    }

    .--margin-top-60-s {
        margin-top: 60px;
    }

    .--margin-bottom-16-s {
        margin-bottom: 16px;
    }

    .--margin-bottom-40-s {
        margin-bottom: 40px;
    }

    .--margin-bottom-4-s {
        margin-bottom: 4px;
    }

    .--margin-bottom-0-s {
        margin-bottom: 0;
    }

}

/* #endregion */

/* #region [global][paddings] */

.--padding-4 {
    padding: 4px;
}

.--padding-8 {
    padding: 8px;
}

.--padding-16 {
    padding: 16px;
}

.--padding-24 {
    padding: 24px;
}

.--padding-32 {
    padding: 32px;
}

.--padding-top-60 {
    padding-top: 60px;
}

.--padding-top-40 {
    padding-top: 40px;
}

.--padding-top-32 {
    padding-top: 32px;
}

.--padding-top-24 {
    padding-top: 24px;
}

.--padding-top-16 {
    padding-top: 16px;
}

.--padding-top-12 {
    padding-top: 12px;
}

.--padding-top-8 {
    padding-top: 8px;
}

.--padding-top-4 {
    padding-top: 4px;
}

.--padding-bottom-120 {
    padding-bottom: 120px;
}

.--padding-bottom-96 {
    padding-bottom: 96px;
}

.--padding-bottom-80 {
    padding-bottom: 80px;
}

.--padding-bottom-60 {
    padding-bottom: 60px;
}

.--padding-bottom-40 {
    padding-bottom: 40px;
}

.--padding-bottom-32 {
    padding-bottom: 32px;
}

.--padding-bottom-24 {
    padding-bottom: 24px;
}

.--padding-bottom-20 {
    padding-bottom: 20px;
}

.--padding-bottom-16 {
    padding-bottom: 16px;
}

.--padding-bottom-12 {
    padding-bottom: 12px;
}

.--padding-bottom-8 {
    padding-bottom: 8px;
}

.--padding-bottom-4 {
    padding-bottom: 4px;
}

.--padding-left-72 {
    padding-left: 72px;
}

.--padding-left-60 {
    padding-left: 60px;
}

.--padding-left-40 {
    padding-left: 40px;
}

.--padding-left-32 {
    padding-left: 32px;
}

.--padding-left-24 {
    padding-left: 24px;
}

.--padding-left-8 {
    padding-left: 8px;
}

.--padding-right-72 {
    padding-right: 72px;
}

.--padding-right-60 {
    padding-right: 60px;
}

.--padding-right-40 {
    padding-right: 40px;
}

.--padding-right-32 {
    padding-right: 32px;
}

.--padding-right-24 {
    padding-right: 24px;
}

.--padding-right-8 {
    padding-right: 8px;
}


@media(max-width: 1024px){

    .--padding-top-60-m {
        padding-top: 60px;
    }

    .--padding-top-40-m {
        padding-top: 40px;
    }

    .--padding-top-32-m {
        padding-top: 32px;
    }

    .--padding-top-24-m {
        padding-top: 24px;
    }

    .--padding-bottom-60-m {
        padding-bottom: 60px;
    }

    .--padding-bottom-40-m {
        padding-bottom: 40px;
    }

    .--padding-bottom-32-m {
        padding-bottom: 32px;
    }

    .--padding-bottom-24-m {
        padding-bottom: 24px;
    }

    .--padding-bottom-0-m {
        padding-bottom: 0;
    }

    .--padding-left-0-m {
        padding-left: 0;
    }

    .--padding-left-24-m {
        padding-left: 24px;
    }

    .--padding-right-24-m {
        padding-right: 24px;
    }

    .--padding-16-m {
        padding: 16px;
    }
}


@media(max-width: 767px){

    .--padding-left-0-s {
        padding-left: 0;
    }

    .--padding-left-24-s {
        padding-left: 24px;
    }

    .--padding-right-0-s {
        padding-right: 0;
    }

    .--padding-top-16-s {
        padding-top: 16px;
    }

    .--padding-right-24-s {
        padding-right: 24px;
    }

    .--padding-top-40-s {
        padding-top: 40px;  
    }

    .--padding-top-60-s {
        padding-top: 60px;  
    }

    .--padding-bottom-40-s {
        padding-bottom: 40px;
    }

    .--padding-bottom-60-s {
        padding-bottom: 60px;
    }

}


/* #endregion */

/* #region [global][layout] page paddings and content width - before rows and columns */

:root {
    /* layout */
	--page-padding: 24px;
    --boxed-content-width: 1140px;
    --narrow-content-width: 728px;
}

@media (max-width: 1024px) {

    :root {
        /* layout */
        --page-padding: 24px;
    }

}

@media (max-width: 767px) {

    :root {
        /* layout */
        --page-padding: 24px;
    }

}

/* #endregion */

/* #region [global][layout] rows */

._row {
	display: flex;
	flex-direction: row;
}

._row.--padded-left-right {
    padding-left: var(--page-padding);
    padding-right: var(--page-padding);
}

._row.--boxed-content {
    padding-left: var(--page-padding);
    padding-right: var(--page-padding);
    max-width: var(--boxed-content-width);
    margin-left: auto;
    margin-right: auto;
}

._row.--boxed-content.--narrow {
    max-width: var(--narrow-content-width);
}

.elementor-editor-active.elementor_library-template-default ._row.--boxed-content.--narrow
.elementor_library-template-default.elementor-editor-preview ._row.--boxed-content.--narrow
{
    max-width: unset;
}

@media(max-width: 1024px){

    ._row-m {
        flex-direction: row!important;
    }

}

@media(max-width: 767px) {

    ._row-s {
        flex-direction: row!important;
    }

    ._row.--row-reverse-s {
        flex-direction: row-reverse;
    }

}


/* #endregion */

/* #region [global][layout] columns */

._column {
	display: flex;
	flex-direction: column;
}

._column.--padded-left-right {
    padding-left: var(--page-padding);
    padding-right: var(--page-padding);
}

._column.--boxed-content {
    padding-left: var(--page-padding);
    padding-right: var(--page-padding);
    max-width: var(--boxed-content-width);
    margin-left: auto;
    margin-right: auto;
}

._column.--boxed-content.--narrow {
    max-width: var(--narrow-content-width);
}

.elementor-editor-active.elementor_library-template-default ._column.--boxed-content.--narrow,
.elementor_library-template-default.elementor-editor-preview ._column.--boxed-content.--narrow
{
    max-width: unset;
}

._column.--boxed-content.--narrow {
    max-width: var(--narrow-content-width);
}


@media(max-width: 1024px) {

    ._column-m {
        flex-direction: column;
    }

}

@media(max-width: 767px) {

    ._column-s {
        flex-direction: column!important;
    }

}

/* #endregion */

/* #region [global][felx grow]*/

.--grow-1 {
    flex-grow: 1;
}

/* #endregion */

/* #region [global][layout][grids] */

._grid-2-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

._grid-3-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.--w-span-1-column {
 grid-column: span 1;
}

.--w-span-2-columns {
    grid-column: span 2;
}

@media(max-width: 767px){

    ._grid-1-column-m {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    .--w-span-3-columns-m {
        grid-column: span 3;
    }

}

/* #endregion */

/* #region [global][layout][off-page-section] */

._off-page-section {
    width: calc( var(--boxed-content-width) + ( ( 100vw - var(--boxed-content-width) ) / 2  ) );
    margin-left: calc( ( ( 100vw - var(--boxed-content-width) ) / 2  ) );
    overflow: hidden;
    padding-left: var(--page-padding);
}

@media(max-width: 1140px){
    ._off-page-section {
       margin-left: 0;
    }
}

/* #endregion */

/* #region [global][layout] aspect-ratio containers */

._square-container {
    width: 100%;
    padding-bottom: 100%;
    position: relative;
}

._three-by-two-container {
    width: 100%;
    padding-bottom: 66.67%;
    position: relative;
}

._four-by-three-container {
    width: 100%;
    padding-bottom: 75%;
    position: relative;
}

._sixteen-by-nine-container {
    width: 100%;
    padding-bottom: 56.25%;
    position: relative;
}

._portrait-container {
    width: 100%;
    padding-bottom: 145%;
    position: relative;
}

._absolute-centered-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    line-height: 0;
}

img.--image-height-100 {
    height: 100%;
}

img.--image-width-100 {
    width: 100%;
}

/* #endregion */

/* #region [global][layout][position] */

.--position-static {
    position: static;
}

.--position-relative {
    position: relative;
}

.--position-absolute {
    position: absolute;
}

@media(max-width: 767px){

    .--position-static-s {
        position: static;
    }

}

/* #endregion */

/* #region [global][layout][overflow] */

.--overflow-hidden {
    overflow: hidden;
}

.--overflow-x-hidden {
    overflow-x: hidden;
}

.--overflow-visible {
    overflow: visible;
}

.--overflow-y-auto {
    overflow-y: auto;
}

/* #endregion */

/* #region [global][layout] horizontally align flex  */

._column.--h-align-center {
    align-items: center;
}

._row.--h-align-center {
    justify-content: center;
}

._column.--h-align-right {
    align-items: flex-end;
}

._row.--h-align-right {
    justify-content: flex-end;
}

._column.--h-align-space-between {
    align-items: space-between;
}

._row.--h-align-space-between {
    justify-content: space-between;
}


@media(max-width: 767px){

    ._row.--h-align-center-s {
        justify-content: center;
    }

    ._column.--h-align-center-s {
        align-items: center;
    }

}

/* #endregion  */

/* #region [global][layout] vertically align flex  */

._column.--v-align-center {
    justify-content: center;
}

._row.--v-align-center {
    align-items: center;
}

._column.--v-align-bottom {
    justify-content: flex-end;
}

._row.--v-align-bottom {
    align-items: flex-end;
}

._column.--v-align-space-around {
    justify-content: space-around;
}

@media(max-width: 1024px){

    ._column.--v-align-center-m {
        justify-content: center;
    }

}


/* #endregion  */

/* #region [global][layout][flex-gap] */

.--gap-4 {
    gap: 4px;
}

.--gap-8 {
    gap: 8px;
}

.--gap-16 {
    gap: 16px;
}

.--gap-24 {
    gap: 24px;
}

.--gap-40 {
    gap: 40px;
}

.--gap-48 {
    gap: 48px;
}

.--gap-60 {
    gap: 60px;
}

@media(max-width: 1024px){

    .--gap-16-m {
        gap: 16px;
    }

    .--gap-24-m {
        gap: 24px;
    }

    .--gap-40-m {
        gap: 40px;
    }

    .--gap-60-m {
        gap: 60px;
    }

}

@media(max-width: 767px){

    .--gap-0-s {
        gap: 0;
    }

    .--gap-8-s {
        gap: 8px;
    }

    .--gap-16-s {
        gap: 16px;
    }

    .--gap-24-s {
        gap: 24px;
    }

    .--gap-48-s {
        gap: 48px;
    }

}

/* #endregion */

/* #region [global][layout][flex-shrink] */

.--flex-shrink-0 {
    flex-shrink: 0;
}

/* #endregion */

/* #region [global][column-gap */

.--column-gap-24 {
    column-gap: 24px;
}

/* #endregion */

/* #region [global][row-gap */

.--row-gap-40 {
    row-gap: 40px;
}

@media(max-width: 767px){

    .--row-gap-16-s {
        row-gap: 16px;
    }

}

/* #endregion */

/* #region [global][layout][flex-wrap] */

.--flex-wrap {
    flex-wrap: wrap;
}


@media(max-width: 767px){

    .--flex-wrap-s{
        flex-wrap: wrap;
    }

}

/* #endregion */

/* #region [global][component] list unstyled */

ul.--list-no-style {
    list-style-type: none;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}

/* #endregion */

/* #region [global][images][object-fit] */

.--object-fit-cover {
	object-fit: cover;
}

.--object-fit-contain {
	object-fit: contain;
}

/* #endregion  */

/* #region [global][text attributes */

.--uppercase {
    text-transform: uppercase;
}

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

.--no-break {
    white-space: nowrap;
}

/* #endregion */
