.elementor-451 .elementor-element.elementor-element-32ba0151 > .elementor-container{max-width:1100px;min-height:100vh;}.elementor-451 .elementor-element.elementor-element-32ba0151{padding:0px 0px 100px 0px;}.elementor-451 .elementor-element.elementor-element-41903f40.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-451 .elementor-element.elementor-element-2459e55a{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;}.elementor-451 .elementor-element.elementor-element-38357260{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-451 .elementor-element.elementor-element-7ed11ebf{margin:150px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-451 .elementor-element.elementor-element-7ed11ebf .elementor-heading-title{font-family:"Ivar Text", Sans-serif;font-size:100px;line-height:1em;letter-spacing:-0.02px;color:#FFFFFF;}.elementor-451 .elementor-element.elementor-element-197d56c2{margin:60px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;text-align:center;}.elementor-451 .elementor-element.elementor-element-197d56c2 .elementor-heading-title{font-size:20px;color:#FFFFFF;}.elementor-451 .elementor-element.elementor-element-275628bc{width:auto;max-width:auto;}.elementor-451 .elementor-element.elementor-element-275628bc .elementor-button{font-family:"aktiv-grotesk", Sans-serif;font-weight:normal;}.elementor-451 .elementor-element.elementor-element-3e68daac{width:auto;max-width:auto;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-451 .elementor-element.elementor-element-32ba0151{padding:50px 50px 0px 50px;}.elementor-bc-flex-widget .elementor-451 .elementor-element.elementor-element-41903f40.elementor-column .elementor-widget-wrap{align-items:space-between;}.elementor-451 .elementor-element.elementor-element-41903f40.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:space-between;align-items:space-between;}.elementor-451 .elementor-element.elementor-element-41903f40.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-451 .elementor-element.elementor-element-2459e55a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-451 .elementor-element.elementor-element-38357260{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-451 .elementor-element.elementor-element-7ed11ebf{margin:10% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-451 .elementor-element.elementor-element-7ed11ebf .elementor-heading-title{font-size:7.4vw;}.elementor-451 .elementor-element.elementor-element-197d56c2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5% 0% 5% 0%;}.elementor-451 .elementor-element.elementor-element-275628bc{width:auto;max-width:auto;}}@media(max-width:767px){.elementor-451 .elementor-element.elementor-element-32ba0151 > .elementor-container{min-height:80vh;}.elementor-451 .elementor-element.elementor-element-32ba0151{padding:25px 25px 25px 25px;}.elementor-451 .elementor-element.elementor-element-2459e55a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-451 .elementor-element.elementor-element-7ed11ebf{margin:60px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-451 .elementor-element.elementor-element-7ed11ebf .elementor-heading-title{font-size:50px;}.elementor-451 .elementor-element.elementor-element-197d56c2{margin:6px 0px calc(var(--kit-widget-spacing, 0px) + 36px) 0px;text-align:start;}.elementor-451 .elementor-element.elementor-element-197d56c2 .elementor-heading-title{font-size:20px;line-height:32px;}.elementor-451 .elementor-element.elementor-element-275628bc .elementor-button{font-size:18px;}}/* Start custom CSS *//*
    Classes used:
    .alt - sections with dark backgrounds and white text
    .small - text smaller then body text
    .logo - custom logo size for SVG icon
    quote - special styling for headline with block quotes
    .no-br-on-mobile
    .no-br-on-desktop

    Thank you page:
    .primary - all buttons are only with an outline, unless we use primary
    .underline span - adds custom big underline svg icon
    .bling - adds bling SVG icon on the left
*/

:root {
    /* Colors */
    --bg: #fff;
    --color-main: #010051;
    --color-alt: #46F2B6;
    --text-main: #000000;
    --text-alt: #ffffff;
    --text-alt-sec: #aeaeae;
    /* Sizes */
    --base: 16px;
    /* Other */
    --transition: .45s cubic-bezier(.4, 0, .2, 1);
}
@media screen and (max-width: 767px) {
    :root {
        --base: 15px;
    }
}

::selection {
    background-color: var(--color-alt);
    color: var(--color-main);
}
.alt ::selection {
    background-color: var(--color-alt);
    color: var(--text-alt);
}
footer ::selection {
    background-color: var(--color-main);
    color: var(--text-alt);
}

body,
.elementor-text-editor,
.elementor-text-editor p,
.elementor-icon-box-title,
.elementor-widget-heading.elementor-widget-heading p.elementor-heading-title,
.elementor-widget-heading.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading.elementor-widget-heading h4.elementor-heading-title {
    color: var(--text-main);
    font-family: 'DM Sans', sans-serif;
    font-size: var(--base);
    font-style: normal;
    font-weight: normal;
    line-height: 150%;
    letter-spacing: -0.01em;
}

/***
    Paragraph
*/
.elementor-text-editor p {
    margin-bottom: 1.5em;
}
.alt .elementor-text-editor p {
    margin-bottom: 0;
}

/***
    Links
*/
.elementor-text-editor p a:not(.elementor-button):not(.elementor-cta):not(.elementor-button) {
    color: var(--text-main);
    transition: color var(--transition);
}
.elementor-text-editor p a:not(.elementor-button):not(.elementor-cta):not(.elementor-button)::after {
    content: '';
    position: absolute;
    background-color: var(--color-main);
    height: 1px;
    top: auto;
    bottom: 2px;
    left: 0;
    width: 100%;
    transition: background-color var(--transition),
                width var(--transition);
}


}
.alt .elementor-text-editor p a:not(.elementor-button):not(.elementor-cta):not(.elementor-button)::after {
    background-color: transparent;
}

/***
    Hover
*/
.page .elementor-text-editor li a:not(.elementor-button):not(.elementor-cta):not(.elementor-button):hover,
.page .elementor-text-editor p a:not(.elementor-button):not(.elementor-cta):not(.elementor-button):hover,
.single-post .elementor-location-single li a:not(.elementor-button):not(.elementor-cta):not(.elementor-button):hover,
.single-post .elementor-location-single p a:not(.elementor-button):not(.elementor-cta):not(.elementor-button):hover,
.elementor-text-editor p a:not(.elementor-button):not(.elementor-cta):not(.elementor-button) {
    color: var(--color-main);
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    position: relative;
}
.elementor a:hover::after,
.elementor-text-editor p a:not(.elementor-button):not(.elementor-cta):not(.elementor-button):hover::after {
    background-color: var(--color-main);
}

/***
  Backgrounds
*/
.elementor-top-section {
    background-color: var(--bg);
}
.elementor-top-section.alt {
    background-color: var(--color-main);
}
footer.elementor-top-section {
    background-color: var(--color-alt);
}



.elementor-widget-heading.elementor-widget-heading h1.elementor-heading-title {
    font-size: 20px;
}
.elementor-widget-heading.elementor-widget-heading h1.elementor-heading-title strong {
    font-weight: 500;
}
.elementor-widget-heading h2.elementor-heading-title {
    font-size: 48px;
    line-height: 117%;
}
.elementor-widget-heading h3.elementor-heading-title {
    font-size: 32px;
    line-height: 125%;
    margin-bottom: 13px;;
}
.elementor-widget-heading.elementor-widget-heading h4.elementor-heading-title {
    font-size: 20px;
    line-height: 1.6em;
}
.elementor-widget-heading h5.elementor-heading-title {
    font-size: 18px;
    line-height: 133%;
}
@media screen and (max-width: 767px) {
    .elementor-widget-heading h2.elementor-heading-title {
        font-size: 30px;
        line-height: 113%;
        letter-spacing: -0.02em;
    }
    .elementor-widget-heading h3.elementor-heading-title {
        font-size: 30px;
        line-height: 113%;
        letter-spacing: -0.02em;
        margin-bottom: 6px;
    }
    .elementor-widget-heading.elementor-widget-heading h4.elementor-heading-title {
        font-size: 18px;
        line-height: 139%;
    }
    .elementor-widget-heading h5.elementor-heading-title {
        font-size: var(--base);
    }
    .small .elementor-text-editor,
    .small .elementor-text-editor p {
        font-size: 8px;
    }
}

/***
    Logo
*/
.logo.elementor-widget-icon.elementor-view-default .elementor-icon svg {
    color: var(--color-alt);
    fill: var(--color-alt);
    height: 26.08px;
    transition: var(--transition) color, var(--transition) fill;
    width: 163px;
}
.logo.elementor-widget-icon.elementor-view-default .elementor-icon svg:hover {
    color: var(--text-alt);
    fill: var(--text-alt);
}
.elementor-widget-icon.elementor-view-framed .elementor-icon,
.elementor-widget-icon.elementor-view-default .elementor-icon {
    border: none;
    color: var(--color-alt);
}

/***
    Buttons
*/
.elementor-widget-button a.elementor-button,
.elementor-cta--skin-cover .elementor-cta__button.elementor-button,
.elementor-widget-price-table .elementor-price-table__button {
    background-color: transparent;
    border: var(--color-alt) 1px solid;
    color: var(--color-alt);
    border-radius: 3px;
    font-family: 'DM Sans', sans-serif;
    font-size: var(--base);
    font-weight: 500;
    line-height: 1.5em;
    min-height: 40px;
    min-width: 190px;
    padding: 7px 36px;
    text-transform: capitalize;
    transition: background-color var(--transition),
        color var(--transition),
        border-color var(--transition);
}
.elementor-widget-button a.elementor-button:hover,
.elementor-widget-price-table .elementor-price-table__button:hover {
    background-color: var(--color-alt);
    color: var(--color-main);
}

.primary.elementor-widget-button a.elementor-button {
    background-color: var(--color-alt);
    color: var(--color-main);
    min-width: 320px;
    line-height: 48px;
    font-size: 20px;
}
.primary.elementor-widget-button a.elementor-button:hover {
    background-color: transparent;
    color: var(--color-alt);
}
@media (max-width: 767px) {
    .primary.elementor-widget-button a.elementor-button {
        line-height: 32px;
        min-width: 310px;
    }
}

/***
    Hero
*/
@media (max-width: 1024px) {
    .hero .elementor-col-50:last-child .elementor-widget-wrap {
        flex-direction: row-reverse;
    }
}

/***
    Helper Classes
*/
@media (min-width: 768px) {
    .hide-on-desktop,
    .no-br-on-desktop br {
        display: none;
    }
}
@media (max-width: 767px) {
    .hide-on-mobile,
    .no-br-on-mobile br {
        display: none;
    }
    .capitalize-on-mobile {
      text-transform: uppercase;
    }
}

/***
    Custom list numbering for pixel-perfect spacing
    https://css-tricks.com/custom-list-number-styling/
*/
.elementor-text-editor ol {
    padding: 16px 0 0 30px;
    list-style: none;
    counter-reset: custom-counter;
}
.elementor-text-editor ol li {
    counter-increment: custom-counter;
    margin-bottom: 20px;
}
.elementor-text-editor ol li::before {
    content: counter(custom-counter) ". ";
    color: var(--text-main);
    position: absolute;
    left: 0px;
}

/***
    Thank you page
*/
@media (min-width: 1140px) {
    .underline span {
        background-image: url('https://elementor.com/resources/wp-content/uploads/2020/08/bottom-line.svg');
        background-repeat: no-repeat;
        background-position: 0 100%;
        padding-bottom: 20px;
        display: inline-block;
    }
    .bling h1 {
        display: inline-block;
        position: relative;
    }
    .bling h1::before {
        content: "";
        background-image: url('https://elementor.com/resources/wp-content/uploads/2020/08/left-bling.svg');
        width: 61px;
        height: 61px;
        position: absolute;
        top: -41px;
        left: -41px;
    }
}

/***
    Small screen padding
*/
@media (min-width: 1025px) and (max-width: 1365px) {
    article,
    footer,
    nav {
        padding-right: 4vw!important;
        padding-left: 4vw!important;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Ivar Text';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://elementor.com/resources/wp-content/uploads/2021/02/IvarText-Bold.eot');
	src: url('https://elementor.com/resources/wp-content/uploads/2021/02/IvarText-Bold.eot?#iefix') format('embedded-opentype'),
		url('https://elementor.com/resources/wp-content/uploads/2021/02/IvarText-Bold.woff2') format('woff2'),
		url('https://elementor.com/resources/wp-content/uploads/2021/02/IvarText-Bold.woff') format('woff'),
		url('https://elementor.com/resources/wp-content/uploads/2021/02/IvarText-Bold.ttf') format('truetype'),
		url('https://elementor.com/resources/wp-content/uploads/2021/02/IvarText-Bold.svg#IvarText') format('svg');
}
/* End Custom Fonts CSS */