.overflow-hidden {
    overflow: hidden!important;
    height: 100vh;
}
main {
	overflow: visible;
}
.custom-logo {
    width: max(121px, 12.1rem);
    height: auto;
}
* {
    box-sizing: border-box;
}
*::selection {

}
body {
	overflow-x: hidden;
}
section {
    z-index: 2;
}
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
}
html {
    overflow-x: hidden;
}
a {
    transition: .3s;
}
.btn:hover {
    cursor: pointer;
}

.img-wrapper img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.video-wrapper video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.btn {
    position: relative;
    padding: max(15px, 1.5rem) max(30px, 3rem);
    font-weight: var(--font-weight-medium);
    border-radius: max(5px, 0.5rem);
    font-size: var(--font-size-13);
    transition: background .3s, color .3s;
    display: flex;
    align-items: center;
    gap: max(15px, 1.5rem);
    width: fit-content;
    border: none;
    border: 1px solid var(--color-blue);
    color: var(--color-blue);
    text-transform: uppercase;
}
.btn:hover {
    background: var(--color-blue);
    color: var(--color-white);
}
.btn--has-arrow svg {
    width: max(16px, 1.6rem);
    height: max(16px, 1.6rem);
}
.btn--has-arrow svg path {
    transition: .3s;
}
.btn--has-arrow:hover svg path {
    fill: var(--color-white);
}
.main_banner {
    padding-top: max(76px, 7.6rem);
    padding-bottom: max(148px, 14.8rem);
    background-color: var(--color-darkblue);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: max(720px, 72rem);
}
.main_banner__inner {
    flex-direction: column;
    align-items: center;
}
.main_banner_header {
    margin-top: max(108px, 10.8rem);
    line-height: 1.15em;
    letter-spacing: -0.02em;
}
.main_banner_btn  {
    margin-top: max(70px, 7rem);
}
@media screen and (max-width: 768px) {
    .main_banner_header {
        font-size: var(--font-size-42);
    }
}
@media screen and (max-width: 550px) {
    .main_banner_header {
        font-size: var(--font-size-36);
        line-height: 1.25em;
    }
    .main_banner_header p span[style*="color: #047aea"] {
        display: block;
    }
}
.header_description_horizontal {
    padding: max(70px, 7rem) 0 max(75px, 7.5rem);
}
.header_description_horizontal__inner {
    align-items: center;
    justify-content: space-between;
    gap: max(120px, 12rem);
}
.header_description_horizontal_description {
    line-height: 1.64em;
}
.header_description_horizontal_header {
    min-width: max(450px, 45rem);
    letter-spacing: -0.25px;
}
@media screen and (max-width: 1300px) {
    .header_description_horizontal__inner {
        gap: max(80px, 8rem);
    }
}
@media screen and (max-width: 1100px) {
    .header_description_horizontal__inner {
        flex-direction: column;
        gap: max(30px, 3rem);
    }
    .header_description_horizontal_header {
        min-width: unset;
        text-align: center;
    }
    .header_description_horizontal_header br {
        display: none;
    }
    .header_description_horizontal_description {
        text-align: center;
    }
}
@media screen and (max-width: 768px) {
    .header_description_horizontal_header {
        font-size: var(--font-size-36);
    }
}
.bullet_points {
    padding: max(60px, 6rem) 0;
}
.bullet_points__inner {
    justify-content: center;
}
.bullet_point {
    padding: max(6px, 0.6rem) max(44px, 4.4rem);
    gap: max(25px, 2.5rem);
    align-items: center;
}
.bullet_point:not(:last-child) {
    border-right: 1px solid #080D291F;
}
.bullet_point_description {
    line-height: 1.38em;
}
.bullet_point_icon {
    width: max(68px, 6.8rem);
    height: auto;
}
@media screen and (max-width: 1200px) {
    .bullet_points__inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: max(30px, 3rem);
    }
    .bullet_point:nth-of-type(even) {
        border: none;
    }
}
@media screen and (max-width: 600px) {
    .bullet_points__inner {
        grid-template-columns: repeat(1, 1fr);
        gap: max(45px, 4.5rem);
    }
    .bullet_point {
        border: none!important;
        padding: unset;
        gap: max(35px, 3.5rem)
    }
}
.product_list {
    padding: max(70px, 7rem) 0 max(58px, 5.8rem);
}
.product_list__inner {
    flex-direction: column;
    gap: max(45px, 4.5rem);
    align-items: center;
}
.single_product_tile {
    flex-direction: column;
    align-items: center;
    padding: max(20px, 2rem) max(22px, 2.2rem) max(28px, 2.8rem);
    border: max(3px, 0.3rem) solid var(--color-gray);
    border-radius: max(5px, 0.5rem);
}
.product_list__wrapper  {
    grid-template-columns: repeat(4, 1fr);
    gap: max(25px, 2.5rem);
    width: 100%;
}
.single_product_tile img {
    height: max(246px, 24.6rem);
    width: auto;
}
.single_product_tile_header {
    text-align: center;
    line-height: 1.36em;
    min-height: 2.72em;
    margin-top: max(15px, 1.5rem);
}
.single_product_tile_price {
    margin-top: max(14px, 1.4rem);
}
.learn_more_btn {
    width: 100%;
    justify-content: center;
    margin-top: max(22px, 2.2rem);
}
@media screen and (max-width: 1300px) {
    .product_list__wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 1100px) {
    .product_list_header  {
        text-align: center;
    }
}
@media screen and (max-width: 992px) {
    .product_list__wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 768px) {
    .product_list_header  {
        font-size: var(--font-size-36);
    }
}
@media screen and (max-width: 700px) {
    .product_list__wrapper {
        grid-template-columns: repeat(1, 1fr);
    }
    .single_product_tile img {
        height: max(220px, 22.6rem);
    }
}

.photo_banner {
    padding: max(130px, 13rem) 0;
    background-color: var(--color-darkblue);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.photo_banner__text_wrapper {
    max-width: max(650px, 65rem);
}
.photo_banner_header {
    line-height: 1.16em;
}
.photo_banner_description {
    line-height: 1.4em;
    margin-top: max(15px, 1.5rem);
}
@media screen and (max-width: 1100px) {
    .photo_banner__inner {
        justify-content: center;
    }
    .photo_banner__text_wrapper {
        max-width: unset;
        text-align: center;
    }
}
@media screen and (max-width: 768px) {
    .photo_banner_header  {
        font-size: var(--font-size-36);
    }
    .photo_banner {
        padding: max(100px, 10rem) 0;
    }
    .photo_banner_description {
        margin-top: max(25px, 2.5rem);
    }
    .photo_banner_description br {
        display: none;
    }
}
.addtional_description {
    padding: max(26px, 2.6rem);
}
.addtional_description__inner {
    justify-content: center;
}
.addtional_description_text {
    max-width: max(1055px, 105.5rem);
    line-height: 1.66em;
}
.custom_footer {
    padding: max(30px, 3rem) 0;
}
.custom_footer__inner {
    justify-content: space-between;
    align-items: center;
}
.custom_footer_contact_infos {
    gap: max(40px, 4rem);
}
.conctact_info_single {
    align-items: center;
    gap: max(14px, 1.4rem);
}
.contact_info_single_icon_wrapper img {
    width: max(39px, 3.9rem);
    height: unset;
}
.contact_info_single_link  {
    display: block;
    margin-top: max(2px, 0.2rem);
}
.custom_footer_logo_wrapper img {
    width: max(121px, 12.1rem);
    height: unset;
}
@media screen and (max-width: 700px) {
    .custom_footer__inner {
        flex-direction: column;
        gap: max(40px, 4rem);
    }
    .custom_footer {
        padding: max(45px, 4.5rem) 0;
    }
}
@media screen and (max-width: 576px) {
    .custom_footer_contact_infos {
        flex-direction: column;
    }
    .custom_footer_contact_infos {
        gap: max(20px, 2rem);
    }
}
