/* typography */

.colored {
    color: var(--sparkycolor1);
}

.intro::after {
    content: " ";
    display: inline-block;
    width: 70px;
    height: 2px;
    margin-bottom: 5px;
    margin-inline-start: 15px;
    background: #ccc;
}

h1 {
    padding-top: 0;
}

h1 .small {
    font-size: 0.75em;
}

h2 {
    padding-bottom: 30px;
}

h3 {
    padding-bottom: 30px;
}

.nopaddingbottom {
    padding-bottom: 0 !important;
}

/* form */

input, input.form-control, textarea, textarea.form-control {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    padding: 10px 20px;
    margin-bottom: 25px;
}

input::placeholder, textarea::placeholder {
    color: #888;
}

button, button.btn, input.button, a.btn, p.readmore a.btn, a.sparky_button {
    background: var(--sparkycolor2);
    border:1px solid var(--sparkycolor2);
    border-radius: 5px;
    color: #fff;
    font-weight: 400;
    line-height: 35px;
    padding: 10px 50px;
    transition: all 0.3s;
}

button:hover, button.btn:hover, button.btn-primary:hover, input.button:hover, a.btn:hover,
button:active, button.btn:active, button.btn-primary:active, input.button:active, a.btn:active,
button:focus, button.btn:focus, button.btn-primary:focus, input.button:focus, a.btn:focus,
p.readmore a.btn:hover, p.readmore a.btn:active, p.readmore a.btn:focus,
a.sparky_button:hover, a.sparky_button:active, a.sparky_button:focus {
    background: #000;
    border:1px solid #000;
    color: #fff !important;
    text-decoration: none;
    transition: all 0.3s;
}

a.sparky_button.small_btn {
    font-size: 16px;
    padding: 3px 20px;
    margin-top: 0;
    margin-bottom: 0;
}

/* logorow */

.sparky_home .logorow {
    position: absolute;
    z-index: 1;
    width: 100%;
}

.sparky_inner .logorow {
    background: #f8f8f8;
}

.sparky_logo_image img {
    max-width: 220px;
}

.logorow nav:not(.opened) ul.menu > li:not(.parent):hover {
    border-radius: 5px;
}

.logorow nav:not(.opened) ul.menu > li.parent:hover {
    border-radius: 5px 5px 0 0;
}

.logorow nav:not(.opened) ul.menu ul {
    border-radius: 0 5px 5px 5px;
}

/* hero_row */

.hero_row > .sparky_page_container > .sparky_cell {
    padding-bottom: 0;
}

.hero_row figure img {
    margin-bottom: 0;
}

/* contentrow */

.sparky_home .sparky_cell.content_sparky {
    padding-top: 0;
}

.sparky_inner .sparky_cell.content_sparky {
    padding-top: 70px;
    padding-bottom: 70px;
}

/* counters */

.counter_number {
    margin-bottom: 0 !important;
    font-family: Montserrat;
    font-weight: 700;
}

/* about_row */

.about_row {
    background-size: 750px 500px;
}

.about_row > .sparky_page_container > .sparky_cell:first-child {
    background-color: rgba(255, 255, 255, 0.6);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    padding: 50px;
}

.about_row::before {
    content: " ";
    display: block;
    width: 75px;
    height: 75px;
    background: url(../images/dots.png);
    background-size: 75px 75px;
    position: absolute;
    margin-top: -20px;
    margin-left: -20px;
}

.about_row a::after {
    content: "\f061";
    font-family: 'Font Awesome 6 Free';
    font-weight: 700;
    padding-inline-start: 15px;
}

/* how_row */

.how_row > .sparky_page_container {
    gap: 30px;
}

.how_row > .sparky_page_container > .sparky_cell {
    border:1px solid #eee;
    border-bottom:7px solid #eee;
    padding-top: 30px;
    padding-bottom: 50px;
    transition: all 0.3s;
}

.how_row > .sparky_page_container > .sparky_cell:hover {
    border-bottom:7px solid var(--sparkycolor1);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s;
}

.how_row .sparky_col0::before,
.how_row .sparky_col1::before,
.how_row .sparky_col2::before,
.how_row .sparky_col3::before {
    content: "01";
    position: absolute;
    font-size: 150px;
    font-weight: bold;
    line-height: 1;
    color: #eee;
    margin-top: -30px;
    margin-left: -15px;
    z-index: -1;
}

.how_row .sparky_col1::before {
    content: "02";
}

.how_row .sparky_col2::before {
    content: "03";
}

.how_row .sparky_col3::before {
    content: "04";
}

/* team row home */

.teamrowhome.sparky_page_row.row_full_width {
    background: url(../images/grey_bg.png) no-repeat;
    background-size: 100% 470px;
    background-position: bottom;
}

.teamrowhome .sparky_page_container {
    gap: 30px;
}

.teamrowhome .sparky_page_container .sparky_cell {
    background: #fff;
    border-bottom:7px solid #eee;
}

/* teamrow */

.teamrow .sparky_social_icons a:first-child {
    padding-inline-start: 0;
}

.teamrow .sparky_social_icons a {
    color: var(--sparkycolor1);
}

.teamrow .sparky_social_icons a:hover {
    color: #333;
}

.teamrow .sparky_page_container {
    gap: 30px;
}

.teamrow .sparky_page_container .sparky_cell {
    border: 1px solid #eee;
    border-bottom: 7px solid #eee;
}

/* pricingrow */

.pricingrow .sparky_page_container {
    gap: 30px;
}

.pricingrow h3 {
    padding-bottom: 0;
}

.pricingrow .sparky_page_container .sparky_cell {
    border-bottom: 7px solid #ccc;
}

.pricingrow .sparky_page_container .sparky_cell:hover {
    border-bottom: 7px solid var(--sparkycolor1);
}

/* testimonials slider */

.hot_swipe_carousel_slides_testimonials .gallery-cell {
    display: flex;
    border: 1px solid #eee;
    border-bottom:7px solid #eee;
    padding: 15px;
}

.hot_swipe_carousel_slides_testimonials img {
    width: 200px !important;
    height: 200px;
    margin-right: 30px;
    position: relative;
    z-index: 1;
}

.hot_swipe_carousel_slides_testimonials .contents {
    position: relative !important;
    padding-right: 30px !important;
}

.hot_swipe_carousel_slides_testimonials .contents h2 {
    padding-bottom: 0;
}

.hot_swipe_carousel_slides_testimonials .contents .rating {
    color: orange;
}

.hot_swipe_carousel_slides_testimonials .flickity-page-dots {
    width: 97% !important;
    bottom: -50px !important;
}

.hot_swipe_carousel_slides_testimonials .flickity-page-dots .dot {
    background: #333 !important;
    opacity: 1 !important;
}

.hot_swipe_carousel_slides_testimonials .flickity-page-dots .dot.is-selected {
    background: var(--sparkycolor1) !important;
    width: 12px !important;
    height: 12px !important;
}

/* testimonialrow */

.testimonialrow1 .sparky_cell:last-child {
    background-color: rgba(255, 255, 255, 0.6);
    background-image: url(../images/dots.png);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 50px 50px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    padding: 50px;
}

.testimonialrow2 .sparky_cell:first-child {
    background-color: rgba(255, 255, 255, 0.6);
    background-image: url(../images/dots.png);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 50px 50px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    padding: 50px;
}

/* blog */

.blog-items {
    justify-content: flex-start;
    margin-left: -15px;
    margin-right: -15px;
}

.blog-items .blog-item h2,
.blog-items .blog-item h2 a {
    font-size: 28px;
    font-weight: 700;
}

.blog-items.columns-3 .blog-item {
    width: calc(33.33% - 30px);
    margin: 50px 15px;
    padding: 15px;
    border: 1px solid #eee;
    border-bottom: 7px solid #eee;
}

/* contact */

.com-contact.contact dt {
    float: inline-start;
    clear: both;
    padding-top: 15px;
    padding-inline-end: 15px;
}

.com-contact.contact dd {
    padding-inline-start: 30px;
}

.com-contact.contact dt + dd {
    padding-top: 15px;
}

.osm-map {
    z-index: 0;
}

@media (min-width: 992px) {

    .com-contact.contact {
        display: flex;
        flex-wrap: wrap;
    }

    .com-contact.contact .page-header,
    .com-contact.contact h1 {
        width: 100%;
    }

    .com-contact__container {
        width: 34%;
    }

    .com-contact__form.contact-form {
        width: 66%;
        margin-top: 15px;
    }

    .com-contact__form.contact-form legend {
        background: transparent;
        padding: 15px 0;
        font-size: 24px;
        line-height: 1.4;
        font-weight: 700;
        text-transform: uppercase;
    }

    .com-contact.contact > h2 {
        display: none;
    }

}

/* search */

.input-group button.btn {
    padding: 10px 15px;
    line-height: 1;
    height: 46px;
}

/* bottomrow */

.bottomrow {
    color: #eee;
    padding-top: 50px;
    padding-bottom: 30px;
}

.bottomrow h3 {
    color: #eee;
}

/* footerrow */

.footerrow {
    font-size: 14px;
    padding-bottom: 50px;
}

.footerrow .sparky_page_container .sparky_cell {
    padding-top: 0;
    padding-bottom: 0;
}

.footerrow a:hover {
    color: var(--sparkycolor2);
}

.footerrow .sparky_social_icons a:first-child {
    padding-inline-start: 0;
}

.footerrow p.copyright {
    margin: 10px 0;
}

@media (max-width: 991px) {

    h1, h1 a {
        font-size: 72px;
        word-break: break-word;
    }

    button, button.btn, input.button, a.btn, p.readmore a.btn, a.sparky_button {
        width: auto;
        line-height: 1.5;
        padding: 10px 30px;
    }

    .input-group button.btn,
    a.sparky_button.small_btn {
        width: max-content;
    }

    a.sparky_button.small_btn {
        line-height: 35px;
    }

    .logorow > .sparky_container > .mp_logo.sparky_cell {
        width: 50% !important;
    }

    .logorow > .sparky_container > .mp_top1.sparky_cell {
        width: 20% !important;
    }

    .logorow > .sparky_container > .mp_top2.sparky_cell {
        width: 30% !important;
    }

    .logorow nav:not(.opened) ul.menu {
        display: none;
    }

    .how_row h3 {
        font-size: 20px;
    }

    .how_row .sparky_col0::before, .how_row .sparky_col1::before, .how_row .sparky_col2::before, .how_row .sparky_col3::before {
        font-size: 100px;
    }

    .hot_swipe_carousel_slides_testimonials img {
        width: 100px !important;
        height: 100px;
    }

}

@media (max-width: 767px) {

    .how_row > .sparky_page_container,
    .teamrowhome > .sparky_page_container,
    .teamrow .sparky_page_container,
    .pricingrow .sparky_page_container {
        margin: 0 15px !important;
    }

    .hot_swipe_carousel_slides_testimonials .gallery-cell {
        display: block;
        width: 98% !important;
    }

    .hot_swipe_carousel_slides_testimonials .contents {
        background: #fff !important;
    }

    .hot_swipe_carousel_slides_testimonials img {
        width: 100% !important;
        height: auto;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .blog-items.columns-3 .blog-item {
        width: 100%;
        margin: 30px 15px;
        padding: 15px;
        border: 1px solid #eee;
        border-bottom: 7px solid #eee;
    }

}

@media (max-width: 499px) {

    .hero_row {
        padding-top: 100px !important;
    }

    .logorow > .sparky_container > .mp_logo.sparky_cell {
        width: 50% !important;
    }

    .logorow > .sparky_container > .mp_top1.sparky_cell {
        width: 15% !important;
    }

    .logorow > .sparky_container > .mp_top2.sparky_cell {
        width: 35% !important;
    }

    a.sparky_button.small_btn {
        padding: 3px 10px;
    }

    .sparky_logo_image img {
        max-width: 100%;
    }

}


/* For DEMO purposes only. Can be safely deleted */

.sparky_settings {
    position: fixed;
    z-index: 9999;
    top:70%;
    padding: 0 5px;
    background: #000;
    border-radius: 0 5px 5px 0;
    cursor: pointer;
    line-height: 1.4;
}

.sparky_settings:hover {
    background: #000;
}

.sparky_settings .sparky_cell {
    padding: 15px;
}

.settings_content {
    display: none;
    float: left;
    padding-right: 15px;
    height: 28px;
}

.settings_content span {
    display: inline-block;
    width: 28px;
    height: 28px;
    border:3px solid #333;
    border-radius: 19px;
}

.settings_content span:hover {
    border:3px solid #fff;
}

.settings_content span.style1 {
    background: #02aee5;
}

.settings_content span.style2 {
    background: #ed7ba1;
}

.settings_content span.style3 {
    background: #b4654a;
}

.settings_content a {
    text-decoration: none;
}

.settings_cog {
    float: left;
    width: 30px;
    height: 28px;
}

.sparky_settings i {
    font-size: 28px;
    color: #ccc;
}
	

	