/** Containers/Sections
  ------------------------------ */

  .elementor-element.e-con.bg--color {
    --mainBackground: none;
    background: var(--mainBackground);
}

.container--bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    background: #000
}

.container--bg .plyr__controls {
    display: none !important
}

.container--bg .plyr__video-embed__container,
.container--bg iframe {
    height: 100%;
}

.container--bg>.pe-video.n-self,
.container--bg>.pe-video.n-self>div,
.container--bg>.pe-video.n-self>div .plyr__video-wrapper,
.container--bg>.pe-video.n-self>div .plyr__video-wrapper video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.pin--trigger {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

.e-con.fixed__content>div,
.e-con.fixed__content {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

.e-con.fixed__content>div {
    will-change: transform;
}

.e-con.fixed__content {
    overflow: hidden !important;
}

.reverse--hold {
    display: block;
    float: left;
    width: 100%;
}

span.bg--reverse-layer {
    width: 75px;
    height: 75px;
    overflow: hidden;
    position: relative;
    display: block;
    float: left;
    --curvColor: var(--mainBackground);
}

span.bg--reverse-layer.rl-top.rl-right {
    float: right;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

span.bg--reverse-layer::before {
    content: "";
    display: block;
    width: 200%;
    height: 200%;
    position: absolute;
    border-radius: 50%;
    bottom: 0;
    left: 0;
    -webkit-box-shadow: -50px 50px 0 0 var(--curvColor);
    box-shadow: -50px 50px 0 0 var(--curvColor);
}

span.bg--reverse-layer.rl-bottom {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

span.bg--reverse-layer.rl-bottom.rl-right {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    float: right;
}

.elementor-editor-active span.bg--reverse-layer.rl-top.rl-right,
.elementor-editor-active span.bg--reverse-layer.rl-top.rl-left {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.elementor-editor-active span.bg--reverse-layer.rl-top.rl-right {
    left: unset;
    right: 0;
    -webkit-transform: translateY(-100%) rotate(-90deg);
    -ms-transform: translateY(-100%) rotate(-90deg);
    transform: translateY(-100%) rotate(-90deg)
}

.elementor-editor-active span.bg--reverse-layer.rl-bottom.rl-right,
.elementor-editor-active span.bg--reverse-layer.rl-bottom.rl-left {
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transform: translateY(100%) rotate(90deg);
    -ms-transform: translateY(100%) rotate(90deg);
    transform: translateY(100%) rotate(90deg);
}

.elementor-editor-active span.bg--reverse-layer.rl-bottom.rl-right {
    left: unset;
    right: 0;
    -webkit-transform: translateY(100%) rotate(180deg);
    -ms-transform: translateY(100%) rotate(180deg);
    transform: translateY(100%) rotate(180deg);
}


.animate--radius--out {
    -webkit-transition: none;
    -o-transition: none;
    transition: none
}

.integared--width.elementor-element {
    width: calc(var(--width) - var(--container-default-padding-left) - var(--container-default-padding-left));
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.elementor-element.e-con.convert--carousel {
    --width: fit-content;
    -webkit-transition: none;
    -o-transition: none;
    transition: none
}

.elementor-element.e-con.convert--layered .e-con,
.elementor-element.e-con.convert--layered {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.elementor-element {
    color: var(--mainColor)
}

.convert--layered {
    --op: 0
}

.elementor-element.e-con.convert--tabs .tabs--wrapper > .e-con {
  display: none;
  transition: none !important;
}

.elementor-element.e-con.convert--tabs .tabs--wrapper > .e-con.active {
    display: flex;
}

.elementor-element.e-con.convert--tabs .tabs--wrapper {
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    justify-content: var(--justify-content);
    align-items: var(--align-items);
    align-content: var(--align-content);
    gap: var(--gap);
    display: var(--display);
    position: relative;
}

.convert--tabs .tabs--seperator:last-child {
    display: none;
}

.elementor-element.e-con.convert--accordion {
    gap: 0;
}


.container--accordion--item {
    height: 0;
    overflow: hidden;
    min-height: auto;
    padding: 0;
}

.container--accordion--item.cont--acc--active {
    height: auto;
    min-height: auto;
    padding: 'unset';
}

.convert--accordion span.accordion-toggle {
    width: 1em;
    height: 1em;
    position: relative;
    margin-left: auto;
    margin-right: 0.5em;
    display: inline-block;
}


.convert--accordion.ac--toggle--plus .toggle--custom, .convert--accordion.ac--toggle--plus .toggle--dot {
    display: none;
}

.convert--accordion.ac--toggle--dot .toggle--custom, .convert--accordion.ac--toggle--dot .toggle--plus {
    display: none;
}

.convert--accordion.ac--toggle--custom .toggle--dot, .convert--accordion.ac--toggle--custom .toggle--plus {
    display: none;
}

.convert--accordion.ac--toggle--plus .toggle--plus>span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: -webkit-transform .65s ease;
    transition: -webkit-transform .65s ease;
    -o-transition: transform .65s ease;
    transition: transform .65s ease;
    transition: transform .65s ease, -webkit-transform .65s ease
}
.convert--accordion.ac--toggle--plus .toggle--plus>span:first-child {
    width: 70%;
    height: 2px;
    background: var(--mainColor);
}

.convert--accordion.ac--toggle--plus .toggle--plus>span:last-child {
    background: var(--mainColor);
    width: 2px;
    height: 70%;
}

.active span.accordion-toggle.toggle--plus>span:last-child {
    -webkit-transform: translate(-50%, -50%) rotate(-270deg);
    -ms-transform: translate(-50%, -50%) rotate(-270deg);
    transform: translate(-50%, -50%) rotate(-270deg);
}
.active span.accordion-toggle.toggle--dot .accordion-toggle.toggle--dot span {
    border-radius: 50%;
    background: var(--mainColor);
    width: 50%;
    height: 50%;
    opacity: .3;
    -webkit-transition: all .65s ease;
    -o-transition: all .65s ease;
    transition: all .65s ease;
    display: inline-block;
    vertical-align: super;
}

.active .accordion-toggle.toggle--dot span {
    opacity: 1;
}

.active span.accordion-toggle.toggle--dot .accordion-toggle.toggle--dot .toggle--dot {
    text-align: center;
}

.container--accordion--title {
    --fontSize: 30px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    margin: 0;

    display: none;
    float: left;
    width: 100%;
    font-size: var(--fontSize);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.5em 0;
    position: relative;
}

.convert--accordion .container--accordion--title {
    display: flex;
}

.convert--accordion.ac--underlined .container--accordion--title {
    padding: 1em 0;

}

.container--accordion--title span.ac-order {
    margin-right: calc(3* var(--fontSize));
    color: var(--secondaryColor);
    font-size: calc(var(--fontSize) * 0.85);
    line-height: calc(var(--fontSize) * 0.85);
    width: calc(var(--fontSize)* 0.85);
}

.container--ac--nested span.ac-order {
    display: none;
}

.convert--accordion.ac--underlined .container--accordion--item::after,
.convert--accordion.ac--underlined .container--accordion--title::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--mainColor);
    opacity: .2;
}

.container--tab--titles--wrap {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    position: relative;
    padding: 1em 0;
    gap: 10px;
}

.container--tab--titles--wrap > div {
    font-size: 1.5em;
    text-transform: uppercase;
    opacity: .25;
}

.container--tab--titles--wrap::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--mainColor);
    opacity: .2;
}

.container--tab--titles--wrap > div.active {
    opacity: 1;
}


.container--tab--titles--wrap .tabs--seperator {
    font-size: 1.5em;
    line-height: inherit;
    opacity: .2;
    display: none;
}

.show--seperator .container--tab--titles--wrap .tabs--seperator {
    display: block;
}

.e-con.pinned_true {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.e-con .pin-spacer {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important
}

.pin-spacer>.e-con {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.pin-spacer-smooth--hold {
    height: 0 !important;
}

/*
.convert--layered .e-con {
	transform-origin: top center
}
*/

.convert--layered>.e-con::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    border-radius: var(--border-radius);
    opacity: var(--op);
    pointer-events: none
}

.convert--layered>.e-con:not(:first-child) {
    position: absolute;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

.will__animated,
.e-con[data-anim-general="true"] {
    transition: none !important;
}

/** Site Logo
  ------------------------------ */
.elementor-widget-pesitelogo .elementor-widget-container {
    overflow: hidden;
    display: block;
    float: left;
}

.site-branding {
    display: block;
    float: left;
}

.site-branding>div {
    width: 100%;
    -webkit-transition: opacity .4s ease-in-out;
    -o-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out
}

.site-branding>div img {
    width: 100%;
    display: block;
}

.site-branding>div img.secondary__logo {
    display: none;
}

.layout--switched .header--switched .site-branding>div img.sticky__main__logo,
.layout--switched .header--switched .site-branding>div img.main__logo,
.header--switched .site-branding>div img.secondary__logo,
.header--switched .site-branding>div img.sticky__secondary__logo,
.layout--switched .site-branding>div img.secondary__logo,
.layout--switched .site-branding>div img.sticky__secondary__logo,
.site-branding>div img.sticky__main__logo,
.site-branding>div img.main__logo {
    display: block;
}

.layout--switched .header--switched .site-branding>div img.secondary__logo,
.layout--switched .header--switched .site-branding>div img.sticky__secondary__logo,
.header--switched .site-branding>div img.sticky__main__logo,
.header--switched .site-branding>div img.main__logo,
.layout--switched .site-branding>div img.sticky__main__logo,
.layout--switched .site-branding>div img.main__logo,
.site-branding>div img.secondary__logo,
.site-branding>div img.sticky__secondary__logo {
    display: none;
}

.sticky-logo {
    position: absolute;
    top: 50%;
    /* left: 50%; */
    opacity: 0;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);

}

.header--move .site-branding .site-logo {
    opacity: 0;
}

.header--move .site-branding .sticky-logo {
    opacity: 1;
}

.sticky-logo img.sticky__secondary__logo {
    display: none;
}

/** Site Navigation
  ------------------------------ */
.site--nav {
    display: block;
    position: relative;
}

.site--nav.nav--popup .site--menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: -11;
    -webkit-transform: translateX(110%);
    -ms-transform: translateX(110%);
    transform: translateX(110%);
    overflow: hidden;
    /* white-space: nowrap; */
    visibility: hidden;
}

.site--nav.nav--popup .site--menu.active {
    visibility: visible
}

.site--nav.nav--fullscreen .site--menu {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    z-index: -5;
    height: 0vh;
    overflow: hidden;
}

ul.menu.menu--vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

ul.menu.menu--vertical li {
    font-size: 40px;
    line-height: 1;
    padding: 0.3em 0
}

ul.menu.menu--vertical>li>ul.sub-menu {
    position: relative;
    z-index: 99;
    top: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    background: none;
    border-radius: 0px;
    left: 0;
    opacity: 1;
    visibility: visible;
    padding: 0;
    height: 0;
    overflow: hidden;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: -webkit-fill-available;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

ul.menu.menu--vertical li.sub--active ul.sub-menu {
    height: auto;
    padding-top: 0.5em;
    padding-bottom: 0.2em;
}

ul.menu.menu--vertical>li>ul.sub-menu .sub-menu {
    left: 0;
    padding: 0;
    position: relative;
    background: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    display: block;
    float: left;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding-top: 0.3em;
    padding-bottom: 0;
}

ul.menu.menu--vertical li ul.sub-menu li a {
    color: var(--secondaryColor);
    width: 100%;
}

ul.menu.menu--vertical li ul.sub-menu li {
    font-size: 18px;
    margin: 0;
}

.menu--toggle--wrap {
    text-align: right;
}

.menu--toggle {
    display: inline-block;
    width: 55px;
    height: 55px;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
}

.menu--toggle.toggle--plus>span {
    position: absolute;
    width: 50%;
    height: 1px;
    background: var(--mainColor);
    display: block;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 22;
    -webkit-transition: background .3s ease 0s, -webkit-transform .5s ease-in-out 0s;
    transition: background .3s ease 0s, -webkit-transform .5s ease-in-out 0s;
    -o-transition: transform .5s ease-in-out 0s, background .3s ease 0s;
    transition: transform .5s ease-in-out 0s, background .3s ease 0s;
    transition: transform .5s ease-in-out 0s, background .3s ease 0s, -webkit-transform .5s ease-in-out 0s;
}

.menu--toggle.toggle--plus>span:last-child {
    width: 1px;
    height: 50%;
}

.menu--toggle.toggle--plus.active>span:first-child {
    -webkit-transform: translate(-50%, -50%) rotate(-135deg);
    -ms-transform: translate(-50%, -50%) rotate(-135deg);
    transform: translate(-50%, -50%) rotate(-135deg)
}

.menu--toggle.toggle--plus.active>span:last-child {
    -webkit-transform: translate(-50%, -50%) rotate(-135deg);
    -ms-transform: translate(-50%, -50%) rotate(-135deg);
    transform: translate(-50%, -50%) rotate(-135deg)
}

.menu--toggle.has--bg::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: var(--secondaryBackground);
    z-index: -2;
    border-radius: 50%;
}

.menu--toggle.has--bg.has--hover::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0%;
    height: 0%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: var(--mainColor);
    z-index: -1;
    border-radius: 50%;
    -webkit-transition: all .4s cubic-bezier(0.86, 0, 0.1, 1);
    -o-transition: all .4s cubic-bezier(0.86, 0, 0.1, 1);
    transition: all .4s cubic-bezier(0.86, 0, 0.1, 1);
}

.menu--toggle.has--bg.has--hover:hover::before {
    width: 100%;
    height: 100%;
}

.menu--toggle.has--bg.has--hover:hover>span {
    background: var(--secondaryBackground)
}

.st--wrap {
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    vertical-align: middle;
    position: relative;
    margin-left: 0.2em;
    margin-top: -0.1em;
    cursor: pointer
}

.leksa-has-children .st--wrap {
    margin-left: 0.4em;
}

.elementor-widget-penavmenu .main-navigation a {
    display: inline-block;
}

.st--wrap span.sub--toggle {
    width: 100%;
    height: 100%;
    display: block;
}

.st--wrap span.sub--toggle.st--plus>span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: var(--mainColor);
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out
}

.st--wrap span.sub--toggle.st--plus>span:first-child {
    width: 1px;
    height: 100%;
}

.st--wrap span.sub--toggle.st--plus>span:last-child {
    width: 100%;
    height: 1px;
}

li.menu-item.menu-item-has-children.sub--active>.st--wrap span.sub--toggle.st--plus>span:first-child {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    -ms-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
}

ul.menu.menu--indexed li::before {
    content: attr(data-index);
    color: var(--mainColor);
    display: inline-block;
    font-size: 0.4em;
    vertical-align: top;
    margin-right: 0.5em;
}


/** Text Wrapper
  ------------------------------ */

span.me--slide-right,
span.me--slide-left {
    overflow: hidden;
}

span.inner--video,
span.inner--icon,
span.inner--image {
    display: inline-block;
    height: 1em;
    width: 1em;
    vertical-align: middle;
    line-height: 1em;
    color: var(--color);
    fill: var(--color);
    overflow: hidden;
    margin-top: -0.15em;
}

span.inner--video {
    width: auto;
    height: auto;
    position: relative;
}

span.inner--icon svg path {
    fill: var(--color);
}


span.inner--image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

span.inner--icon svg {
    width: 100%;
    height: 100%;
    fill: var(--mainColor)
}

span.inner--icon svg * {
    fill: var(--mainColor)
}

span.inner--element {
    --pe-rotate: 0deg;
    --pe-scale: 0;
    --pe-translate-y: 0px;
    --pe-translate-x: 0px;
    display: inline-block;
    -webkit-transform: rotate(var(--pe-rotate)) scale(var(--pe-scale)) translateY(var(--pe-translate-y)) translateX(var(--pe-translate-x));
    -ms-transform: rotate(var(--pe-rotate)) scale(var(--pe-scale)) translateY(var(--pe-translate-y)) translateX(var(--pe-translate-x));
    transform: rotate(var(--pe-rotate)) scale(var(--pe-scale)) translateY(var(--pe-translate-y)) translateX(var(--pe-translate-x));
}

span.underlined {
    position: relative;
}

span.underlined::after {
    content: '';
    position: absolute;
    bottom: 0.1em;
    left: 0;
    width: 100%;
    height: 0.1em;
    background: var(--color)
}

.elementor-widget-pepostfield .text-wrapper.has--bg a {
    background: var(--mainColor);
    border-radius: 35px;
    color: var(--mainBackground);
    padding: 10px 25px;
}


.ls--invert {
    -webkit-transition: -webkit-filter .4s ease;
    transition: -webkit-filter .4s ease;
    -o-transition: filter .4s ease;
    transition: filter .4s ease;
    transition: filter .4s ease, -webkit-filter .4s ease;
}

.layout--switched .ls--invert {
    -webkit-filter: invert(1);
    filter: invert(1);
}

.layout--switched .ls--revert {
    -webkit-filter: revert;
    filter: revert;
}

/** Pe-theme Circle Text
  ------------------------------ */
.pe-circular-text {
    display: inline-block;
    position: relative;
    margin-left: -1;
    z-index: 0
}

.pe-circular-text .circular-text-content {
    display: block;
    position: absolute;
    height: 450px;
    width: 450px;
}

.pe-circular-text .circular-text-wrap {
    display: inline-block;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    border-radius: 50%;
    position: relative
}

.pe-circular-text .circle-char,
.pe-circular-text .circle-word {
    -webkit-transform-origin: bottom center;
    -ms-transform-origin: bottom center;
    transform-origin: bottom center;
    display: inline-block;
    /*    text-transform: uppercase;*/
    /*    font-size: var(--fontSize);*/
    text-align: center;
    left: 50%;
    height: 50%;
    position: absolute;
    width: 20px;
    z-index: 999999;

}

.pe-circular-text .circle-word {
    left: 50%;
    top: 0;
    height: 100%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.pe-circular-text span.material-symbols-outlined {
    font-size: 5px;
    font-variation-settings:
        'FILL' 1,
        'wght' 100,
        'GRAD' 0,
        'opsz' 10
}

.pe-circular-text .circular-text-icon span.material-symbols-outlined {
    font-size: 40px;
}

.pe-circular-text .circular-text-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 999999;
    cursor: pointer
}

.pe-circular-text .circular-text-icon span {
    font-size: 40px;
    /*    transform: rotate(90deg)*/
}

.pe-circular-text.has-bg::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 105%;
    height: 105%;
    border-radius: 50%;
    z-index: -1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.pe-circular-text.blur-bg::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 105%;
    height: 105%;
    background: transparent;
    border-radius: 50%;
    z-index: -1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    backdrop-filter: blur(10px) grayscale(0.3);
    -webkit-backdrop-filter: blur(10px) grayscale(0.3);
}


/** Pe-theme Circle Text End
  ------------------------------ */
/** Pe Table
  ------------------------------ */
.pe--table {
    display: block;
    width: 100%
}

.pe--table--wrapper {
    display: flex;
    flex-direction: column;
}

.pe--table--wrapper .pe--table--row {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 10px 0;
    position: relative;
}

.pe--table--row--image {
    position: absolute;
    top: 0;
    left: 0;
    width: 250px;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    transition: opacity .2s ease;
    transform-origin: top left;
}

.pe--table--wrapper .pe--table--row:hover .pe--table--row--image{
opacity: 1;
}

.pe--table--wrapper a.pe--table--row {
    cursor: pointer
}

.pe--table.table__hover .pe--table--row::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% + 1em);
    height: 00%;
    transition: all .4s ease-in-out;
    background: var(--mainColor);
    z-index: -1;
}

.pe--table.table__hover .pe--table--row:hover::before {
    height: 100%;
}

.pe--table.table__hover .pe--table--row:hover span {
    color: var(--mainBackground)
}

.pe--table--wrapper .pe--table--row > span {
    width: 100%;
    color: var(--secondaryColor);
    transition: color .4s ease
}

.pe--table--wrapper .pe--table--row > span:last-of-type {
    text-align: right;
    color: var(--mainColor);
    width: 30%
}

.pe--table--wrapper .pe--table--row::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--mainColor);
    opacity: .1;
}

.pe--table--wrapper .pe--table--row > span:first-child {
    font-size: 1.2rem;
    color: var(--mainColor)
}

.pe--table--row.table--title--row span, .pe--table--row.table--title--row span:first-child {
    font-size: 0.8em;
    color: var(--mainColor);
    text-transform: uppercase;
}

.pe--table--row.table--title--row{
   pointer-events: none
}

.pe--table--row.table--title--row::after {
    opacity: .5
}


@media only screen and (max-width: 550px) { 
    .pe--table--wrapper .pe--table--row > span {
        width: 50%;
        padding: 5px 0;
    }
    
    .pe--table--wrapper .pe--table--row {
        flex-wrap: wrap;
    }
    
    .pe--table--wrapper .pe--table--row > span:last-of-type, .pe--table--wrapper .pe--table--row > span:nth-child(even) {
        width: 50%;
        text-align: right;
    }

}

/** Pe Infinite Tabs
  ------------------------------ */
.pe-infinite-tabs {
    display: block;
    float: left;
    width: 100%
}

.pe-infinite-tabs .tab-title-wrap {
    white-space: nowrap;
    list-style: none;
    padding: 0;
    position: relative
}

.pe-infinite-tabs .tab-title {
    display: inline-block;
    margin-right: 150px;
    position: relative;
    overflow: hidden;
    padding-bottom: 0;
    opacity: 0.05;
    -webkit-transition: opacity .4s ease-out;
    -o-transition: opacity .4s ease-out;
    transition: opacity .4s ease-out;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    line-height: 1.2
}

.pe-infinite-tabs .tab-title.active {
    opacity: 1
}

.pe-infinite-tabs .tab-contents-wrap {
    position: relative;
    width: 100%;
    padding-top: 100px;
}

.pe-infinite-tabs .tab-contents-wrap::before {
    position: absolute;
    content: '';
    width: 100%;
    left: 0;
    height: 1px;
    background: var(--mainColor);
    opacity: .1;
    top: 25px;
}

.light .pe-infinite-tabs .tab-contents-wrap::before {
    background: var(--mainColor);
}

.pe-infinite-tabs .tab-content {
    opacity: 0;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
}

.pe-infinite-tabs .tab-content.active {
    opacity: 1;
    display: block
}

/** Layout Switcher
  ------------------------------ */
.pe-layout-switcher {
    display: block;
    cursor: pointer
}

.pe-layout-switcher .pl--switch {
    width: 40px;
    height: 20px;
    border: 1px solid var(--mainColor);
    border-radius: 50px;
    position: relative;
}

.pe-layout-switcher .pl--switch .pl--follower {
    width: 15px;
    height: 15px;
    display: block;
    position: absolute;
    top: 50%;
    left: 2px;
    background: var(--mainColor);
    border-radius: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: left .5s ease-in-out;
    -o-transition: left .5s ease-in-out;
    transition: left .5s ease-in-out
}

.layout--switched .pe-layout-switcher .pl--switch .pl--follower {
    left: 20px
}

/** Marquee
  ------------------------------ */
.pe-marquee svg path {
    fill: var(--mainColor);
}


.pe-marquee {
    white-space: nowrap;
    display: block;
    will-change: transform;

}

.pe-marquee .md-title:before {
    display: none !important
}

.pe-marquee .md-title {
    margin-top: 0;
    display: inline-block;
}

.pe-marquee i {
    font-size: 0.7em;
    vertical-align: middle;
    margin: 0;
    padding: 0 70px;
}

.pe-marquee .marquee-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: left;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pe-marquee .marquee-wrap>div>* {
    display: inline-block
}

.pe-marquee .marquee-wrap>* {
    margin-bottom: 0
}

.pe-marquee .marquee-wrap .seperator {
    line-height: 1.5em;
    vertical-align: text-bottom;
    height: 100%;
    margin: 0 1em
}

.pe-marquee .marquee-wrap .seperator svg {
    width: 100%
}

.pe-marquee .marquee-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.pe-marquee .seperator {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.pe-marquee .seperator img {
    width: 100%
}


/** Single Image
  ------------------------------ */

.elementor-widget-pesingleimage {
    width: 100%
}

.single-image {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0;
}

.single-image a {
    display: block !important;
}

.single-image img {
    width: 100%;
    display: block;
}

/* Zoomed Image */
.single-image.zoomed--image.zoom--horizontal {
    height: 100vh;
    max-height: 100vh;
    position: relative;
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 100px;
}

.single-image.zoomed--image .single--image--wrapper {
    height: 500px;
}

.single-image.zoomed--image>div {
    display: inline-block;
    width: 33.333333333%;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
    ;
}

.single-image.zoomed--image img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    -o-object-position: center;
    object-position: center
}

.single-image.zoomed--image .zoomed {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 999
}

@media only screen and (max-width: 550px) { 

    .single-image.zoomed--image>div.zoomed--before, .single-image.zoomed--image>div.zoomed--after {
        display: none;
    }
    
    .single-image.zoomed--image .zoomed {
        width: 80%;
    }

}


/* ## Text Animations
=================================================*/

.text-wrapper {
    overflow-wrap: anywhere;
    --color: var(--mainColor);
    color: var(--color);
}

*[data-anim-general="true"],
*[data-animate="true"] {
    visibility: hidden;
}

*[data-anim-general="true"].anim_start,
*[data-animate="true"].anim_start {
    visibility: visible;
}

/*.text-h2 {margin: 0}*/

.has-anim-text {
    -webkit-font-kerning: none;
    font-kerning: none;
    -webkit-text-rendering: optimizeSpeed;
    text-rendering: optimizeSpeed;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 0;
}


.text-wrapper span.dynamic {
    display: inline-block;
    height: 1em;
    padding-right: 0.1em;
    overflow: visible;
}

.text-wrapper span.dynamic .hidden {
    opacity: 0;
}

.text-wrapper span.dynamic,
.tt {
    height: 1.1em;
}

.text-wrapper span.dynamic {
    overflow: hidden;
    padding-bottom: 0.09em;
    margin-bottom: -0.09em;
    height: auto;
}


span.sec-texts {
    position: absolute;
    text-align: left
}

#site-navigation.fullscreen_menu .has-anim-text {
    opacity: 1;
}

.has-anim-text.anim_start {
    opacity: 1
}

.anim_char,
.anim_word,
.anim_line {
    overflow: hidden;
    vertical-align: top;
    will-change: transform;
    display: inline-block;
    position: relative;
}

.text-wrapper .no-margin .anim_line {
    margin: 0;
    padding: 0
}

.anim_word {
    white-space: nowrap;

}

.anim_char span,
.anim_word span,
.anim_line span {
    display: inline-block;
    will-change: transform;
}


.fade .anim_char,
.fade .anim_word,
.fade .anim_line {
    overflow: visible
}

.mask-wrap {
    display: block;
    position: relative
}

.mask-wrap .clone {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.charsScaleUp .anim_char span {
    -webkit-transform-origin: bottom center;
    -ms-transform-origin: bottom center;
    transform-origin: bottom center
}

.charsScaleDown .anim_char span {
    -webkit-transform-origin: top center;
    -ms-transform-origin: top center;
    transform-origin: top center
}

.charsRotateIn .anim_char span {
    -webkit-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top
}

*[data-animation="linesMask"] .anim_line span.clone {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    z-index: 0;
    white-space: nowrap;
    opacity: .2;
}

*[data-animation="linesMask"]  .anim_line span {
    width: 0%;
    overflow: hidden;
    white-space: nowrap
}

.has-anim-text.slideLeft,
.has-anim-text.slideRight,
.has-anim-text.slideLeft .anim_line,
.has-anim-text.slideRight .anim_line {
    white-space: nowrap;
    overflow: visible;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.slideLeft .anim_line,
.slideRight .anim_line {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.charsFadeOn .anim_char {
    will-change: opacity
}

h1.has-anim-text .anim_char,
.text-h1.has-anim-text .anim_char {
    overflow: hidden;
    padding-right: 0.05em;
    margin-right: -0.05em;
}

span.pe-dynamic-words {
    display: inline-block;
    height: 1.6em;
    overflow: hidden;
    vertical-align: bottom;
    white-space: nowrap;
    color: var(--color);
}

span.pe-dynamic-words>span {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

span.pe-dynamic-words>span>span {
    display: inline-block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.has-anim-text span,
.has-anim-text a {
    display: inline-block;
}

/*
span.pe-dynamic-words > span > span:not(:first-child) {
    display: none;
}
*/


/* ## Image Animations
=================================================*/

.elementor-widget-container.anim--parent {
    -webkit-transition: none;
    -o-transition: none;
    transition: none
}

.single-image[data-animation=block]::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: var(--blWidth);
    height: var(--blHeight);
    background: var(--secondaryBackground);
}

.single-image[data-animation=block] {
    --blWidth: 100%;
    --blHeight: 100%;
}

.single-image[data-animation-direction=down]::after {
    top: unset;
    bottom: 0;
}


.single-image[data-animation-direction=right]::after {
    left: unset;
    right: 0;
}


/*--------------------------------------------------
# Page Build Elements
---------------------------------------------------*/
/** Clients
  ------------------------------ */
.pe--clients {
    display: block;
    width: 100%;
    float: left;
    overflow: hidden
}

/* Clients Grid */
.pe--clients.pe--clients--grid .pe--clients--wrapper {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
    --columns: 3;
    --gap: 20px;
    grid-gap: var(--gap);
    grid-auto-rows: 300px;
}

.pe--clients .pe--clients--wrapper .pe-client {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    position: relative;
    display: block;
}

.pe--clients.has-bg .pe--clients--wrapper .pe-client {
    background-color: var(--secondaryBackground);

}

span.client-caption {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-100%);
    -ms-transform: translateX(-50%) translateY(-100%);
    transform: translateX(-50%) translateY(-100%);
    opacity: 0;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.pe--clients.show-captions .pe--clients--wrapper .pe-client:hover span.client-caption {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(-150%);
    -ms-transform: translateX(-50%) translateY(-150%);
    transform: translateX(-50%) translateY(-150%);
}

.pe--clients .pe--clients--wrapper .pe-client>* {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.pe--clients.has-bg.has-hover .pe-client:hover {
    background: var(--mainColor);
}

.pe--clients.has-bg.has-hover .pe-client {
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

.pe--clients.has-bg.has-hover .pe-client span.client-caption {
    color: var(--secondaryBackground)
}

.layout--switched .pe--clients.has-bg.has-hover.hover-switch-logos .pe-client:hover .secondary-img,
.pe--clients.has-bg.has-hover.hover-switch-logos .pe-client:hover .main-img {
    display: none
}

.layout--switched .pe--clients.has-bg.has-hover.hover-switch-logos .pe-client:hover .main-img,
.pe--clients.has-bg.has-hover.hover-switch-logos .pe-client:hover .secondary-img {
    display: block
}

/* Clients Carousel */

.pe--clients.pe--clients--carousel .pe--clients--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 20px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    will-change: transform
}

.pe--clients.pe--clients--carousel .pe--clients--wrapper>div {
    height: 300px;
    width: 350px;
}

.pe--clients.pe--clients--carousel {
    overflow: visible;
}

/*Bulge Effect */
.pe--bulge {
    height: 100%;
    /*    aspect-ratio: 9/9;*/
    margin: 0 auto;
}

.card__content {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1
}

.card__canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/** Portfolio
  ------------------------------ */

.pe--portfolio {
    display: block;
    position: relative;
    overflow: hidden;
}

.pe--portfolio>div {
    width: 100%;
    float: left;
    margin-bottom: 25px;
}

.pe--portfolio>div.portfolio--controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(100px, 1fr) 30px minmax(100px, 1fr);
    grid-template-columns: repeat(2, minmax(100px, 1fr));
    grid-auto-rows: 70vh;
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
    row-gap: 100px;
}

.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper .portfolio--project {
    display: block;
    margin-bottom: 100px;
    height: 100%;
    width: 100%;
}

.pe--portfolio>div.portfolio--projects--wrapper .portfolio--project.hidden {
    display: none
}

.pe--portfolio.portfolio--grid .project--image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.project--image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}


.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper .portfolio--project .project-image div img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}


.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper .portfolio--project .project--image {
    overflow: hidden;
    border-radius: 20px;
    width: 100%;
    height: 100%;
}

.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper .portfolio--project .project--details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 10px;
    margin-top: 15px;
    font-size: 22px;
}

.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper .portfolio--project article a,
.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper .portfolio--project article {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: inline-block
}

.pe--portfolio.portfolio--grid>div.portfolio--projects--wrapper .portfolio--project article a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.pe--portfolio.portfolio--grid .project--meta {
    display: none;
}

.pe--portfolio.portfolio--grid .project--tc {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}


.pe--portfolio.portfolio--grid .project--icon {
    display: none
}

/* List */
.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .portfolio--project article a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .portfolio--project {
    width: 100%;
    padding: 30px 0;
    position: relative;
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--image {
    width: 20%;
    height: 220px;
    border-radius: 15px;
    overflow: hidden;
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 65%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--details>div {
    width: 50%;
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--details>div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.pe--portfolio.portfolio--list .project--title {
    font-size: 35px;
    letter-spacing: -0.5px;
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--details>div.project--meta {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    color: var(--secondaryColor);
}

.pe--portfolio.portfolio--list .project--meta--bottom {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.pe--portfolio.portfolio--list .project--meta--bottom>div:first-child::after {
    content: "-";
}

.pe--portfolio.portfolio--list .project--cat {
    font-size: 20px;
    color: var(--secondaryColor);
}

.pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .portfolio--project::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--mainColor);
    opacity: .2;
}

.pe--portfolio.portfolio--list .project--icon {
    margin-top: auto;
    font-size: 30px;
}

/* List */

.portfolio--filters {
    display: block;
    position: relative;
}

ul.filter--cat--list {
    position: absolute;
    top: calc(3rem + 1em);
    left: 0;
    background: var(--secondaryBackground);
    list-style: none;
    padding: 1em;
    border-radius: 50px;
    z-index: 0;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    opacity: 0;
    -webkit-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    transform: translateY(-50px);
    -webkit-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
    pointer-events: none;
}

.portfolio--filters.filt--active ul.filter--cat--list {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
    pointer-events: all
}

ul.filter--cat--list li {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 50px;
    border: 0.5px solid var(--mainColor);
    margin: 10px;
    font-size: 16px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    white-space: nowrap;
}

.pe--portfolio.show--counts ul.filter--cat--list li::after {
    content: attr(data-length);
    margin-left: 5px;
}


ul.filter--cat--list li.filter--cat.active {
    color: var(--secondaryBackground);
    background: var(--mainColor);
}

.filter--active {
    z-index: 10;
    position: relative;
    display: inline-block;
    padding: 1em 4em 1em 2em;
    background: var(--secondaryBackground);
    border-radius: 50px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer
}

.filter--active.filtered {
    background: var(--mainColor);
    color: var(--secondaryBackground);
}

.pe--portfolio.show--counts .filter--active::after {
    content: attr(data-length);
    margin-left: 10px;
}

.filter--active::before {
    content: "arrow_downward";
    display: block;
    position: absolute;
    right: 1em;
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    -webkit-transition: -webkit-transform .5s ease-in-out;
    transition: -webkit-transform .5s ease-in-out;
    -o-transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out
}

.portfolio--filters.filt--active .filter--active::before {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.pe--switcher {
    display: inline-block;
    background: var(--secondaryBackground);
    border-radius: 50px;
    position: relative;
}

.ps--switch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pe--switcher span {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    -webkit-transition: color .4s ease;
    -o-transition: color .4s ease;
    transition: color .4s ease
}

span.ps--follower {
    position: absolute;
    left: 5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: calc(50% - 10px);
    height: calc(100% - 10px);
    background: var(--mainColor);
    z-index: 0;
    border-radius: 50px;
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out
}

.ps--switch span:not(:first-child) {
    position: relative;
    z-index: 5;
    padding: 1em 2em 1em calc(2em + 5px);
}

.ps--switch span:last-child {
    padding: 1em calc(2em + 5px) 1em 2em;
}

.ps--switch span.active {
    color: var(--secondaryBackground)
}

.pe--portfolio.portfolio--list span.ps--follower {
    left: 50%;
}

@media only screen and (max-width: 570px) {
    .filter--active {
        padding: 0.5em 2.5em 0.5em 1em;
    }

    .ps--switch span:not(:first-child) {
        padding: 0.5em 1em 0.5em calc(1em + 5px);
    }

    .ps--switch span:last-child {
        padding: 0.5em calc(1em + 5px) 0.5em 1em;
    }

    .portfolio--filters.filt--active ul.filter--cat--list {
        max-width: 95vw;
        border-radius: 15px;
        grid-template-columns: repeat(2, 1fr);
    }

    .pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .portfolio--project article a {
        flex-direction: column;
    }

    .pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--details {
        width: 100%;
        flex-direction: column;
    }

    .pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--details>div {
        width: 100%;
    }

    .pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--image {
        width: 100%;
        margin-bottom: 1em;
    }

    .pe--portfolio.portfolio--list>div.portfolio--projects--wrapper .project--details>div.project--tc {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1em;
    }

    .pe--portfolio.portfolio--list .project--icon {
        position: absolute;
        bottom: 0.5em;
        right: 0;
    }

    .pe--portfolio.portfolio--list .project--meta--bottom {
        margin-top: 1em;
    }

}

/** Accordion
  ------------------------------ */

.elementor-widget-peaccordion .elementor-widget-container {
    overflow: hidden;
}

.pe--accordion {
    display: block;
    float: left;
    width: 100%;
    height: auto;
}

.pe--accordion--wrapper {
    width: 100%;
    display: block;
    float: left
}

.pe-accordion-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    --fontSize: 1.333rem
}

.pe--accordion.ac--underlined .pe-accordion-item::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--mainColor);
    opacity: .2;
}

.pe-accordion-item-content {
    height: 0;
    overflow: hidden;
    display: block;
    float: left;
    width: 100%;
    color: var(--secondaryColor);
}

.accordion--active .pe-accordion-item-content {
    height: auto;
}

.pe-accordion-item-content p {
    margin-bottom: 2.5em;
    margin-top: 0;
}

.pe-accordion-item-title>* {
    display: inline-block;
    margin: 0;
    font-size: var(--fontSize);
}

.pe-accordion-item-title {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: left;
    width: 100%;
    padding: 1.5em 0;
    font-size: var(--fontSize);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pe-accordion-item:first-child .pe-accordion-item-title {
    padding-top: 0;
}


.pe-accordion-item-title>span.accordion-toggle {
    width: 1em;
    height: 1em;
    position: relative;
    margin-left: auto;
    margin-right: 0.5em;
}

.pe--accordion.toggle--bg .pe-accordion-item-title>span.accordion-toggle::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: -1;
    border-radius: 50%;
    width: 150%;
    height: 150%;
    background: var(--secondaryBackground);
    -webkit-transition: background .4s ease;
    -o-transition: background .4s ease;
    transition: background .4s ease
}

.pe--accordion.toggle--bg .pe-accordion-item.accordion--active .pe-accordion-item-title>span.accordion-toggle::after {
    background: var(--mainColor)
}

.pe--accordion.toggle--bg .pe-accordion-item.accordion--active .pe-accordion-item-title>span.accordion-toggle {
    color: var(--mainBackground)
}

.pe-accordion-item-title>span.accordion-toggle>span.ac--togle {
    font-size: 1em;
    height: 1em;
    width: 1em;
    display: inline-block;
}

.pe-accordion-item-title>span.accordion-toggle>span.ac--togle i {
    vertical-align: top;
}

.pe-accordion-item.accordion--active .pe-accordion-item-title>span.accordion-toggle>span.ac-toggle-open,
.pe-accordion-item:not(.accordion--active) .pe-accordion-item-title>span.accordion-toggle>span.ac-toggle-close {
    display: none;
}

.pe--accordion.ac--ordered span.ac-order {
    margin-right: calc(3 * var(--fontSize));
    color: var(--secondaryColor);
    font-size: calc(var(--fontSize) * 0.85);
    line-height: calc(var(--fontSize) * 0.85);
    width: calc(var(--fontSize) * 0.85);
}

.pe--accordion.ac--ordered .pe-accordion-item-content p {
    padding-left: calc(4 * var(--fontSize));
}

span.accordion-toggle.toggle--plus>span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: -webkit-transform .65s ease;
    transition: -webkit-transform .65s ease;
    -o-transition: transform .65s ease;
    transition: transform .65s ease;
    transition: transform .65s ease, -webkit-transform .65s ease
}

span.accordion-toggle.toggle--plus>span:first-child {
    width: 70%;
    height: 2px;
    background: var(--mainColor);
}

span.accordion-toggle.toggle--plus>span:last-child {
    background: var(--mainColor);
    width: 2px;
    height: 70%;
}

.pe--accordion.toggle--bg .pe-accordion-item.accordion--active span.accordion-toggle.toggle--plus>span {
    background: var(--mainBackground)
}

.pe-accordion-item.accordion--active span.accordion-toggle.toggle--plus>span:last-child {
    -webkit-transform: translate(-50%, -50%) rotate(-270deg);
    -ms-transform: translate(-50%, -50%) rotate(-270deg);
    transform: translate(-50%, -50%) rotate(-270deg);
}

span.accordion-toggle.toggle--dot span {
    border-radius: 50%;
    background: var(--mainColor);
    width: 50%;
    height: 50%;
    opacity: .3;
    -webkit-transition: all .65s ease;
    -o-transition: all .65s ease;
    transition: all .65s ease;
    display: inline-block;
    vertical-align: super;
}

.pe-accordion-item.accordion--active span.accordion-toggle.toggle--dot span {
    opacity: 1;
}

.pe--accordion.toggle--bg .pe-accordion-item.accordion--active span.accordion-toggle.toggle--dot span {
    background: var(--mainBackground)
}

span.accordion-toggle.toggle--dot {
    text-align: center;
}

.pe-accordion-item.tde__parent .pe-accordion-item-title>span.accordion-toggle {
    -webkit-transform: translatex(1.5em);
    -ms-transform: translatex(1.5em);
    transform: translatex(1.5em);
    -webkit-transition: -webkit-transform .75s ease-in-out;
    transition: -webkit-transform .75s ease-in-out;
    -o-transition: transform .75s ease-in-out;
    transition: transform .75s ease-in-out;
    transition: transform .75s ease-in-out, -webkit-transform .75s ease-in-out;
}

.pe-accordion-item.tde__parent.tde__enter .pe-accordion-item-title>span.accordion-toggle {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

.pe--accordion.ac--underlined .pe-accordion-item.tde__parent::after {
    width: 0%;
    -webkit-transition: width .75s cubic-bezier(0, 0, 0, 0.98);
    -o-transition: width .75s cubic-bezier(0, 0, 0, 0.98);
    transition: width .75s cubic-bezier(0, 0, 0, 0.98);
}

.pe--accordion.ac--underlined .pe-accordion-item.tde__parent.tde__enter::after {
    width: 100%;
}

@media only screen and (max-width: 570px) {

    .pe--accordion.ac--ordered span.ac-order {
        margin-right: calc(2 * var(--fontSize));
    }

    .pe-accordion-item-title>span.accordion-toggle {
        margin-right: 0;
        width: 20px;
        height: 20px;
    }

    .pe--accordion.ac--ordered .pe-accordion-item-content p {
        padding-left: 0;
    }



}

/** Testimonials
  ------------------------------ */

.elementor-widget-petestimonials {
    padding-left: var(--container-default-padding-inline-start);
    padding-right: var(--container-default-padding-inline-start);
}

.elementor-widget-petestimonials .elementor-widget-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    overflow: visible;
    display: block;
    float: left;
}

.pe--testimonials {
    display: block;
    float: left;
    width: 100%;
}

.pe--testimonials--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 50px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.pe--testimonials.pt--carousel .pe--testimonials--wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.pe-testimonial {
    background: var(--secondaryBackground);
    border-radius: 25px;
    padding: 2em 2em 3em 2em;
    width: 30vw;
    display: block;
    -webkit-box-shadow: 0 0 15px -3px rgba(0, 0, 0, .1);
    box-shadow: 0 0 15px -3px rgba(0, 0, 0, .1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3em;
}

.pt-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pt-avatar {
    width: 75px;
    height: 75px;
    overflow: hidden;
    border-radius: 50%;
}

.pt-avatar>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.pt-det {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-left: 1em;
}


span.pt-title {
    color: var(--secondaryColor);
}

.pt-content>p {
    margin: 0;
}



/** Icons
  ------------------------------ */
.pe--icon {
    display: inline-block;
    position: relative;
    line-height: 1;
    font-size: 2rem;
    vertical-align: middle;
    overflow: hidden;
    color: var(--mainColor);
}

.pe--icon path {
    fill: var(--mainColor) !important;
}

.pe--icon.has-hover {
    cursor: pointer;
}

.pe--icon.has-bg {
    border-radius: 50%;
    background: var(--secondaryBackground);
}

.pe--icon--wrap {
    display: block;
    width: 100%;
    height: 100%;

    -webkit-transition: color .4s ease;

    -o-transition: color .4s ease;

    transition: color .4s ease
}

.pe--icon i {
    line-height: 1;
    float: left;
}

.pe--icon.has-hover:hover .pe--icon--wrap {
    color: var(--mainBackground)
}

.pe--icon.has-bg .pe--icon--wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 1em;
    height: 1em;
    z-index: 2;
}

.pe--icon.has-bg .pe--icon--bg {
    width: 3em;
    height: 3em;
    display: inline-block;
    background: var(--secondaryBackground);
    border-radius: 50%;
    float: left;
}

.pe--icon.has-bg.has-hover:hover .pe--icon--bg::after {
    width: 100%;
    height: 100%
}

.pe--icon--bg::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: var(--mainColor);
    width: 0%;
    height: 0%;
    border-radius: 50%;
    z-index: 0;
    -webkit-transition: all .4s cubic-bezier(0.86, 0, 0.1, 1);
    -o-transition: all .4s cubic-bezier(0.86, 0, 0.1, 1);
    transition: all .4s cubic-bezier(0.86, 0, 0.1, 1);
}

.pe--icon>a {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
}

/** Team Member
  ------------------------------ */

.pe--team--member {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
}

.team--member--wrapper {
    width: 100%;
}

.team--member--image {
    width: 100%;
}

.team--member--image>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.team--member--cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 1rem;
    margin-top: 15px;
    font-size: 22px
}

.team--member--socials {
    position: absolute;
    top: 25px;
    left: 30px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
}

.team--member--socials ul {
    list-style: none;
}

.team--member--socials ul li a {
    color: var(--mainColor);
    position: relative;
    -webkit-transition: color .3s ease;
    -o-transition: color .3s ease;
    transition: color .3s ease;
}

.team--member--socials ul li {
    margin-bottom: 2em;
}

.team--member--socials ul li a::after,
.team--member--socials ul li a::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 3em;
    height: 3em;
    background: var(--secondaryBackground);
    border-radius: 50%;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
}

.team--member--socials ul li a i {
    position: relative;
    z-index: 3;
}

.team--member--socials ul li a::before {
    width: 0;
    height: 0;
    background: var(--mainColor);
    z-index: 2;
}

.team--member--socials ul li a:hover::before {
    width: 3em;
    height: 3em;
}

.team--member--socials ul li a:hover {
    color: var(--secondaryBackground);
}

.pe--team--member:hover .team--member--socials {
    opacity: 1;
    visibility: visible;
}

.team--member--summ {
    position: absolute;
    bottom: 4em;
    padding: 2em;
    background: var(--secondaryBackground);
    left: 1em;
    width: 65%;
    font-size: 20px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
}

.team--member--toggle {
    position: absolute;
    bottom: 4em;
    right: 10px;
    background: var(--secondaryBackground);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    cursor: pointer;
}

.team--member--toggle>span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: var(--mainColor);
}

.team--member--toggle>span:first-child {
    width: 1px;
    height: 50%;
}

.team--member--toggle>span:last-child {
    width: 50%;
    height: 1px;
}

.team--member--toggle:hover {
    background: var(--mainColor);
}

.team--member--toggle:hover span {
    background: var(--secondaryBackground);
}

.pe--team--member.active .team--member--toggle {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pe--team--member.active .team--member--summ {
    opacity: 1;
    visibility: visible;
}

@media only screen and (max-width: 570px) {
    .team--member--summ {
        padding: 1em;
        width: calc(100% - 2em);
        font-size: 18px;
    }

    .team--member--toggle {
        z-index: 4;
    }
}


/** Videos
  ------------------------------ */

.elementor-widget-pevideo .elementor-widget-container {
    overflow: hidden
}


.pe-video.vid--interracted.vid--paused .plyr__video-wrapper {
    background: #000 !important;
}

.pe-video {
    --plyr-color-main: var(--mainBackground);
    --plyr-color-secondary: var(--mainColor);
    --plyr-range-thumb-background: var(--plyr-color-main);

}

.showcase-project .pe-video .plyr__video-wrapper {
    background: none !important;
}

.pe-video iframe {
    opacity: 0;
}

.pe-video:not([data-atuplay=true]) iframe,
.pe-video .plyr--playing iframe {
    opacity: 1;
}


.pe--large--play.icons {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.pe--large--play.icons::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background: var(--plyr-color-main);
    border-radius: 50%;
    z-index: -1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: background .3s ease;
    -o-transition: background .3s ease;
    transition: background .3s ease
}

.pe--large--play.icons>div {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 50%;
    height: 50%;
}

.pe--large--play.icons svg {
    fill: var(--plyr-color-secondary);
}

.pe--large--play.icons:hover::after {
    background: var(--plyr-color-secondary);
}

.pe--large--play.icons:hover svg {
    fill: var(--plyr-color-main);
}


.pe--large--play.icons:hover .pe--play img {
    -webkit-filter: invert(1);
    filter: invert(1);
}

.pe--large--play.icons>div.pe--pause {
    opacity: 0;
}

.pe-video.autoplay--running .plyr--video .plyr__controls {
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
}

.pe--large--play {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

.pe-video.vid--playing .pe--large--play {
    opacity: 0;
}

.pe-video.lightbox-open {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 999999;
}


.pe-video.lightbox-open .plyr {
    height: 85%;
}

.plyr--full-ui input[type=range]:focus {
    color: var(--plyr-color-main)
}

.pe-video.lightbox-open::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    z-index: -1;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.pe-video.lightbox-open.lightbox--started::after {
    opacity: .8
}

.pe--lightbox--close {
    color: #fff;
    position: absolute;
    top: 1vw;
    right: 1vw;
    opacity: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    width: 50px;
    height: 50px;
    z-index: 1;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.pe--lightbox--close.x-icon {
    background: var(--mainBackground);
    border-radius: 50%;
}

.pe--lightbox--close.x-icon:hover {
    opacity: .4
}

.pl--close--icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 50%;
    height: 50%;
}

.lightbox-open .pe--lightbox--close {
    opacity: 1;
}

.pe--lightbox--hold {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
}

.lb-hold .pe--lightbox--hold {
    position: static
}

.plyr--stopped .plyr__controls {
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
}

.pe--large--play.texts {
    color: var(--plyr-color-main);
    cursor: pointer;
}


.lightbox-open .plyr__video-wrapper.plyr__video-embed {
    width: 100% !important;
    height: 100% !important;
}

@media only screen and (max-width: 570px) {
    .pe--large--play {
        transform: translate(-50% , -50%);
    }

    .pe-video.lightbox-open .plyr__video-embed__container {
        transform: translateY(-10%) !important;
    }

    .pe-video.lightbox-open .plyr {
        width: 100vw;
        height: 100vh;
    }
    
}

/* Rounded Skin */

.pe-video.skin--rounded {
    --plyr-video-control-color: var(--plyr-color-secondary);
    --plyr-control-spacing: 20px;
    --plyr-font-size-small: 18px;
}

.pe-video.skin--rounded .plyr {
    border-radius: 25px;
    overflow: hidden;
}

.pe-video.skin--rounded .plyr__control {
    background: var(--plyr-color-main);
    border-radius: 50%;
    padding: 1em;
    border: 0.5px solid var(--plyr-color-secondary);
}

.pe-video.skin--rounded .plyr--video .plyr__control:hover {
    opacity: 1;
    color: var(--plyr-color-main);
    background: var(--plyr-video-control-color)
}


.pe-video.skin--rounded .plyr__controls .plyr__controls__item.plyr__time {
    line-height: 1;
    background: var(--plyr-color-main);
    border-radius: 50px;
}

.pe-video.skin--rounded .plyr__controls__item.plyr__time--current.plyr__time {
    padding: 1em 0em 1em 4em;
    margin-left: -3em
}

.pe-video.skin--rounded .plyr__controls__item.plyr__time--current.plyr__time::after {
    content: '/';
    margin-left: 0.5em
}

.pe-video.skin--rounded .plyr__controls__item.plyr__time--duration.plyr__time {
    padding: 1em 1em 1em 1.8em !important;
    margin-left: -1.4em;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    z-index: -1
}

.pe-video.skin--rounded .plyr__time+.plyr__time:before {
    display: none
}

.pe-video.skin--rounded .plyr--video .plyr__controls {
    background: none
}

.pe-video.skin--rounded .plyr__controls .plyr__controls__item:first-child {
    margin-right: 0
}

.pe-video.skin--rounded .plyr__controls__item.plyr__time--duration.plyr__time {
    margin-right: auto
}

/* Minimal Skin */

.pe-video.skin--minimal {

    --plyr-control-spacing: 20px;
    --plyr-font-size-small: 16px;
    --plyr-range-track-height: 2px;
}

.pe-video.skin--minimal .plyr--video .plyr__control:focus-visible,
.pe-video.skin--minimal .plyr--video .plyr__control:hover,
.pe-video.skin--minimal .plyr--video .plyr__control[aria-expanded=true] {
    opacity: 1;
    background: none
}

.pe-video.skin--minimal .plyr--video .plyr__controls {
    background: none;
    color: var(--plyr-color-main);
}

.pe-video.skin--minimal .plyr--video .plyr__control:hover {
    color: var(--plyr-color-secondary);
}

.pe-video.skin--minimal .pe--lightbox--close.x-icon {
    background: none;
    -webkit-filter: invert(1);
    filter: invert(1);
}



/** Slider
  ------------------------------ */
.pe-slider {
    width: 100%;
    height: 60vh;
}


.slider-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 16px
}

.pe-slider.nav_button .nav .prev {
    opacity: 0.4
}

.pe-slide {
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    left: unset;
    bottom: 0;
    border-radius: 20px;
    overflow: hidden
}


.pe-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.pe-slide a {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 9999;
    color: none
}

.slide-image {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    border-radius: 20px
}

.parallax .slide-image {
    left: unset;
    right: 0
}

.slide-image source {
    border-radius: 20px
}

.vertical .slide-image {
    top: 0;
}

.vertical.parallax .slide-image {
    top: unset;
    bottom: 0
}

.parallax .item-wrap {
    position: absolute
}

.item-wrap {
    width: 100%;
    height: 100%;
    left: unset;
    right: 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-size: cover;
    background-repeat: no-repeat;
    padding-left: 24px
}

.pe-slider.vertical .item-wrap {
    bottom: 0;
}

.pe-slider.nav_button .pe-slide {
    width: 0;
    height: 100%;
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease
}

.pe-slider.nav_button .pe-slide:first-child {
    width: 100%
}

.pe-slider.vertical.nav_button .pe-slide {
    width: 100%;
    height: 0;
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease
}

.pe-slider.vertical.nav_button .pe-slide:first-child {
    height: 100%
}

.pe-slider .pe-slide .slide-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100%
}

.pe-slider .pe-slide .slide-meta .slide-title {
    padding-left: 24px;
    padding-top: 24px;
}

.pe-slider .pe-slide .slide-meta .slide-category {
    padding-left: 24px
}

.pe-slider .pe-slide .slide-meta .slide-content {
    margin-top: auto;
    padding: 24px
}

.pe-slider .pe-slide-nav-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.pe-slider .navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.pe-slider .pe-fraction {
    margin-left: auto
}


.elementor {
    margin: 0 !important
}

/** Single Post
  ------------------------------ */

.pe--single--post.psp--elementor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
    gap: 1.5em;
    position: relative;
}

.pe--single--post.psp--elementor .post-meta {
    position: absolute;
    top: 1em;
    left: 1em;
    right: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.pe--single--post.psp--elementor .post-meta>div {
    padding: 0.5em 1em;
    background: var(--secondaryBackground);
    border-radius: 50px;
}

.pe--single--post.psp--elementor .thmb {
    height: 600px;
    overflow: hidden;
    border-radius: 25px;
}

.pe--single--post.psp--elementor .thmb div,
.pe--single--post.psp--elementor .thmb img,
.pe--single--post.psp--elementor .thmb a {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.pe--single--post.psp--elementor .post-details {
    padding: 0 1em;
}

/** Single Project
  ------------------------------ */

.pe--single--project.psp--elementor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
    gap: 1em;
    position: relative;
}

.pe--single--project.psp--elementor .post-meta {
    position: absolute;
    top: 1em;
    left: 1em;
    right: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.pe--single--project.psp--elementor .post-meta>div {
    padding: 0.5em 1em;
    background: var(--secondaryBackground);
    border-radius: 50px;
}

.pe--single--project.psp--elementor .thmb {
    overflow: hidden;
    border-radius: 25px;
}

.pe--single--project.psp--elementor .thmb div,
.pe--single--project.psp--elementor .thmb img,
.pe--single--project.psp--elementor .thmb a {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    -webkit-transition: -webkit-transform .5s ease;
    transition: -webkit-transform .5s ease;
    -o-transition: transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
}

.pe--single--project.psp--elementor:hover .thmb img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.pe--single--project.psp--elementor .post-details {
    padding: 0 1em;
}

/** Blog Posts
  ------------------------------ */

.pe--posts--grid {
    display: block;
    width: 100%;
    float: left;
    --columns: 3;
    --gap: 50px;
}

.pe--posts--grid>div:not(.grid--posts--wrapper) {
    display: block;
}

.grid--posts--wrapper {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
    gap: var(--gap);
}

.pe--posts--grid ul.filters-list {
    list-style: none;
    margin: 0;
    display: inline-block;
    background: var(--secondaryBackground);
    border-radius: 50px;
    --activeLeft: 0px;
    --activeWidth: 92.01px;
    position: relative;
}

.pe--posts--grid .grid--filters {
    margin-bottom: 2em;
}

.pe--posts--grid ul.filters-list li {
    display: inline-block;
    padding: 1em 2em;
    position: relative;
    z-index: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}

.pe--posts--grid ul.filters-list::after {
    content: "";
    display: block;
    position: absolute;
    left: var(--activeLeft);
    background: var(--mainColor);
    width: var(--activeWidth);
    height: 100%;
    top: 0;
    z-index: 0;
    border-radius: 50px;

}

.pe--posts--grid ul.filters-list li.active {
    color: var(--secondaryBackground);
}

.pe--posts--grid .pe-load-more {
    text-align: center;
    margin-top: 3em;
    text-decoration: underline;
    -webkit-transition: opacity .2s ease;
    -o-transition: opacity .2s ease;
    transition: opacity .2s ease
}

.pe--posts--grid .pe-load-more.plm--loading {
    opacity: 0.5;
    pointer-events: none
}

.pe--posts--grid .pe-load-more.plm--disabled {
    display: none
}

@media only screen and (max-width: 570px) {
    .pe--single--post.psp--elementor .post-meta {
        font-size: 16px;
    }
}


/** Buttons
  ------------------------------ */
.pe--button {
    display: inline-block;
    width: auto;
    height: auto;
    font-size: 20px;
}


.pe--button--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pe--button--wrapper a {
    display: inline-block;
    position: relative;
    overflow: hidden;
    z-index: 5;
}

.pe--button--wrapper a>span {
    position: relative;
    z-index: 5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: -webkit-transform .8s cubic-bezier(.19, 1, .22, 1);
    transition: -webkit-transform .8s cubic-bezier(.19, 1, .22, 1);
    -o-transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1);
    transition: transform .8s cubic-bezier(.19, 1, .22, 1), -webkit-transform .8s cubic-bezier(.19, 1, .22, 1);
    will-change: transform;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pe--button--wrapper a>span span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pe--button.pb--underlined .pe--button--wrapper a::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0.06em;
    left: 0;
    width: 100%;
    height: 0.05em;
    background: var(--mainColor);
}

.pe--button.pb--underlined .pe--button--wrapper a:hover::after {
    -webkit-animation-name: toggleLine;
    animation-name: toggleLine;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-animation-timing-function: cubic-bezier(.19, 1, .22, 1);
    animation-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.pe--button.pb--underlined.pb--background .pe--button--wrapper a:hover::after {
    background: var(--secondaryBackground)
}

.pe--button.pb--bordered,
.pe--button.pb--background {
    --padTop: 0.5em;
    --padLeft: 1.5em;
}

.pe--button.pb--underlined.pb--bordered .pe--button--wrapper a::after,
.pe--button.pb--underlined.pb--background .pe--button--wrapper a::after {
    width: calc(100% - (var(--padLeft) * 2));
    left: calc(var(--padLeft));
    bottom: calc(var(--padTop) + 0.06em)
}

.pe--button.pb--bordered .pe--button--wrapper a,
.pe--button.pb--background .pe--button--wrapper a {
    padding: var(--padTop) var(--padLeft);
    border-radius: 50px;
}

.pe--button.pb--background .pe--button--wrapper a {
    background: var(--secondaryBackground);
}

.pe--button.pb--bordered .pe--button--wrapper a {
    border: 0.05em solid var(--mainColor)
}

.pe--button.pb--bordered .pe--button--wrapper a::before,
.pe--button.pb--background .pe--button--wrapper a::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: var(--mainColor);
    z-index: 0;
    -webkit-transition: all .6s cubic-bezier(.19, 1, .22, 1);
    -o-transition: all .6s cubic-bezier(.19, 1, .22, 1);
    transition: all .6s cubic-bezier(.19, 1, .22, 1);
    border-radius: 50%;
}

.pe--button.pb--bordered .pe--button--wrapper a:hover::before,
.pe--button.pb--background .pe--button--wrapper a:hover::before {
    height: 100%;
    border-radius: 0;
}

.pe--button.pb--bordered .pe--button--wrapper a,
.pe--button.pb--background .pe--button--wrapper a {
    -webkit-transition: color .4s ease;
    -o-transition: color .4s ease;
    transition: color .4s ease;
}

.pe--button.pb--marquee .pe--button--wrapper a {
    -webkit-transition: color .1s ease;
    -o-transition: color .1s ease;
    transition: color .1s ease;
}

.pe--button.pb--bordered .pe--button--wrapper a:hover,
.pe--button.pb--background .pe--button--wrapper a:hover {
    color: var(--secondaryBackground)
}

.pe--button.pb--bordered .pe--button--wrapper a span.pb__hover,
.pe--button.pb--background .pe--button--wrapper a span.pb__hover {
    position: absolute;
    left: 50%;
    top: calc(100% + var(--padTop));
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap;
    border-radius: 50%;
}

.pe--button.pb--bordered .pe--button--wrapper a:hover>span,
.pe--button.pb--background .pe--button--wrapper a:hover>span {
    -webkit-transform: translateY(calc(-100% - var(--padTop)));
    -ms-transform: translateY(calc(-100% - var(--padTop)));
    transform: translateY(calc(-100% - var(--padTop)));
}


@-webkit-keyframes toggleLine {
    0% {
        -webkit-clip-path: inset(0% 0% 0% 0%);
        clip-path: inset(0% 0% 0% 0%);
    }

    50% {
        -webkit-clip-path: inset(0% 0% 0% 100%);
        clip-path: inset(0% 0% 0% 100%);
    }

    51% {
        -webkit-clip-path: inset(0% 100% 0% 0%);
        clip-path: inset(0% 100% 0% 0%);
    }

    100% {
        -webkit-clip-path: inset(0% 0% 0% 0%);
        clip-path: inset(0% 0% 0% 0%);
    }

}

@keyframes toggleLine {
    0% {
        -webkit-clip-path: inset(0% 0% 0% 0%);
        clip-path: inset(0% 0% 0% 0%);
    }

    50% {
        -webkit-clip-path: inset(0% 0% 0% 100%);
        clip-path: inset(0% 0% 0% 100%);
    }

    51% {
        -webkit-clip-path: inset(0% 100% 0% 0%);
        clip-path: inset(0% 100% 0% 0%);
    }

    100% {
        -webkit-clip-path: inset(0% 0% 0% 0%);
        clip-path: inset(0% 0% 0% 0%);
    }

}

.pb--marquee.no-button {
    width: 100%;
    height: 1em;
    position: relative;
    background: var(--secondaryBackground);
    padding: 1em;
    border-radius: 25px;
}

.pb--marquee.no-button i.material-icons.md-fiber_manual_record {
    margin-left: 15px;
}

.pe--button.pb--marquee .pe--button--wrapper a>span {
    visibility: hidden;
}


.pb--marquee--wrap {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    overflow: hidden;
    pointer-events: none;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 99999;
}

.pb--marquee__inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    --duration: 5s;
    --offset: 1rem;
    --move-initial: calc(-25% + var(--offset));
    --move-final: calc(-50% + var(--offset));
    -webkit-transform: translate3d(var(--move-initial), 0, 0);
    transform: translate3d(var(--move-initial), 0, 0);
    -webkit-animation: pbMarquee var(--duration) linear infinite;
    animation: pbMarquee var(--duration) linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
    opacity: 0;
}

.pb--marquee--wrap.left-to-right .pb--marquee__inner {
    --move-initial: calc(-50% + var(--offset));
    --move-final: calc(-25% + var(--offset));
}

.pb--marquee--wrap span {
    text-align: center;
    white-space: nowrap;
    padding: 0 0.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@-webkit-keyframes pbMarquee {
    0% {
        -webkit-transform: translate3d(var(--move-initial), 0, 0);
        transform: translate3d(var(--move-initial), 0, 0);
    }

    100% {
        -webkit-transform: translate3d(var(--move-final), 0, 0);
        transform: translate3d(var(--move-final), 0, 0);
    }
}

@keyframes pbMarquee {
    0% {
        -webkit-transform: translate3d(var(--move-initial), 0, 0);
        transform: translate3d(var(--move-initial), 0, 0);
    }

    100% {
        -webkit-transform: translate3d(var(--move-final), 0, 0);
        transform: translate3d(var(--move-final), 0, 0);
    }
}

.pb--marquee__inner {
    -webkit-animation-play-state: running;
    animation-play-state: running;
    opacity: 1;
    -webkit-transition-duration: 0.6s;
    -o-transition-duration: 0.6s;
    transition-duration: 0.6s;
}

.pe--button i {
    font-size: 1em;
    line-height: 1;
    vertical-align: sub;
    width: 1em;
    padding-left: 0.4em;
}

.pe--button.icon__left i {
    padding-left: 0;
    padding-right: 1.4em;
}

.pe--button.pb--small {
    font-size: 1rem;
}

.pe--button.pb--medium {
    font-size: 22px;
}

.pe--button.pb--large {
    font-size: 28px;
}

.pe--button.pb--underlined.pb--icon.icon__right a {
    padding-right: 0.4em;
}

/** Project Widgets
  ------------------------------ */
/***** Project Media
  ------------------------------ */
.project-featured-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.project-featured-image {
    height: 90vh;
}

.project-featured-image div {
    height: 100%;
}

.project--image--gallery {
    display: block;
    height: 100%;
    height: 80vh;
}

.project--image--gallery--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    height: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 50px;
}

.project--gallery--image {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    height: 100%;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    border-radius: 40px;
    overflow: hidden;
}

.project--gallery--image img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}


/** Carousel
  ------------------------------ */
.pe--carousel {
    display: block;
    width: 100%;
    height: auto;
}

.carousel--wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    --itemsWidth: 25vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    will-change: transform;
}

.carousel--item {
    width: var(--itemsWidth);
}

/** Carousel/Slider Controls
  ------------------------------ */
.pe--sc--controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: var(--mainColor);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.pe--sc--controls .sc--progressbar {
    display: block;
    width: 100%;
    height: 1px;
    margin: 1em 0;
    position: relative;
}

.pe--sc--controls span.sc--full {
    width: 100%;
    height: 100%;
    display: block;
    background: var(--mainColor);
    opacity: .3;
}

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

.pe--sc--controls span.sc--prog {
    width: 0%;
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--mainColor);
}

.sc--fraction i {
    display: inline-block;
    vertical-align: middle;
}

.sc--navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5em;
    font-size: 25px;
    cursor: pointer;
    width: auto;
}

.sc--navigation>span {
    display: inline-block;
}

.sc--navigation>span i {
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1;
}

.portfolio--pagination {
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    margin-top: 25px;
}

.portfolio--pagination.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.portfolio--pagination.loading {
    opacity: 0.5;

}

.portfolio--pagination.loading a {
    cursor: wait
}

/** Forms
  ------------------------------ */
.pe--form {
    display: block;
}

.pe--form input[type="text"],
.pe--form input[type="email"],
.pe--form input[type="url"],
.pe--form input[type="password"],
.pe--form input[type="search"],
.pe--form input[type="number"],
.pe--form input[type="tel"],
.pe--form input[type="range"],
.pe--form input[type="date"],
.pe--form input[type="month"],
.pe--form input[type="week"],
.pe--form input[type="time"],
.pe--form input[type="datetime"],
.pe--form input[type="datetime-local"],
.pe--form input[type="color"],
.pe--form textarea {
    border: 0.5px solid var(--mainColor);
    border-radius: 50px;
    color: var(--mainColor);
    background: var(--secondarBackground)
}

.pe--form form.wpcf7-form.init {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 2%;
}

.pe--form .form--field {
    display: inline-block;
    width: 49%;
}

.pe--form .form--field br {
    display: none
}

.pe--form .form--field p {
    margin: 1em 0px
}


.pe--form .form--field.field-100 {
    width: -webkit-fill-available;
}

@media only screen and (max-width: 570px) {
    .pe--form .form--field {
        width: 100%;
    }
    

}


/*====================================
Infinite Cards
======================================*/

.leksa-infinity-cards {
    height: 100vh;
    overflow: hidden;
}


.leksa-infinity-cards .lic-wrapper {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden
}

.leksa-infinity-cards .lic-switcher {
    bottom: 25px;
    display: inline-block;
    left: 22.5px;
    background-color: #d9d9d9;
    padding: 8px;
    border-radius: 40px;
    z-index: 99999999;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: right;
    position: absolute
}

.leksa-infinity-cards .lic-switcher .switch-item {
    padding: 20px;
    position: relative;
    color: #191919;
    -webkit-transition: .4s ease;
    -o-transition: .4s ease;
    transition: .4s ease;
    cursor: pointer;
    position: relative;
    z-index: 99999
}

.leksa-infinity-cards .lic-switcher .switch-item.active {
    color: #d9d9d9;
}

.leksa-infinity-cards .lic-switcher .switch-bg {
    position: absolute;
    content: "";
    background: #191919;
    width: 100%;
    height: 80%;
    border-radius: 40px;
    z-index: -1;
    z-index: 998;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.leksa-infinity-cards .showcase-project {
    width: var(--projectWidth);
    height: var(--projectHeight);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    margin-bottom: 50px;
    will-change: transform;
    overflow: hidden;
    margin-left: 50px;
}

.leksa-infinity-cards .is_animating .showcase-project {
    pointer-events: none;
}

.leksa-infinity-cards .is_animating .showcase-project a {
    display: block;
    height: 100%;
    overflow: hidden
}

.leksa-infinity-cards .showcase-project .project-image {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    border-radius: 24px;
}

.leksa-infinity-cards .showcase-project .project-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.leksa-infinity-cards .showcase-project .project-image .pe-video {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.leksa-infinity-cards .showcase-project:nth-child(even) {
    right: 0
}

.leksa-infinity-cards .showcase-project .project-title {
    color: var(--mainBackground);
    background: var(--mainColor);
    display: inline-block;
    padding: 0.5em 1.5em;
    border-radius: 30px;
    position: absolute;
    margin-top: 30px;
    margin-left: 30px;
    white-space: nowrap
}

.leksa-infinity-cards.v-align-top .showcase-project .project-title {
    top: 0;
}

.leksa-infinity-cards.v-align-bottom .showcase-project .project-title {
    bottom: 0
}

.leksa-infinity-cards.h-align-left .showcase-project .project-title {
    left: 0
}

.leksa-infinity-cards.h-align-right .showcase-project .project-title {
    right: 0
}

@media only screen and (max-width: 570px) {
    .leksa-infinity-cards .lic-switcher {
        display: none
    }

    .leksa-infinity-cards .showcase-project {
        margin: 20px;
        width: 90vw !important;
    }

    

}


/*====================================
 // Infinite Cards
======================================*/
/*====================================
Showcase Rotate
======================================*/


.leksa-showcase-rotate {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden
}

.leksa-showcase-rotate .lsc-wrapper {
    position: relative;
    width: 300vw;
    height: 300%;
    transform: scale(0.33) translateX(-100%) translateY(-100%);
    transform-origin: center center;
}

.leksa-showcase-rotate .showcase-project {
    width: 25%;
    height: 40vh;
    position: absolute;
    transform-origin: center left;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
    left: 62.5%;
}

.leksa-showcase-rotate .showcase-project .project-wrap {
    height: 100%;
}

.leksa-showcase-rotate .showcase-project .project-image {
    float: right;
    width: 100%;
    height: 100%
}

.leksa-showcase-rotate .lsc-controls {
    position: fixed;
    bottom: 0;
    left: 0;
}

.leksa-showcase-rotate .lsc-switcher {
    bottom: 25px;
    display: inline-block;
    left: 22.5px;
    background-color: #d9d9d9;
    padding: 8px;
    border-radius: 40px;
    z-index: 99999999;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: right;
    position: absolute
}

.leksa-showcase-rotate .lsc-switcher .switch-item {
    padding: 20px;
    position: relative;
    color: #191919;
    -webkit-transition: .4s ease;
    -o-transition: .4s ease;
    transition: .4s ease;
    cursor: pointer;
    position: relative;
    z-index: 99999
}

.leksa-showcase-rotate .lsc-switcher .switch-item.active {
    color: #d9d9d9;
}

.leksa-showcase-rotate .lsc-switcher .switch-bg {
    position: absolute;
    content: "";
    background: #191919;
    width: 100%;
    height: 80%;
    border-radius: 40px;
    z-index: -1;
    z-index: 998;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}


.leksa-showcase-rotate .project-wrap {
    width: 40%;
    float: right;
    position: relative;
    height: 100%;
    transition: all .4s ease
}

.leksa-showcase-rotate.style-explore .project-wrap {
    padding: 10px;
    border-radius: 25px;
    background: var(--secondaryBackground);
}



.leksa-showcase-rotate .project-wrap .project-image {
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.leksa-showcase-rotate .project-wrap .project-image img,
.leksa-showcase-rotate .project-wrap .project-image .pe-video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}




.leksa-showcase-rotate .project-meta {
    position: absolute;
    top: 0;
    z-index: -1;
    height: 100%;
    overflow: hidden;
    background: var(--secondaryBackground);
    border-radius: 25px;
    padding: 20px;
    width: 100%;
    left: 0;
}

.leksa-showcase-rotate .project-meta .meta-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    min-height: 100%;
    margin-left: 50px;
    padding-left: 1em;
}

.leksa-showcase-rotate .project-meta .meta-inner .sr--met--top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    line-height: 1em;
}

.leksa-showcase-rotate .project-meta .meta-inner .sr--met--bott {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
}

.leksa-showcase-rotate .project-meta .meta-inner .project-excerpt {
    max-width: 90%;
    color: var(--secondaryColor)
}

.leksa-showcase-rotate .project-meta .meta-inner .project-button {
    font-size: 1.33333rem;
    line-height: 1em;
}

.leksa-showcase-rotate .mobile_link {
    pointer-events: none
}

.leksa-showcase-rotate .mobile_link a {
    pointer-events: all;
    z-index: 99999
}

@media only screen and (max-width: 550px) {
    .leksa-showcase-rotate {
        margin-top: 64px;
        overflow: visible
    }

    .leksa-showcase-rotate .lsc-wrapper {
        transform: scale(1) translateX(-79%) translateY(-33.333%);
        width: 450vw
    }


    .leksa-showcase-rotate .showcase-project {
        width: 50%;
        left: 50%;
        transform: translateX(0) translateY(-50%)
    }

    .leksa-showcase-rotate .mobile_link {
        pointer-events: all!important;
        width: 100%;
        height: 100%;
        display: block
    }

    .leksa-showcase-rotate .project-excerpt,
    .leksa-showcase-rotate .project-category {
        display: none
    }

    .leksa-showcase-rotate .project-wrap {
        position: relative;
        overflow: visible;
        -webkit-transform: translate(0, 0) !important;
        -ms-transform: translate(0, 0) !important;
        transform: translate(0, 0) !important;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 90vw;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .leksa-showcase-rotate .project-meta {
        -webkit-transform: translateX(0) translateY(-0%) !important;
        -ms-transform: translateX(0) translateY(-0%) !important;
        transform: translateX(0) translateY(-0%) !important;
        position: relative;
        width: 100%;
        height: 100px;
        padding: 0 !important
    }

    .leksa-showcase-rotate .project-meta .project-title {
        font-size: 1.3333rem !important
    }

    .leksa-showcase-rotate .project-meta .meta-inner {
        padding: 10px;
        margin-left: 0px;
        flex-direction: row;
        justify-content: space-between;
        max-height: 1em;
        align-items: center;
    }

    .leksa-showcase-rotate .lsc-controls {
        display: none
    }

}

/*====================================
 // Showcase Rotate
======================================*/
/*====================================
    Showcase Slideshow
======================================*/

.leksa-showcase-slideshow {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative
}


.leksa-showcase-slideshow .lss-projects-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
    -webkit-transition: all .6s ease;
    -o-transition: all .6s ease;
    transition: all .6s ease;
}

.leksa-showcase-slideshow.vertical .lss-projects-wrapper .swiper-wrapper {
    width: 100% !important
}

.leksa-showcase-slideshow .project-image .pe-video {
    height: 100%;
}


.leksa-showcase-slideshow .showcase-project.swiper-slide {
    display: block;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto;
    opacity: 0.02;
    -webkit-transition: opacity .4s ease;
    -o-transition: opacity .4s ease;
    transition: opacity .4s ease;
    padding: 0 75px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}


.leksa-showcase-slideshow .lss-projects-wrapper .project-title {
    pointer-events: all;
    display: block;
    width: 100%;
    margin-bottom: 0;
    white-space: nowrap;
    line-height: 1.2;
    font-size: 10vw;
    opacity: 1;
    margin-bottom: 50px;
    letter-spacing: -0.05em;
}

.leksa-showcase-slideshow .showcase-project .project-image {
    display: none;
}

.leksa-showcase-slideshow img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.leksa-showcase-slideshow .project-meta {
    display: inline-block;
    width: auto;
    pointer-events: all;
    margin: 0 auto;
    overflow: hidden;
}

.leksa-showcase-slideshow .showcase-project a {
    display: block;
    overflow: hidden;
    line-height: 1em
}

.leksa-showcase-slideshow .project-meta>div {
    display: inline-block;
    opacity: .7;
    font-size: 17px;
    line-height: 25px;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: -webkit-transform .4s ease-out .2s;
    transition: -webkit-transform .4s ease-out .2s;
    -o-transition: transform .4s ease-out .2s;
    transition: transform .4s ease-out .2s;
    transition: transform .4s ease-out .2s, -webkit-transform .4s ease-out .2s;
    opacity: 1;
}

.swiper-slide-active .project-meta>div {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%)
}


.leksa-showcase-slideshow .project-meta>div>* {
    display: inline-block;
}



.leksa-showcase-slideshow .project-meta div:nth-child(3)::after {
    display: none !important;
}

.leksa-showcase-slideshow .project-meta .project-category {
    display: none
}


.leksa-showcase-slideshow .project-meta>div::after {
    content: "";
    display: inline-block;
    margin: 0 15px;
    font-size: 40px;
    vertical-align: middle;
}


.leksa-showcase-slideshow .showcase-project.active,
.leksa-showcase-slideshow .showcase-project.swiper-slide.swiper-slide-active {
    opacity: 1
}



.leksa-showcase-slideshow .fc-images-slider.swiper-container {
    position: relative;
    top: 00%;
    left: 0%;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    -webkit-transition: -webkit-transform .6s;
    transition: -webkit-transform .6s;
    -o-transition: transform .6s;
    transition: transform .6s;
    transition: transform .6s, -webkit-transform .6s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.1, 1);
    -o-transition-timing-function: cubic-bezier(0.7, 0, 0.1, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.1, 1);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center
}


.leksa-showcase-slideshow .lss-projects-wrapper .swiper-wrapper {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: auto;
}


.leksa-showcase-slideshow .lss-fraction {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    -webkit-transform: rotate(90deg) translateX(15%);
    -ms-transform: rotate(90deg) translateX(15%);
    transform: rotate(90deg) translateX(15%);
}

.leksa-showcase-slideshow span.lss-current::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 1.5px;
    background: var(--mainColor);
    margin: 0 25px;
    vertical-align: middle;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
}



.leksa-showcase-slideshow .slide-bgimg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
}



.leksa-showcase-slideshow .fs-parallax-wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.leksa-showcase-slideshow .showcase-footer .fss-categories {
    position: relative
}

.leksa-showcase-slideshow .showcase-footer .project-category {
    position: absolute;
    bottom: 0;
    right: 0;
    white-space: nowrap;
    font-size: 22px;
}

.leksa-showcase-slideshow .showcase-footer .project-category {
    opacity: 0;
}

.leksa-showcase-slideshow .showcase-footer .project-category.active {
    opacity: 1
}

.leksa-showcase-slideshow .showcase-footer {
    position: absolute;
    bottom: 25px;
    padding: 0 22.5px;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    height: auto !important;
}

.leksa-showcase-slideshow .slides-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px
}

.leksa-showcase-slideshow .slides-nav .text-p {
    cursor: pointer
}

@media only screen and (max-width: 550px) {
    .leksa-showcase-slideshow .project-title h2 {
        font-size: 60px;
    }

    .leksa-showcase-slideshow .showcase-project.swiper-slide {
        padding: 0;
    }

    .leksa-showcase-slideshow .project-meta>div {
        font-size: 14px;
    }

    .leksa-showcase-slideshow .project-meta {
        padding-left: 2em;
    }

    .leksa-showcase-slideshow .lss-fraction {
        bottom: 25px;
        left: 0;
        transform: rotate(90deg) translateX(-50%);
        top: unset;
    }
    
    .leksa-showcase-slideshow .lss-projects-wrapper .project-title {
        font-size: 50px;
    }

}




/*====================================
 // Showcase Slideshow
======================================*/
/*====================================
    Showcase Wall
======================================*/

.leksa-showcase-wall {
    display: block;
    float: left;
    width: 100%;
    height: auto;
    min-height: 50vh;
}

.leksa-showcase-wall .project-image {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
    width: 25vw;
    z-index: -1;
    -webkit-clip-path: inset(0% 100% 00% 0%);
    clip-path: inset(0% 100% 00% 0%);
    -webkit-transition: opacity .2s ease, -webkit-clip-path .4s ease;
    transition: opacity .2s ease, -webkit-clip-path .4s ease;
    -o-transition: clip-path .4s ease, opacity .2s ease;
    transition: clip-path .4s ease, opacity .2s ease;
    transition: clip-path .4s ease, opacity .2s ease, -webkit-clip-path .4s ease;
    pointer-events: none;
    overflow: hidden;
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left;
    border-radius: 32px;
    overflow: hidden
}

.leksa-showcase-wall .showcase-project:nth-child(even) .project-image {
    -webkit-clip-path: inset(0% 0% 0% 100%);
    clip-path: inset(0% 0% 0% 100%)
}

.leksa-showcase-wall .project-image img {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition: -webkit-transform 1s ease-out;
    transition: -webkit-transform 1s ease-out;
    -o-transition: transform 1s ease-out;
    transition: transform 1s ease-out;
    transition: transform 1s ease-out, -webkit-transform 1s ease-out;
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    display: block;
    height: 100%;
}

.loading .leksa-showcase-wall .project-image {
    -webkit-transition: all 0s !important;
    -o-transition: all 0s !important;
    transition: all 0s !important
}

.leksa-showcase-wall .showcase-project:hover {
    z-index: 1
}

.leksa-showcase-wall .showcase-project:hover .project-image {
    -webkit-clip-path: inset(0%);
    clip-path: inset(0%);
    opacity: 1
}

.leksa-showcase-wall .showcase-project:hover .project-image img {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.leksa-showcase-wall.hovered .showcase-project {
    opacity: .2
}

.leksa-showcase-wall.hovered .showcase-project.current {
    opacity: 1
}

.leksa-showcase-wall .project-meta {
    display: none
}

.leksa-showcase-wall .ls-wall-wrapper {
    height: auto;
    position: relative;
}

.leksa-showcase-wall .showcase-project {
    display: inline-block;
    position: relative;
    -webkit-transition: opacity .4s ease;
    -o-transition: opacity .4s ease;
    transition: opacity .4s ease
}

.leksa-showcase-wall .showcase-project .project-title {
    overflow: hidden;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.leksa-showcase-wall .showcase-project .project-title::after {
    position: relative;
    display: inline-block;
    content: '/';
    color: var(--mainColor);
    float: right;
    margin: 0px 16px;
    -ms-flex-line-pack: distribute;
    align-content: space-around;
}

.leksa-showcase-wall .showcase-project:last-child .project-title::after {
    display: none
}

.leksa-showcase-wall .showcase-project .project-category {
    overflow: hidden;
    display: inline-block;
    vertical-align: sub;
    -webkit-transform: translateY(-1em);
    -ms-transform: translateY(-1em);
    transform: translateY(-1em);
    margin-right: 1em
}

.leksa-showcase-wall.switching .showcase-project::before {
    opacity: 0
}

.leksa-showcase-wall .showcase-project a {
    display: inline-block;
    font-size: 1em;
}

.leksa-showcase-wall .leksa-showcase-wall {
    display: block;
    position: relative;
    width: 100%;
    height: 100%
}

@media only screen and (max-width: 500px) {
    .leksa-showcase-wall .project-image {
        width: 75vw
    }

    .leksa-showcase-wall .showcase-project a {
        padding: 0;
        padding-left: 25px;
    }

    .leksa-showcase-wall .showcase-project::before {
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        font-size: 12px;
    }

    .leksa-showcase-wall .showcase-project {
        white-space: nowrap;
    }
    
    .leksa-showcase-wall .showcase-project .project-title::after {
        display: none;
    }

    .leksa-showcase-wall .showcase-project {
        display: block;
    }

}







/*====================================
 // Showcase Wall
======================================*/



/*====================================
    Fullscreen Cards
======================================*/

.leksa-fullscreen-cards {
    height: 100vh;
    overflow: hidden
}

.leksa-fullscreen-cards .fullscreen-cards-wrapper {
    width: 50%;
    height: 55%;
    position: relative;
    margin: 0 auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-perspective: 2000px;
    perspective: 2000px
}

.leksa-fullscreen-cards .showcase-project {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    width: 100%;
    will-change: transform;
    overflow: hidden
}

.leksa-fullscreen-cards .showcase-project a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden
}


.leksa-fullscreen-cards .showcase-project:last-child {
    top: 0 !important
}

.leksa-fullscreen-cards .showcase-project .project-image {
    height: 100%;
    overflow: hidden;
    margin-bottom: 12px;
    border-radius: 30px
}

.leksa-fullscreen-cards .showcase-project .project-image .pe-video {
    border-radius: 30px;
    overflow: hidden
}

.leksa-fullscreen-cards .showcase-project .project-image img,
.leksa-fullscreen-cards .showcase-project .project-image .pe-video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.leksa-fullscreen-cards .showcase-project .project-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 0 1em;
}

.leksa-fullscreen-cards .showcase-project .project-meta .project-title {
    margin-right: auto
}

@media only screen and (max-width: 550px) {
    .leksa-fullscreen-cards .fullscreen-cards-wrapper {
        width: 100%;
    }
}

/*====================================
 // Fullscreen Cards
======================================*/



/*====================================
    Showcase Carousel
======================================*/

.leksa-showcase-carousel {
    height: 100vh;
    overflow: hidden;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.leksa-showcase-carousel .lsc-wrapper {
    height: 100vh;
}


.leksa-showcase-carousel .lsc-image-wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    float: left;
    height: 100%;
}

.leksa-showcase-carousel .lsc-title-wrap {
    position: relative;
    z-index: 999;
    height: 115px;
    overflow: hidden;
    width: 100%;
    float: left;
    text-align: center;
    -webkit-transition: opacity .5s ease;
    -o-transition: opacity .5s ease;
    transition: opacity .5s ease;
    pointer-events: none
}

.leksa-showcase-carousel .titles-wrapper {
    width: 100%;
}

.leksa-showcase-carousel .images-wrapper {
    height: 100%;
    will-change: transform;
    -webkit-transform: translateX(25vw);
    -ms-transform: translateX(25vw);
    transform: translateX(25vw)
}

.leksa-showcase-carousel .lsc-image-wrap .showcase-project {
    float: left;
    height: 60vh;
    position: relative;
    top: 50vh;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 24px;
    -webkit-transition: width 0.5s cubic-bezier(0.72, 0.01, 0.24, 1);
    -o-transition: width 0.5s cubic-bezier(0.72, 0.01, 0.24, 1);
    transition: width 0.5s cubic-bezier(0.72, 0.01, 0.24, 1);
    will-change: transform;
    overflow: hidden
}


.leksa-showcase-carousel.narrow .lsc-image-wrap .showcase-project {
    width: var(--narrowWidth)
}

.leksa-showcase-carousel.wide .lsc-image-wrap .showcase-project {
    width: var(--wideWidth);
}

.leksa-showcase-carousel .lsc-image-wrap .showcase-project .project-image {
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden
}

.leksa-showcase-carousel .lsc-image-wrap .showcase-project .project-image .parallax--wrap {
    transform: scale(1.20);
    will-change: transform
}

.leksa-showcase-carousel .lsc-image-wrap .showcase-project .project-image .pe-video {
    border-radius: 30px;
}

.leksa-showcase-carousel .lsc-image-wrap a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.leksa-showcase-carousel .lsc-image-wrap .showcase-project .project-title {
    opacity: 0;
    -webkit-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    position: relative;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    z-index: -1;
    white-space: nowrap
}

.leksa-showcase-carousel.narrow .lsc-image-wrap .showcase-project:hover .project-title {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.leksa-showcase-carousel.narrow .lsc-title-wrap {
    opacity: 0;
    pointer-events: none
}

.leksa-showcase-carousel .project-image .pe-video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    max-width: unset !important
}

.leksa-showcase-carousel .project-image img {
    width: var(--wideWidth);
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    max-width: unset !important;
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.72, 0.01, 0.24, 1);
    transition: -webkit-transform 0.5s cubic-bezier(0.72, 0.01, 0.24, 1);
    -o-transition: transform 0.5s cubic-bezier(0.72, 0.01, 0.24, 1);
    transition: transform 0.5s cubic-bezier(0.72, 0.01, 0.24, 1);
    transition: transform 0.5s cubic-bezier(0.72, 0.01, 0.24, 1), -webkit-transform 0.5s cubic-bezier(0.72, 0.01, 0.24, 1)
}

.barba--running .leksa-showcase-carousel .project-image img {
    transition: none !important
}

.leksa-showcase-carousel.narrow .project-image img {
    -webkit-transform: translateX(calc((var(--wideWidth) - var(--narrowWidth)) / -2));
    -ms-transform: translateX(calc((var(--wideWidth) - var(--narrowWidth)) / -2));
    transform: translateX(calc((var(--wideWidth) - var(--narrowWidth)) / -2))
}

.leksa-showcase-carousel .project-meta-wrap {
    position: relative;
    margin-bottom: 2em;
}

.leksa-showcase-carousel .project-meta {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease
}

.leksa-showcase-carousel .project-meta .project-category {
    color: var(--secondaryColor)
}

.leksa-showcase-carousel .project-meta.meta-hover {
    opacity: 1
}

.leksa-showcase-carousel .project-meta:first-child {
    display: block;
    position: static;
}

.leksa-showcase-carousel .lsc-progressbar {
    position: relative;
    width: 50%;
}

.leksa-showcase-carousel .lsc-progressbar .progress-line {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 1px;
}

.leksa-showcase-carousel .lsc-progressbar .progress-line.active-line {
    background: var(--mainColor);
    width: 0
}

.leksa-showcase-carousel .lsc-progressbar .progress-line.bg-line {
    background: var(--mainColor);
    opacity: 0.2;
    width: 100%
}


.leksa-showcase-carousel .is_animating {
    pointer-events: none
}

.leksa-showcase-carousel .lsc-switcher {
    display: inline-block;
    background-color: #0d0d0d;
    padding: 8px;
    border-radius: 40px;
    z-index: 99999999;
    overflow: hidden;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    float: right;
    position: relative;

}

.leksa-showcase-carousel .lsc-switcher .switch-item {
    padding: 20px;
    position: relative;
    color: var(--mainColor);
    -webkit-transition: .4s ease;
    -o-transition: .4s ease;
    transition: .4s ease;
    cursor: pointer
}

.leksa-showcase-carousel .lsc-switcher .switch-item.active {
    color: var(--mainBackground);
    z-index: 99999;
    position: relative;
}

.leksa-showcase-carousel .lsc-switcher .switch-bg {
    position: absolute;
    content: "";
    background: var(--mainColor);
    width: 100%;
    height: 100%;
    border-radius: 40px;
    z-index: -1;
    -webkit-transition: all .5s none;
    -o-transition: all .5s none;
    transition: all .5s none;
    z-index: 998;
}

.leksa-showcase-carousel .lsc-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: 100%;
    margin: 0 auto;
    padding: 0 22.5px;
    position: absolute;
    bottom: 25px;
}

.leksa-showcase-carousel .lsc-footer-left {
    width: 100%;
    float: left;
}

.leksa-showcase-carousel .lsc-footer-right {
    width: 100%;
    float: left;
}

.project-meta--inner {
    display: none
}


@media only screen and (max-width: 550px) {

    .project-meta--inner {
        display: flex;
        position: absolute;
        bottom: 0;
        left: 24px;
        width: calc(100% - 48px);
        flex-direction: row;
        justify-content: space-between;
        align-content: flex-end;
        align-items: flex-end;
    }
    
    .leksa-showcase-carousel .lsc-image-wrap .showcase-project .project-meta--inner .project-title.text-h5 {
        transform: none;
        opacity: 1;
        z-index: 7;
        font-size: 1.333rem;
    }

    .project-meta--inner .project-category {
        font-size: 1.333rem;
        color: #858585;
    }

    .leksa-showcase-carousel .lsc-title-wrap {
        width: 100%;
        position: relative;
        top: 0;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        margin-top: 100px;
        opacity: 1 !important;
    }

    .leksa-showcase-carousel .images-wrapper {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    .leksa-showcase-carousel .lsc-image-wrap .showcase-project {
        height: 80vh;
        padding-bottom: 3em;
    }

    .leksa-showcase-carousel .lsc-image-wrap .showcase-project .project-image .parallax--wrap {
        transform: scale(1.20);
        will-change: transform
    }


    .leksa-showcase-carousel .lsc-image-wrap {
        width: 100%;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        height: 100%
    }

    .leksa-showcase-carousel .lsc-footer-right {
        display: none
    }

    .leksa-showcase-carousel .project-image {
        top: 35vh !important
    }

    .leksa-showcase-carousel .lsc-footer-left {
        width: 100% !important
    }

    .leksa-showcase-carousel .lsc-footer-left .lsc-progressbar {
        display: none !important
    }
}



/*====================================
 // Showcase Carousel
======================================*/


/*====================================
    Showcase Table
======================================*/

.showcase-table {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative
}

.showcase-table .showcase-project {
    padding: 16px;
    background: var(--secondaryBackground);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 20vw;
    height: 40vh;
    position: absolute;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 24px;
    top: 100vh;
    left: 50vw;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    margin: 20px
}

.showcase-table .showcase-project .project-image {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 24px;
}

.showcase-table .showcase-project .project-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.showcase-table .showcase-project .project-image .pe-video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 24px;
    overflow: hidden
}

.showcase-table .showcase-project .project-meta {
    margin-top: 20px;
    padding-left: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.showcase-table .showcase-project .project-icon i {
    font-size: 30px;
    padding: 10px;
}

.showcase-table .showcase-project .project-title {
    margin: 0
}



@media only screen and (max-width: 450px) {


    .showcase-table .showcase-project .project-meta {
        margin-top: 5px;
        margin-bottom: 5px;
    }
    
    .showcase-table .showcase-project .project-meta .project-category {
        display: none;
    }

    .showcase-table .showcase-project .project-icon i {
        font-size: 20px;
    }

    /* .showcase-table {
        height: auto
    }

    .showcase-table .showcase-project {
        position: relative;
        width: 100% !important;
        top: 0;
        left: 0;
        height: 50vh;
        margin-right: 0;
        margin-left: 0;
    } */

}

/*====================================
 // Showcase Table
======================================*/


/*====================================
    Fullscreen List
======================================*/







.leksa-fullscreen-list {
    height: 100vh;
    overflow: hidden
}

.leksa-fullscreen-list .lfs-main-wrap {
    width: 66%;
    float: left;
}

.leksa-fullscreen-list .lfs-secondary-wrap {
    width: 34%;
    float: left;
    position: relative;
}

.leksa-fullscreen-list .lfs-secondary-wrap .showcase-project {
    position: absolute;
    right: 0;
    width: 80%
}

.leksa-fullscreen-list .project-title a {
    cursor: pointer;
    opacity: 0.2
}


.leksa-fullscreen-list .project-title a:hover {
    opacity: 1;
    -webkit-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease
}

.leksa-fullscreen-list .showcase-project {
    display: none;
    overflow: hidden
}

.leksa-fullscreen-list .showcase-project .project-image {
    border-radius: 30px;
    overflow: hidden;
}


.leksa-fullscreen-list .showcase-project .project-image img {
    display: block;
}



.leksa-fullscreen-list.equal_height .showcase-project .project-image img,
.leksa-fullscreen-list.equal_height .showcase-project .project-image .pe-video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden
}

.leksa-fullscreen-list .showcase-project .project-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.leksa-fullscreen-list .showcase-project.active {
    display: block
}

@media only screen and (max-width: 570px) {

    .leksa-fullscreen-list .lfs-main-wrap {
        position: absolute;
        top: 0;
    }

    .leksa-fullscreen-list .lfs-secondary-wrap {
        position: absolute;
        top: 0;
        width: 100%
    }

    .leksa-fullscreen-list .project-image {
        width: 100%;
        margin: 0;
        padding: 0;
        height: 50vh !important
    }

    .leksa-fullscreen-list .project-image img,
    .leksa-fullscreen-list .project-image .pe-video {
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    .leksa-fullscreen-list .project-title {
        white-space: nowrap;
        padding: 0.3em 0;
    }

}

/*====================================
 // Fullscreen List
======================================*/