main {
    width: 100%;
}

section.main-banner {
    width: 100%;
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: auto;
    min-height: 835px;
    position: relative;
    margin-top: -100px;
}

section.main-banner .content {
    position: absolute;
    justify-self: center;
    align-self: center;
    margin-top: -100px;
}

section.main-banner .pic {
    width: 100%;
    display: grid;
}
section.main-banner .pic picture img {
    width: 100%;
    height: 120dvh;
    min-height: 835px;
    object-fit: cover;
    display: grid;
    height: 100dvh;
}

section.main-banner .content .header h3,
section.main-banner .content .header .hero-heading {
    font-family: "sofia-pro", "ThinkOne Sofia Uppercase Fallback", "Manrope", "ThinkOne Manrope Uppercase Fallback", sans-serif;
    max-width: 100%;
    /* Preserve the donor's whole-word hero wrapping; never orphan a final glyph. */
    overflow-wrap: normal;
    color: #FFFFFF;
    text-align: center;
    letter-spacing: 6.5px;
    text-transform: uppercase;
    font-style: normal;
    font-weight: normal;
    font-size: 13rem;
}

h3 {}

main[data-lang="el"] section.main-banner .content .header h3,
main[data-lang="el"] section.main-banner .content .header .hero-heading {
    /* font-size: 11rem; */
    font-weight: 500;
}

.partners{
    width: 100%;
    display: grid;
    position: relative;
}

.home-rabbit{
    position: absolute;
    top: -230px;
    display: grid;
    width: 100%;
    grid-template-columns: 546px auto;
    align-items: end;
    height: 275px;
    overflow: hidden;
}

.home-rabbit .bg {
    background: #a000fe;
    align-self: end;
    width: 105%;
    height: 152px;
    left: -10px;
    position: relative;
}

.home-rabbit .rabbit img {
    width: auto;
    height: 299px;
}

.partners .content {
    display: grid;
    grid-template-columns: repeat(3, auto);
    align-items: center;
    justify-content: center;
    gap: 20px;
    background: #a000fe;
    padding: 0px 30px 55px 30px;
    height: 130px;
    z-index: 1;
    gap: 70px;
}

.partners .content .partner {
    width: fit-content;
}

.partners .content .partner a {
    cursor: unset;
}

.partners .content img {
    width: 350px;
    object-fit: contain;
}

.partners .content .partner img.crestron {
}

.partners .content .partner img.knx {
    width: fit-content;
    height: 50px;
    position: relative;
    top: -10px;
}

.partners .content .partner img.lutron {
    width: unset;
    height: 80px;
    mix-blend-mode: darken;
}

.all-in-one{
    display: grid;
    width: 100%;
    background: #0b0b0b;
}



.all-in-one .content {
    display: grid;
    grid-template-columns: auto;
    justify-items: center;
}

.all-in-one .content div {
    color: #ffffff;
}

.all-in-one .content div.cta {
    transition: transform 1s;
    cursor: pointer;
}

.all-in-one .content div.cta:hover {
    transform: scale(1.2);
}

.all-in-one .content .header {
    max-width: 950px;
    width: 90%;
    display: grid;
    justify-content: center;
    padding-top: 130px;
}

.all-in-one .content .header h3,
.all-in-one .content .header .all-in-one-title {
    text-align: center;
    letter-spacing: 6.5px;
    text-transform: uppercase;
    font-style: normal;
    line-height: 13rem;
    font-weight: normal;
    font-size: 13rem;
}

main[data-lang="el"] .all-in-one .content .header h3,
main[data-lang="el"] .all-in-one .content .header .all-in-one-title {
    /* font-family: sans-serif; */
    /* font-size: 10rem; */
}

.all-in-one .content .subheader {
    max-width: 950px;
    max-width: 1050px;
    width: 80%;
    padding-top: 50px;
}

.all-in-one .content .subheader h4,
.all-in-one .content .subheader .all-in-one-subtitle {
    text-align: center;
    letter-spacing: 0px;
    font-style: normal;
    line-height: 7rem;
    font-weight: normal;
    font-size: 4rem;
}

main[data-lang="el"] .all-in-one .content .subheader h4,
main[data-lang="el"] .all-in-one .content .subheader .all-in-one-subtitle {}

.all-in-one .content .pic {
    width: 80%;
    max-width: 1000px;
    padding-top: 130px;
}

.all-in-one .content .pic img {
    width: 100%;
    height: auto;
}

.all-in-one .content .text {
    max-width: 1200px;
    width: 80%;
    display: grid;
    justify-content: center;
    padding-top: 130px;
}

.all-in-one .content .text h5 {
    text-align: center;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-style: normal;
    line-height: 9.5rem;
    font-weight: normal;
    font-size: 4rem;
}

.all-in-one .content .text h1,
.all-in-one .content .text .all-in-one-heading {
    text-align: center;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-style: normal;
    line-height: 9.5rem;
    font-weight: normal;
    font-size: 4rem;
}

main[data-lang="el"] .all-in-one .content .text h5 {}

main[data-lang="el"] .all-in-one .content .text h1,
main[data-lang="el"] .all-in-one .content .text .all-in-one-heading {}

.all-in-one .content .text h4 {
    color: #FFFFFF;
    /* color: yellow; */
    letter-spacing: 0px;
    font-family: Sofia Sans Condensed, "Tektur", sans-serif;
    text-transform: uppercase;
    font-style: normal;
    line-height: 7rem;
    font-weight: normal;
    font-size: 4rem;
}

.all-in-one .content .cta a {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 10px;
}

.all-in-one .content .cta a p {
    letter-spacing: 1.44px;
    font-style: normal;
    line-height: 9.5rem;
    font-weight: normal;
    font-size: 2.4rem;
}

.all-in-one .content .cta a p {}

main[data-lang="el"] .all-in-one .content .cta a p {}

.all-in-one .content .cta a .cta-arrow {
    background: #b12efd;
    width: 40px;
    height: 40px;
    display: grid;
    place-content: center;
}

.all-in-one .content .cta a .cta-arrow i {
    font-size: 1.8rem;
}

.home-products {
    background: #0b0b0b;
    display: grid;
    grid-template-columns: auto;
    justify-items: center;
    overflow: hidden;
    position: relative;
    padding-bottom: 300px;
}

.home-products .circle {
    height: 100%;
    width: 100dvw;
    z-index: 1;
    position: absolute;
    right: 0;
    top: 0px;
    display: grid;
}

.home-products .circle div:first-child {
    height: 3000px;
    width: 3000px;
    background: radial-gradient(circle, rgba(84, 6, 131, 1) 0%, rgba(11, 11, 11, 1) 50%, rgba(84, 6, 131, 0) 51%);
    z-index: 0;
    position: absolute;
    right: -1595px;
    top: -400px;
    display: grid;
}

.home-products .circle div:last-child {
    height: 2500px;
    width: 2500px;
    background: radial-gradient(circle, rgba(84, 6, 131, 1) 0%, rgba(11, 11, 11, 1) 50%, rgba(84, 6, 131, 0) 51%);z-index: 0;position: absolute;
    left: -1000px;
    bottom: -1050px;
    display: grid;
}

.home-products > .header {
    display: grid;
    justify-content: center;
    padding-top: 250px;
    z-index: 1;
}

.home-products .header h3 {
    letter-spacing: 6.5px;
    text-transform: uppercase;
    font-style: normal;
    line-height: 13rem;
    font-weight: normal;
    font-size: 13rem;
}

main[data-lang="el"] .home-products .header h3 {
    /* font-family: sans-serif; */
    /* font-size: 11rem; */
}

.home-products .subheader {
    display: grid;
    justify-self: center;
    justify-content: center;
    width: 95%;
    max-width: 1200px;
    padding-top: 40px;
    z-index: 1;
}

.home-products .subheader h4 {
    text-align: center;
    letter-spacing: unset;
    font-style: normal;
    line-height: 10rem;
    font-weight: normal;
    font-size: 8.5rem;
}

main[data-lang="el"] .home-products .subheader h4 {}

.home-products .products {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    gap: 40px;
    max-width: 90%;
    padding-top: 100px;
    z-index: 1;
}

.home-products p, .home-products h4, .home-products h3 {
    color: #ffffff;
}

.home-products .products .content {
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: auto auto;
    justify-content: space-around;
}

.home-products .products .content.gradient-b {
    background: transparent linear-gradient(236deg, #0082FF 0%, #4C33FF 16%, #9105E2 32%, #b12efd 56%, #8C04DB 68%, #5D0094 78%, #09000F 95%, #000000 100%) 0% 0% no-repeat padding-box;
}

.home-products .products .content.gradient-a {background: transparent linear-gradient(236deg, #9604eb 0%, #b12efd 16%, #9105E2 32%, #b12efd 49%, #8C04DB 59%, #110716 82%, #0d0116 94%, #000000 100%) 0% 0% no-repeat padding-box;}

.home-products .products .content.pattern-a {
    background: transparent linear-gradient(236deg, #0082FF 0%, #4C33FF 16%, #9105E2 32%, #b12efd 56%, #8C04DB 68%, #5D0094 78%, #09000F 95%, #000000 100%) 0% 0% no-repeat padding-box;
}

.home-products .products .content .info {
    width: 370px;
    display: grid;
    padding-top: 40px;
    padding-left: 40px;
    padding-bottom: 40px;
    padding-right: 10px;
}

.home-products .products .content .info .icon {
    width: 100px;
    display: grid;
    align-items: center;
    min-height: 90px;
}

.home-products .products .content .info .icon img {
    width: 55px;
    height: 55px;
    aspect-ratio: 1 / 3;
    object-fit: contain;
}

.home-products .products .content .info .header {
    width: 100%;
    height: fit-content;
}

.home-products .products .content .info .text {
    width: 100%;
    min-height: 160px;
    height: fit-content;
}

.home-products .products .content .info .text p {
    text-align: left;
    font-style: normal;
    line-height: 2.3rem;
    font-weight: normal;
    font-size: 1.7rem;
    letter-spacing: unset;
    padding-top: 5px;
    padding-bottom: 5px;
}

main[data-lang="el"] .home-products .products .content .info .text p {}

.home-products .products .content .info .header h4 {
    text-align: left;
    letter-spacing: 1.44px;
    font-style: normal;
    font-weight: normal;
    font-size: 3rem;
    letter-spacing: unset;
    text-transform: uppercase;
}

main[data-lang="el"] .home-products .products .content .info .header h4 {}

.home-products .products .content .info .cta {
    width: 100%;
    height: fit-content;
    transition: transform 1s;
    transform-origin: 0% 0%;
    width: fit-content;
    cursor: pointer;
    padding-top: 10px;
}

.home-products .products .content .info .cta:hover {
    transform: scale(1.2);
}

.home-products .products .content .info .cta a {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: start;
}

.home-products .products .content .info .cta a span {
    width: fit-content;
}

.home-products .products .content .info .cta a span p {
    letter-spacing: 1.44px;
    font-style: normal;
    font-weight: normal;
    font-size: 1.4rem;
    letter-spacing: 0.64px;
    text-transform: uppercase;
}

main[data-lang="el"] .home-products .products .content .info .cta a span p {
    font-size: 1.2rem;
}

.home-products .products .content .info .cta a span.cta-arrow {
    width: 30px;
    height: 30px;
    display: grid;
    place-content: center;
    color: #ffffff;
}

.home-products .products .content .info .cta a span.cta-arrow i {
    font-size: 1.8rem;
}

.home-products .products .content .pic {
    width: 280px;
    display: grid;
    align-content: end;
}

.home-products .products .content .pic figure {
    display: grid;
}

.home-products .products .content .pic figure img {
    filter: drop-shadow(51px 51px 59px #000000);
}

.modern{
    width: 100%;
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: auto;
    min-height: 835px;
    position: relative;
}

.modern .pic {
    width: 100%;
    display: grid;
}

.modern .pic img {
    width: 100%;
    height: 120dvh;
    min-height: 835px;
    object-fit: cover;
    display: grid;
}

.modern .content {
    position: absolute;
    justify-self: center;
    align-self: center;
}

.modern .content > div div {
    display: grid;
    justify-content: center;
}

.modern .content > div .header span {
    color: #FFFFFF;
    text-align: center;
    text-transform: uppercase;
    font-style: normal;
    font-weight: normal;
    font-size: 4rem;
}

main[data-lang="el"] .modern .content > div .header span {}

.modern .content > div .subheader h4 {
    color: #FFFFFF;
    text-align: center;
    font-style: normal;
    font-weight: 800;
    font-size: 5rem;
}

main[data-lang="el"] .modern .content > div .subheader h4 {}

.modern .content > div .subheader-2 {
    padding-top: 30px;
}

.modern .content > div .subheader-2 h3 {
    color: #FFFFFF;
    text-align: center;
    letter-spacing: 5px;
    text-transform: uppercase;
    font-style: normal;
    font-weight: normal;
    font-size: 10rem;
}

main[data-lang="el"] .modern .content > div .subheader-2 h3 {}

.services {
    background: #0b0b0b;
    width: 100%;
    display: grid;
    grid-template-columns: auto;
    justify-items: center;
    padding-top: 200px;
    padding-bottom: 200px;
}

.services > .content {
    display: grid;
    grid-template-columns: auto;
    justify-items: center;
    padding-left: 20px;
    padding-right: 20px;
}


.services .content > div.subheader {
    padding-top: 40px;
}

.services .content > div.subheader h3 {
    color: #FFFFFF;
    text-align: center;
    letter-spacing: 6.5px;
    text-transform: uppercase;
    font-style: normal;
    font-weight: normal;
    font-size: 13rem;
}

main[data-lang="el"] .services .content > div.subheader h3 {
    font-size: 11rem;
}

.services .content > div.header span {
    color: #b12efd;
    text-align: center;
    text-transform: uppercase;
    font-style: normal;
    font-weight: normal;
    font-size: 4rem;
}

main[data-lang="el"] .services .content > div.header span {}

.services .content > div.text {
    padding-top: 30px;
    max-width: 1250px;
    width: 95%;
    display: grid;
    grid-template-columns: auto;
    row-gap: 40px;
}

.services .content > div.text p {
    color: #FFFFFF;
    text-align: center;
    letter-spacing: 1px;
    font-style: normal;
    font-weight: normal;
    line-height: 4rem;
    font-size: 2rem;
}

main[data-lang="el"] .services .content > div.text p {}

.services .content > div .header {
    display: grid;
    grid-template-columns: auto;
}

.services .content > div div {
    display: grid;
    grid-template-columns: auto;
    justify-content: center;
}

.services .content > div div.header {
    /* background: yellowgreen; */
}

.services .content > div div.header span {
    color: #FFFFFF;
    text-align: left;
    font-style: normal;
    line-height: 3rem;
    font-weight: normal;
    font-size: 1.4rem;
    letter-spacing: unset;
}

.services .content > div div.subheader {
    background: blue;
}

.services .content > div div.subheader h3 {
    color: #FFFFFF;
    text-align: left;
    font-style: normal;
    line-height: 3rem;
    font-weight: normal;
    font-size: 1.4rem;
    letter-spacing: unset;
}

.services .content > div div.text {
    background: black;
}

.services .content > div div.text p {
    color: #FFFFFF;
    text-align: left;
    font-style: normal;
    line-height: 3rem;
    font-weight: normal;
    font-size: 1.4rem;
    letter-spacing: unset;
}

.services .thumbnails {
    padding-top: 100px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

.services .thumbnails .content {
    display: grid;
    position: relative;
}

.services .thumbnails .content .pic {
    width: 390px;
    display: grid;
    overflow: hidden;
}

.services .thumbnails .content .pic figure img {
    width: 100%;
    height: 100%;
    transition: transform 1s;
    cursor: pointer;
}

.services .thumbnails .content .pic figure img:hover {
    transform: scale(1.2) rotate(5deg);
}

.services .thumbnails .content .title {
    position: absolute;
    top: 40px;
    left: 30px;
}

.services .thumbnails .content .title h4 {
    color: #FFFFFF;
    text-align: left;
    font-style: normal;
    line-height: 3rem;
    font-weight: normal;
    font-size: 2.4rem;
    text-transform: uppercase;
}

main[data-lang="el"] .services .thumbnails .content .title h4 {}

section.tablet-mobile {
    display: grid;
    width: 100%;
    background: #0b0b0b;
    padding-top: 100px;
}

section.tablet-mobile > div {
    width: 100%;
    height: 100%;
}

section.tablet-mobile .pic img {
    height: auto;
    width: 100%;
}

section.laptop {
    margin-top: unset;
    background: #0b0b0b;
    display: grid;
    width: 100%;
    padding-top: 100px;
    padding-bottom: 10px;
}

section.laptop > div.pic {
    width: 100%;
    height: 100%;
}

section.laptop .pic img {
    height: auto;
    width: 100%;
}

.part-slider {
    background: #0b0b0b;
    width: 100%;
    display: grid;
    grid-template-columns: auto;
    justify-items: center;
    padding-top: 170px;
    padding-bottom: 200px;
}

.part-slider .content {
    display: grid;
    grid-template-columns: auto;
    justify-items: center;
}

.part-slider .content .header {
    color: #ffffff;
    max-width: 950px;
    width: 80%;
    display: grid;
    justify-content: center;
    padding-top: 130px;
}

.part-slider .content .header h3 {
    text-align: center;
    letter-spacing: 6.5px;
    text-transform: uppercase;
    font-style: normal;
    line-height: 13rem;
    font-weight: normal;
    font-size: 13rem;
}

main[data-lang="el"] .part-slider .content .header h3 {font-size: 11rem;}

.part-slider .swiper {
    width: 80%;
    height: 100%;
    padding-top: 100px;
    display: grid;
    grid-template-rows: auto auto;
    position: relative;
    padding-bottom: 200px;
}

.part-slider .slider > div:first-child {
    justify-content: flex-start;
}

.part-slider .slider > div .item {
    display: grid;
    grid-template-rows: repeat(2, auto);
    height: fit-content;
    row-gap: 50px;
}

.part-slider .slider > div .item .logo a img {
    object-fit: contain;
}

.part-slider .handlers-cont {
    position: absolute;
    display: grid;
    justify-content: end;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.part-slider .slider > div .item .text p {
    color: #ffffff;
    text-align: left;
    font-style: normal;
    font-weight: normal;
    font-size: 2.1rem;
    letter-spacing: unset;
}

main[data-lang="el"] .part-slider .slider > div .item .text p {}

.part-slider .handlers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    width: 100px;
}

.part-slider .handlers div.slider-arrow-prev {
    cursor: pointer;
}

.part-slider .handlers div.slider-arrow-next {
    cursor: pointer;
}

.part-slider .handlers > div i {
    font-size: 3.5rem;
}


/* css gia fadein effect - arxi  */

.fade-in {
    opacity: 0;
    transition: opacity 4s ease;
}

.fade-in.visible {
    opacity: 1;
}

/* css gia fadein effect - telos  */



@media screen and (max-width: 1600px) {
    .partners .content img{
        /* width: 270px; */
    }
    section.main-banner .content .header h3,
    section.main-banner .content .header .hero-heading{
        font-size: 10rem;
    }

    main[data-lang="el"] .services .content > div.subheader h3 {

    }
    main[data-lang="el"] .part-slider .content .header h3 {

    }


}




@media screen and (max-width: 1500px) {
    .home-products .products .content .info{
        width: 500px;
    }
    .part-slider{
        padding-top: 50px;
    }


    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 10rem;
    }
    main[data-lang="el"] .part-slider .content .header h3 {

    }
}



@media screen and (max-width: 1366px) {
    section.main-banner .content .header h3,
    section.main-banner .content .header .hero-heading{
        font-size: 8rem;
    }
    .services .thumbnails .content .pic{
        width: 300px;
    }
    .services .thumbnails .content .title {
        top: 20px;
    }
    .services .thumbnails .content .title h4{
        font-size: 1.8rem;
    }
    .home-products .products{
        grid-template-columns: 450px 450px;
    }
    .home-products .products .content .info{
        width: 370px;
    }


    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 9rem;
    }
    main[data-lang="el"] .part-slider .content .header h3 {

    }
}




@media screen and (max-width: 1200px) {
    section.main-banner .content .header h3,
    section.main-banner .content .header .hero-heading{
        font-size: 7rem;
    }
    .partners .content{
        grid-template-columns: auto;
        height: fit-content;
        gap: 15px;
        justify-items: center;
    }
    .partners.partners-footer div {
        padding-bottom: unset;
    }
    .services .thumbnails .content .pic{
        width: 250px;
    }
    .services .thumbnails .content .title {
        top: 10px;
        left: 20px;
    }
    .services .thumbnails .content .title h4 {
        font-size: 1.5rem;
    }
    .home-products .header h3{
        font-size: 10rem;
    }
    .home-products .subheader h4{
        font-size: 5rem;
        line-height: 7rem;
    }
    .home-products .products{
        grid-template-columns: auto;
    }
    .modern .content > div .subheader-2 h3{
        font-size: 8rem;
    }
    .all-in-one .content .header h3,
    .all-in-one .content .header .all-in-one-title{
        font-size: 10rem;
    }

    .partners .content .partner img.knx{
        top: unset;
    }

    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 8rem;
    }

    main[data-lang="el"] .modern .content > div .subheader-2 h3 {

    }
    main[data-lang="el"] .part-slider .content .header h3 {font-size: 9rem;}

}


@media screen and (max-width: 992px) {
    section.main-banner .content .header h3,
    section.main-banner .content .header .hero-heading{
        font-size: 6rem;
    }
    .all-in-one .content .header h3,
    .all-in-one .content .header .all-in-one-title{
        font-size: 8rem;
    }
    .all-in-one .content .subheader {
        padding-top: 20px;
    }
    .all-in-one .content .text {
        padding-bottom: 15px;
    }
    .home-products {
        padding-bottom: 150px;
    }
    .home-products > .header {
        padding-top: 150px;
    }
    .home-products .subheader h4{
        font-size: 5rem;
    }
    .home-products .products{
        padding-top: 150px;
    }
    .services {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .all-in-one .content .text h5 {
        line-height: 6rem;
    }
    .all-in-one .content .subheader h4,
    .all-in-one .content .subheader .all-in-one-subtitle{
        line-height: 5rem;
    }
    .services .thumbnails{
        grid-template-columns: auto;
    }
    .services .thumbnails .content .pic{
        width: 390px;
    }
    .services .thumbnails .content .title {
        top: 40px;
        left: 30px;
    }
    .services .thumbnails .content .title h4 {
        font-size: 2.4rem;
    }
    .services .content > div.subheader h3{
        font-size: 12rem;
    }

    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 7rem;
    }


    .services .content > div.text p{
        line-height: 3rem;
    }
    .part-slider .slider > div .item {
        row-gap: 20px;
    }
    .part-slider .swiper {
        padding-bottom: 100px;
    }
    .all-in-one .content .header{
        padding-top: 80px;
    }
    .part-slider .content .header h3{
        font-size: 12rem;
    }
    .global-contact-form{
        margin-bottom: 150px;
    }
    .partners.partners-footer{
        padding-bottom: 150px;
    }
    .footer-contact{
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .modern .content > div .subheader-2{
        width: 445px;
        margin: 0 auto;
        padding-top: 50px;
    }
    .modern .content > div .subheader-2 h3{
        line-height: 9rem;
    }
    main[data-lang="el"] .modern .content > div .subheader-2 h3 {

    }
    main[data-lang="el"] .part-slider .content .header h3 {

    }


}





@media screen and (max-width: 768px) {
    section.main-banner .content .header h3,
    section.main-banner .content .header .hero-heading{
        font-size: 5rem;
    }
    .home-products .header h3{
        font-size: 8rem;
    }
    .home-products .subheader h4{
        font-size: 4rem;
        line-height: 5rem;
    }
    .home-products .products{
        grid-template-columns: 450px;
    }
    .services .content > div.subheader h3{
        font-size: 10rem;
    }

    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 6rem;
    }

    .services .content > div.text p{
        font-size: 1.8rem;
        line-height: 3rem;
        text-align: left;
    }
    .part-slider .content .header h3{
        font-size: 10rem;
    }
    .services .thumbnails .content .pic{
        width: 350px;
    }
    .all-in-one .content .subheader h4,
    .all-in-one .content .subheader .all-in-one-subtitle{
        font-size: 3rem;line-height: 4rem;
    }
    .all-in-one .content .text h5{
        font-size: 3rem;line-height: 5rem;
    }
    main[data-lang="el"] .modern .content > div .subheader-2 h3 {
        font-size: 6rem;
    }
    main[data-lang="el"] .part-slider .content .header h3 {font-size: 7rem;}

}

@media screen and (max-width: 650px) {
    section.main-banner{
    margin-top: -140px;
    }
    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 4.5rem;
    }
    main[data-lang="el"] .modern .content > div .subheader-2 h3 {

    }
    main[data-lang="el"] .part-slider .content .header h3 {font-size: 6rem;}

}

@media screen and (max-width: 576px) {
    section.main-banner .content .header h3,
    section.main-banner .content .header .hero-heading{
        font-size: 4rem;
        line-height: 45px;
    }
    section.main-banner .content .header {
        display: grid;
        grid-template-rows: auto auto;
        gap: 14px;
    }
    .all-in-one .content .header h3,
    .all-in-one .content .header .all-in-one-title{
        font-size: 5rem;line-height: 6rem;
    }

    .home-products .header h3{
        font-size: 5rem;
        line-height: 10rem;
    }
    .home-products .subheader h4{
        font-size: 3rem;
        line-height: 4rem;
    }
    .home-products .products{
        grid-template-columns: auto;
        padding-top: 50px;
    }
    .services .content > div.subheader h3{
        font-size: 5rem;
    }

    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 4rem;
    }

    .part-slider .content .header h3{
    font-size: 5rem;
    }
    .home-rabbit .rabbit img{
        width: 100%;
        height: auto;
    }
    .modern .content > div .subheader-2 h3{
        font-size: 5rem;
        line-height: 6rem;
    }

.services .content > div.text p {
    line-height: 2.5rem;
}

.part-slider .slider > div .item .text p {
    line-height: 2.8rem;
}
    .services .thumbnails .content .pic{
        width: 300px;
    }
    .partners .content{
        padding: 0px 0px 55px 0px;
    }
    .partners .content img {
        width: 220px;
        /* height: 50px; */
    }

    .partners .content .partner img.knx {
        width: 280px;
    }

    .partners .content .partner img.lutron {
        width: 220px;
    }
    .services .thumbnails .content .title h4{
        font-size: 2rem;
    }
    .global-contact-form .content{
        width: 85%;
        margin: 0 auto;
    }
    .modern .content > div .subheader-2{
        width: 290px;
    }
    .modern .content > div .subheader h4{
        font-size: 3.8rem;
        line-height: 5rem;
    }
    .all-in-one .content .subheader h4,
    .all-in-one .content .subheader .all-in-one-subtitle{
        font-size: 2rem;
        line-height: 3rem;
    }

.all-in-one .content .text h1,
.all-in-one .content .text .all-in-one-heading {
    line-height: 6rem;
}
    .all-in-one .content .text{
        padding-top: 50px;
    }
    .all-in-one .content .pic {
        padding-top: 50px;
    }

    .home-products .products .content .info .cta:hover{
        transform: scale(1.03);
    }

    .all-in-one .content .cta a p{
        font-size: 1.9rem;
        line-height: 4rem;
    }

    main[data-lang="el"] .modern .content > div .subheader-2 h3 {
        font-size: 4rem;
        line-height: 5rem;
    }
    main[data-lang="el"] .part-slider .content .header h3 {font-size: 4.5rem;}

}

@media screen and (max-width: 450px) {
    section.tablet-mobile {
        display: none;
    }

    main[data-lang="el"] .services .content > div.subheader h3 {

    }
    main[data-lang="el"] .modern .content > div .subheader-2 h3 {

    }
    main[data-lang="el"] .part-slider .content .header h3 {font-size: 3.5rem;}

}


@media screen and (max-width: 425px) {
    section.main-banner{
        min-height: unset;
    }
    section.main-banner .pic picture img{
    height: unset;
    min-height: unset;
    object-fit: cover;
    height: 100vh;
    }
    section.main-banner .content{
        margin-top: unset;
        align-self: unset;
        margin-top: 200px;
    }
    section.main-banner .content .header{
        width: 335px;
    }
    .partners{
        margin-top: -360px;
    }
    .partners.partners-footer {
        margin-top: unset;
    }
    .home-products .header h3{
        font-size: 4rem;
    }
    .home-products > .header{
    padding-top: 50px;
    }
    .home-products .subheader {
        padding-top: 10px;
    }
    .modern .content > div .subheader h4{
        font-size: 2.7rem;
    }
    .all-in-one .content .text h5{
        font-size: 2rem;
        line-height: 3rem;
    }
    .all-in-one .content .cta a p {
        font-size: 1.3rem;
        line-height: unset;
    }

    .all-in-one .content div.cta {
        width: 70%;
    }
    .all-in-one .content .cta a .cta-arrow {
        width: 30px;
        height: 30px;
    }
    .all-in-one .content .cta a .cta-arrow i {
        font-size: 1.3rem;
    }
    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 3rem;
    }
    main[data-lang="el"] .modern .content > div .subheader-2 h3 {
        font-size: 3rem;
        line-height: 4rem;
    }
    main[data-lang="el"] .part-slider .content .header h3 {

    }

}

@media screen and (max-width: 375px) {
    section.main-banner .content .header{
        width: 310px;
        gap: 10px;
    }
    section.main-banner .content .header h3,
    section.main-banner .content .header .hero-heading{
    font-size: 3rem;
    line-height: 40px;
    }
    .partners{
        margin-top: -250px;
    }
    .home-products .products .content .info{
        width: 300px;
        padding-left: 5px;
        padding-right: 5px;
    }

    main[data-lang="el"] .services .content > div.subheader h3 {
        font-size: 2.5rem;
    }
    main[data-lang="el"] .modern .content > div .subheader-2 h3 {

    }

    main[data-lang="el"] .part-slider .content .header h3 {font-size: 3rem;}

}





@media screen and (max-width: 320px) {
    .partners{
    /* margin-top: -150px; */
    }
    main[data-lang="el"] .services .content > div.subheader h3 {

    }
    main[data-lang="el"] .modern .content > div .subheader-2 h3 {

    }
    main[data-lang="el"] .part-slider .content .header h3 {

    }

}


@media screen and ( max-height: 900px ){
    .partners{
    margin-top: -50px;
    }

}


@media screen and ( max-height: 735px ){
        .partners{
        margin-top: -50px;
        }
}

@media screen and ( max-height: 645px ){
    .partners{
    margin-top: unset;
    }

}


@media screen and ( max-height: 570px ){
    .partners{
        margin-top: 220px;
    }

}

/* Let partner cards fit narrow viewports before and after deferred Swiper setup. */
@media screen and (max-width: 768px) {
    .part-slider {
        grid-template-columns: minmax(0, 1fr);
    }

    .part-slider > .content,
    .part-slider .swiper,
    .part-slider .swiper-wrapper {
        min-width: 0;
    }

    .part-slider .swiper {
        grid-template-columns: minmax(0, 1fr);
    }

    .part-slider .slider > .swiper-wrapper > .item.partner {
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .part-slider .partner .logo,
    .part-slider .partner .logo figure,
    .part-slider .partner .text {
        min-width: 0;
        max-width: 100%;
    }

    .part-slider .partner .logo img {
        max-width: 100%;
        height: auto;
        object-fit: contain;
    }

    .part-slider .partner .text {
        overflow-wrap: anywhere;
    }
}
