:root {
    --color-white: #FFF;
    --color-black: #000;
    --color-dark: #121212;
    --color-light: #F8F9FA;
    --color-blue: #00AEEF;
    --color-green: #21AF40;
    --color-dark-blue: #012D3E;
    --color-opaque: #1212124C;
    --color-header: rgba(1, 45, 62, .7);
}

/* @font-face {
    font-family: FontName;
    src: url(../url);
} */

body {
    position: relative;
    background-color: var(--color-white);
    font-family: 'Sofia Pro', sans-serif;
    font-size: 15px;
}

* {
    box-sizing: border-box;
    touch-action: manipulation;
}

img {
    display: block;
    object-fit: contain;
}


/* --------------------------------------General-------------------------------------- */

/* Sections */
section {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}
section.full {
    min-height: 100vh;
}
section.start {
    align-items: start;
}
section.end {
    align-items: end;
}

/* Header */
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
    display: block;
    width: 100%;
    height: min-content;
    background-color: transparent;
    color: var(--color-white);
    translate: 0 -100%;
    transition: background-color 0.3s, translate 0.3s;
}

header.visible {
    translate: 0;
}

header.white {
    color: var(--color-black);
}

header.active,
body:not([data-scroll="0"]) header {
    background-color: var(--color-header);
    color: var(--color-white);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}

nav {
    display: grid;
    grid-template-columns: auto 1fr 145px;
    align-items: center;
    padding: 0 2rem;
    width: 100%;
    height: 140px;
    background-color: transparent;
    color: inherit;
    transition: height 0.3s, background-color 0.3s;
}

body:not([data-scroll="0"]) header.visible nav {
    height: 100px;
    background-color: var(--color-opaque);
}

header.active nav {
    background-color: var(--color-opaque);
}

nav img {
    height: 60px;
    transition: height 0.3s
}

body:not([data-scroll="0"]) nav img {
    height: 50px;
}

.nav__categories {
    display: flex;
    justify-content: center;
    gap: 4rem;
    font-size: 1.3em;
    font-weight: 600;
}

.nav__categories button {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    background-color: transparent;
    outline: none;
    border: none;
    color: inherit;
    font-weight: inherit;
    transition: color 0.3s;
}

.nav__categories button.selected {
    color: var(--color-blue);
}

.nav__categories button::before {
    content: "";
    position: absolute;
    display: block;
    left: 50%;
    bottom: -0.7rem;
    width: 0;
    height: 3px;
    background-color: var(--color-blue);
    border-radius: 1.5px;
    translate: -50%;
    transition: width 0.3s;
}

.nav__categories button.selected::before {
    width: 100%;
}

.nav__contact {
    display: flex;
    justify-content: space-between;
    font-size: 0.95em;
    font-weight: 300;
}

header.active .nav__contact {
    display: none;
}

.nav__mob-btn,
.nav__close-btn {
    justify-self: end;
    display: none;
    padding: 0;
    background-color: transparent;
    outline: none;
    border: none;
    color: inherit;
    font-size: 2em;
}

.nav__mob-btn  {
    width: 45px;
}

header.active .nav__close-btn {
    display: block;
}

.header__menu {
    display: grid;
    justify-content: center;
    width: 100%;
    background-color: var(--color-opaque);
}

.header__menu.gallery {
    grid-template-columns: repeat(4, 260px);
    column-gap: 1.3rem;
    padding: 4rem 0 10rem 0;
}

.header__menu.gallery.five {
    grid-template-columns: repeat(5, 200px);
}

.header__menu.columns {
    grid-template-columns: auto 1px auto 1px auto 1px auto;
    align-content: start;
    column-gap: 2rem;
    padding: 4rem 2rem;
    height: calc(100vh - 140px);
}

.header__menu.search {
    grid-template-columns: 1fr;
    padding: 3rem 2rem 4rem 2rem;
}

.header__menu.store {
    grid-template-columns: 30px 1fr 30px;
    padding: 3rem 2rem 4rem 2rem;
    column-gap: 1.5rem;
}

.header__menu.gallery a {
    display: block;
    width: 100%;
}

.header__menu.gallery span {
    display: block;
    margin-bottom: 1.8rem;
    color: var(--color-blue);
    text-align: center;
    font-size: 1.3em;
    font-weight: 600;
}

.header__menu.gallery.five span {
    margin-bottom: 1.5rem;
    height: 2.6em;
}

.header__menu.gallery img {
    width: 100%;
    aspect-ratio: 20 / 13;
    border-radius: 20px;
    object-fit: cover;
}

.header__menu.columns .spacer {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
}

.header__menu-column {
    display: flex;
    flex-direction: column;
    color: var(--color-white);
}

.header__menu-column span {
    display: block;
    margin-bottom: 1.4rem;
    color: var(--color-blue);
    font-size: 1.06em;
    font-weight: 600;
}

.header__menu-column span:not(:first-child) {
    margin-top: 2rem;
}

.header__menu-column a {
    margin-bottom: 1rem;
    transition: opacity 0.3s;
}

.header__menu-column a:hover {
    opacity: 0.7;
}

.header__menu.hidden {
    display: none;
}

.header__menu.store button {
    align-self: center;
    display: block;
    padding: 0;
    width: 100%;
    aspect-ratio: 1;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-white);
    font-size: 1.4em;
}

.header__menu.store button:disabled {
    opacity: 0;
}

.header__menu-swiper {
    justify-self: center;
    position: relative;
    display: block;
    width: 100%;
    max-width: 1000px;
    max-width: 500px;
    overflow: hidden;
}

.header__menu-swiper .swiper {
    width: 100%;
}

.header__menu-swiper .swiper-slide {
    width: 100%;
}

.header__store-category {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
}

.header__store-category img {
    width: 100%;
    aspect-ratio: 20 / 13;
    border-radius: 15px;
    object-fit: cover;
}

.header__store-category span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    width: 100%;
    height: calc(1.25em * 2);
    color: var(--color-blue);
    text-align: center;
    text-overflow: ellipsis;
    font-size: 1.07em;
    line-height: 1.25em;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.header__menu-mob {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 55px auto;
    justify-items: center;
    row-gap: 4rem;
    padding: 3rem 6rem;
    width: 100%;
    height: calc(100vh - 100px);
    background-color: var(--color-opaque);
    overflow: auto;
}

.header__mob-cart {
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0 2rem;
    height: 55px;
    background-color: var(--color-blue);
    border-radius: 27.5px;
    color: var(--color-white);
    font-size: 1.17em;
}

.header__mob-collaps {
    display: flex;
    flex-direction: column;
    padding-right: 1rem;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
}

.header__mob-collaps > * {
    flex-shrink: 0;
}

.header__mob-collaps::-webkit-scrollbar {
    width: 6px;
}

.header__mob-collaps::-webkit-scrollbar-track {
    background: var(--color-opaque);
    border-radius: 3px;
}

.header__mob-collaps::-webkit-scrollbar-thumb {
    background: var(--color-blue);
    border-radius: 3px;
}

.header__mob-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
    row-gap: 2rem;
    padding: 0 1.6rem 2rem 1.6rem;
}

.header__mob-columns {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 2rem;
    padding: 0 1.6rem 2rem 1.6rem;
}

.header__mob-columns a {
    margin-bottom: 1rem;
}

.header__mob-columns span,
.header__mob-gallery span {
    display: block;
    margin-bottom: 1.6rem;
    color: var(--color-blue);
    font-size: 1.3em;
    font-weight: 600;
}

.header__mob-gallery span {
    text-align: center;
}

.header__mob-columns span:not(:first-child) {
    margin-top: 1rem;
}

.header__mob-gallery img {
    width: 100%;
    aspect-ratio: 20 / 13;
    border-radius: 20px;
    object-fit: cover;
}

.header__mob-columns div {
    display: flex;
    flex-direction: column;
}

.header__mob-columns .spacer {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
}

body:not([data-scroll="0"]) .header__menu.columns {
    height: calc(100vh - 100px);
}

/* Footer */
footer {
    display: grid;
    grid-template-columns: 1fr repeat(3, auto);
    background-color: var(--color-dark);
    padding: 4rem 4rem 6rem 4rem;
    column-gap: 5.3rem;
}

footer img {
    height: 60px;
}

.footer__column {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer__column p {
    margin-bottom: 0.6rem;
    color: var(--color-blue);
    font-size: 1.6em;
    font-weight: 600;
}

.footer__column a {
    color: var(--color-white);
    font-size: 1.06em;
    font-weight: 300;
    transition: opacity 0.25s;
}

.footer__column a:hover {
    opacity: 0.6;
}

.footer__row-second {
    grid-column: 1 / 5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-top: 5.3rem;
    column-gap: 2rem;
    row-gap: 1rem;
}

.footer__row.second {
    flex-wrap: wrap;
    align-items: center;
    margin-top: 5.3rem;
}

.footer__row-third {
    grid-column: 1 / 5;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 4rem;
    row-gap: 3rem;
    margin-top: 1.3rem;
}

.footer__row-third p {
    color: #5A808E;
    text-align: right;
    font-size: 1.06em;
    font-weight: 300;
}

.footer__simple-links {
    display: flex;
    column-gap: 2rem;
    row-gap: 0.8rem;
    width: max-content;
}

.footer__simple-links a {
    color: #5A808E;
    text-decoration: underline;
    font-size: 1.06em;
    font-weight: 300;
}

.footer__simple-links i {
    color: #5A808E;
}

.footer__links {
    display: flex;
    gap: 0.6rem;
}

.footer__links > a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    aspect-ratio: 1 / 1;
    color: var(--color-blue);
    border: 2px solid var(--color-blue);
    border-radius: 50%;
    font-size: 1.6em;
}

.footer__global {
    position: relative;
    display: block;
    margin-left: 2rem;
    width: 140px;
    height: 42px;
}

.footer__global button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    width: 100%;
    height: 100%;
    background: transparent;
    outline: none;
    border: 2px solid var(--color-blue);
    border-radius: 21px;
    color: var(--color-blue);
    font-size: 1.06em;
    font-weight: 300;
}

.footer__global-drop-up {
    position: absolute;
    display: block;
    top: -1rem;
    left: 50%;
    z-index: 300;
    width: 280px;
    height: 0;
    background-color: var(--color-header);
    border-radius: 10px;
    translate: -50% -100%;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    transition: height 0.3s;
    overflow: hidden;
}

.footer__global-drop-up > div {
    display: block;
    padding: 1rem 4px 1rem 1rem;
    width: 100%;
    height: 100%;
    background-color: #1212124C;
}

.footer__global-links {
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    padding-right: 6px;
    width: 100%;
    height: 100%;
}

.footer__global-links::-webkit-scrollbar {
    width: 4px;
}

.footer__global-links::-webkit-scrollbar-track {
    background: #F8F9FA20;
    border-radius: 2px;
}

.footer__global-links::-webkit-scrollbar-thumb {
    background: var(--color-light);
    border-radius: 2px;
}

.footer__global-links p {
    margin-bottom: 10px;
    color: var(--color-blue);
    font-size: 1.3em;
    font-weight: 600;
}

.footer__global-links p:not(:first-child) {
    margin-top: 1.2rem;
}

.footer__global-links a {
    margin: 6px 0;
    color: var(--color-white);
    font-size: 1em;
    font-weight: 300;
    transition: opacity 0.25s;
}

.footer__global-links a:hover {
    opacity: 0.6;
}

.footer__phone {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 1rem;
    color: var(--color-white);
}

.footer__phone .green {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    color: var(--color-green);
    font-size: 1.05em;
    font-weight: 600;
}

.footer__phone p {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    font-size: 0.9em;
    font-weight: 300;
}

.footer__phone i {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    font-size: 1.8em;
}

.footer__phone span {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
    display: block;
    width: max-content;
    font-size: 2.5em;
    font-weight: 600;
}

/* Product Frame */
.product-frame {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1.3rem;
    padding: 5px;
    width: 100%;
    max-width: 230px;
    background-color: #F3F3F3;
    border-radius: 20px;
    cursor: pointer;
}

.product-frame img {
    width: 100%;
    aspect-ratio: 25 / 21;
    border-radius: 18px;
    object-fit: cover;
}

.product-frame > div {
    display: flex;
    flex-direction: column;
    padding: 0 0.6rem 0.8rem 0.6rem;
    width: 100%;
    overflow: hidden;
}

.product-frame h2,
.product-frame h5 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    width: 100%;
    height: calc(1.1em * 2);
    color: var(--color-blue);
    text-overflow: ellipsis;
    font-size: 1.3em;
    font-weight: 600;
    line-height: 1.1em;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.product-frame p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin: 0.6rem 0 0.6rem 0;
    height: calc(1.1em * 3);
    text-overflow: ellipsis;
    font-size: 1.05em;
    line-height: 1.1em;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* Whats Button */
.general__whats {
    position: fixed;
    left: 4rem;
    bottom: 1rem;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 1.3rem;
    padding: 0 2rem;
    height: 55px;
    background-color: var(--color-green);
    border-radius: 15px;
    color: var(--color-white);
    font-size: 1.06em;
}

.general__whats i {
    font-size: 1.5em;
}

/* Loader */
.loader__modal {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    padding: 0 0 2rem 0;
    width: 100%;
    height: 100vh;
    background-color: #0016240C;
}

.loader__cont {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    overflow: hidden;
    background: transparent;
}
.loader__cont span {
    position: absolute;
    left: 54px;
    bottom: 2rem;
    color: #A8A9A8;
    text-align: center;
    font-size: 1.1em;
}

.loader {
    position: relative;
    width: 100%;
    height: 100%;
    transform: translateZ(0) scale(1);
    backface-visibility: hidden;
    transform-origin: 0 0;
}
.loader div {
    box-sizing: content-box;
    position: absolute;
    border-width: 4px;
    border-style: solid;
    opacity: 1;
    border-radius: 50%;
    animation: loader-animation 1.1363636363636365s cubic-bezier(0,0.2,0.8,1) infinite;
}
.loader div:nth-child(1) {
    border-color: #A8A9A8;
    animation-delay: 0s;
}
.loader div:nth-child(2) {
    border-color: #0D0D13;
    animation-delay: -0.5681818181818182s;
}

#loader-text {
    animation: loader-text 1.1363636363636365s ease-in-out infinite alternate;
}



/* ----------------------------------------Home---------------------------------------- */
.home {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 130px min-content auto;
}

.home__whats {
    position: fixed;
    left: 4rem;
    bottom: 1rem;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 1.3rem;
    padding: 0 2rem;
    height: 55px;
    background-color: var(--color-green);
    border-radius: 15px;
    color: var(--color-white);
    font-size: 1.06em;
}

.home__whats i {
    font-size: 1.5em;
}

.home__video {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: block;
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

/* Banner */
.home__banner {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    min-height: 100vh;
}

.home__banner > div {
    display: flex;
    flex-direction: column;
    padding: 12rem 0 calc(9rem + 130px) 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #00000000 0%, var(--color-blue) 100%);
}

.home__banner h1 {
    margin: auto 0 0 12%;
    max-width: 620px;
    color: var(--color-white);
    /* text-transform: uppercase; */
    font-size: 3.9em;
    font-weight: 600;
}

.home__banner h3 {
    margin: 1.5rem 0 0 12%;
    color: var(--color-white);
    font-size: 2.5em;
    font-weight: 400;
}

.home__search {
    display: grid;
    grid-template-columns: 1fr 60px;
    margin: 0 auto;
    width: 100%;
    max-width: 600px;
    height: 56px;
    border-radius: 28px;
    overflow: hidden;
}

.home__search input {
    display: block;
    padding: 0 2.1rem;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    outline: none;
    border: none;
    font-size: 1.06em;
}

.home__search input::placeholder {
    color: #C6C6C6;
}

.home__search button {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
    outline: none;
    border: none;
    color: var(--color-white);
    font-size: 1.2em;
}

/* Horizontal Scroll */
.home__horizontal-scroll {
    grid-column:  1 / 2;
    grid-row: 2 / 4;
    display: block;
    margin: 0 4rem;
    padding-bottom: 2.3rem;
    width: calc(100% - 8rem);
    height: max-content;
    overflow-x: scroll;
    overflow-y: hidden;
}

.home__horizontal-scroll::-webkit-scrollbar {
    height: 6px;
}

.home__horizontal-scroll::-webkit-scrollbar-track {
    background: var(--color-light);
}

.home__horizontal-scroll::-webkit-scrollbar-thumb {
    background: var(--color-blue);
    border-radius: 3px;
}

.home__category-slides {
    display: flex;
    width: max-content;
    gap: 1.6rem;
}

.home__category-slide {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    height: 280px;
    aspect-ratio: 25 / 18;
    border-radius: 20px;
    color: var(--color-white);
    overflow: hidden;
}

.home__category-slide img {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: block;
    width: 100%;
    height: inherit;
    object-fit: cover;
}

.home__category-slide div {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 0.6rem;
    padding: 1.6rem 2rem;
}

.home__category-slide h4 {
    font-size: 1.6em;
    font-weight: 600;
}

.home__category-slide p {
    font-size: 1.06em;
    font-weight: 300;
}

/* Categories */
.home__categories {
    padding: 3.3rem 2rem 10rem 2rem;
    gap: 8rem;
}

.home__main-category {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 67vh min-content;
    width: 100%;
    gap: 3.6rem;
}

.home__main-products {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    height: max-content;
    container-type: normal;
}

.home__category {
    display: grid;
    gap: 1rem;
    width: 100%;
    height: min-content;
}

.home__category.left {
    grid-template-columns: minmax(440px, 1fr) auto;
}

.home__category.right {
    grid-template-columns: auto minmax(420px, 1fr);
}

.home__category-banner {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.home__category-banner img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home__banner-cont {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 10;
    padding: 3.2rem 2rem;
    width: 100%;
    height: 100%;
    color: var(--color-white);
}

.home__main-category .home__banner-cont {
    justify-content: start;
}

.home__banner-cont h2 {
    text-align: center;
    font-size: 3.2em;
    font-weight: 600;
}

.home__banner-cont p {
    margin: 1.2rem 0 3.3rem 0;
    font-size: 1.06em;
    font-weight: 300;
}

.home__banner-cont a {
    display: flex;
    align-items: center;
    padding: 0 3rem;
    height: 60px;
    background-color: var(--color-blue);
    border-radius: 30px;
    color: var(--color-white);
    font-size: 1.2em;
    font-weight: 600;
}

.home__category-products {
    display: block;
}

.home__category-products::-webkit-scrollbar {
    height: 6px;
}

.home__category-products::-webkit-scrollbar-track {
    background: var(--color-light);
}

.home__category-products::-webkit-scrollbar-thumb {
    background: var(--color-blue);
    border-radius: 3px;
}

.home__category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(auto, 230px));
    gap: 1rem;
}

/* News */
.home__news {
    gap: 1.8rem;
    background-color: var(--color-dark-blue);
    align-items: start;
    padding: 4rem 0;
    overflow: hidden;
}

.home__news h2 {
    padding-left: 4rem;
    color: var(--color-white);
    font-size: 3.2em;
    font-weight: 600;
}

.home__news-swiper {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.home__news-swiper .swiper {
    width: 100%;
}

.home__news-swiper .swiper-slide {
    display: block;
    width: min-content;
}

.home__news-swiper .swiper-slide:first-child {
    padding-left: 4rem;
}

.home__news-swiper .swiper-slide:last-child {
    padding-right: 4rem;
}

.home__news-slide {
    display: flex;
    flex-direction: column;
    width: 310px;
    color: var(--color-white);
    user-select: none;
}

.home__news-slide img {
    width: 100%;
    aspect-ratio: 50/ 47;
    border-radius: 20px;
}

.home__news-slide h5 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin: 3rem 0 1.2rem 0;
    width: 100%;
    height: calc(1.2em * 2);
    text-overflow: ellipsis;
    font-size: 1.6em;
    font-weight: 600;
    line-height: 1.1em;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.home__news-slide p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: calc(5 * 1.1em);
    text-overflow: ellipsis;
    font-size: 1.05em;
    font-weight: 300;
    line-height: 1.1em;
    -webkit-line-clamp: 5;
    overflow: hidden;
}

.home__news-slide a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    width: 224px;
    height: 60px;
    background-color: var(--color-blue);
    border-radius: 30px;
    font-size: 1.2em;
    font-weight: 600;
}



/* -----------------------------------Beghelli Group----------------------------------- */

/* About Us */
.us__banner {
    display: block;
    width: 100%;
    height: 60vh;
    background: linear-gradient(0deg, #00000000 0%, #00AEEF80 100%);
}

.us__banner img {
    position: relative;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.us {
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 4rem 6rem 4rem 6rem;
    row-gap: 4rem;
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
    height: max-content;
}

.us__info {
    grid-column: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.us__info h1 {
    color: var(--color-blue);
    font-size: 2.8em;
    font-weight: 600;
}

.us__info h2 {
    font-size: 2.2em;
    font-weight: 300;
}

.us__info p {
    font-size: 1.06em;
    font-weight: 300;
}

.us__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.us__list div {
    display: grid;
    grid-template-columns: 7fr 10fr;
    grid-template-rows: min-content 1fr;
    column-gap: 20px;
    row-gap: 10px;
    padding: 5px;
    height: min-content;
    border-radius: 20px;
    background-color: var(--color-light);
}

.us__list img {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    width: 100%;
    aspect-ratio: 14 / 9;
    border-radius: 18px;
    object-fit: cover;
}

.us__list h3 {
    align-self: start;
    padding-top: 1.3rem;
    font-size: 1.3em;
    font-weight: 600;
}

.us__list p {
    align-self: start;
    padding-bottom: 1.3rem;
    font-size: 1.06em;
}

/* Authorized Agents & Investor Relations */

/* Asesor General case */
#distributor-list > .agent__frame {
    padding: 15px 5px;
    font-size: 16px;
}

.agent__frame,
.investor__frame {
    display: grid;
    grid-template-columns: 140px auto 1fr;
    column-gap: 1.8rem;
    padding: 5px;
    width: 100%;
    background-color: #F3F3F3;
    border-radius: 20px;
    cursor: pointer;
}

.agent__frame img,
.investor__frame img {
    grid-column:  1 / 2;
    grid-row:  1 / 5;
    width: 100%;
    height: 100%;
    border-radius: 18px;
    object-fit: cover;
}

.agent__frame h4,
.investor__frame h4 {
    grid-column: 2 / 4;
    grid-row: 1 / 2;
    padding: 20px 0 10px 0;
    color: var(--color-blue);
    text-transform: uppercase;
    font-size: 1.3em;
    font-weight: 600;
}

.investor__frame h4 {
    padding: 20px 0 0 0;
}

.agent__frame h5,
.investor__frame h5 {
    grid-column: 2 / 4;
    grid-row: 2 / 3;
    font-size: 1.06em;
    font-weight: 600;
}

.investor__frame h5 {
    grid-row: 4 / 5;
}

.agent__frame p,
.investor__frame p {
    grid-column: 2 / 4;
    grid-row: 3 / 4;
    padding: 10px 0;
    font-size: 0.95em;
    font-weight: 300;
}

.agent__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 20px;
    width: 100%;
    font-size: 0.95em;
    font-weight: 300;
}

.investor__info {
    display: flex;
    flex-direction: column;
}

.investor__links {
    display: grid;
    grid-template-columns: repeat(2, auto 1fr);
    align-items: center;
    column-gap: 10px;
    padding-bottom: 15px;
    width: 100%;
    font-size: 0.95em;
    font-weight: 300;
}

.investor__link {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 10px;
    padding: 10px 0;
    width: 100%;
    font-size: 0.95em;
    font-weight: 300;
}

.agent__link a,
.investor__link a,
.investor__links a {
    text-decoration: underline;
}

/* Partnerships */
.partner__frame {
    display: grid;
    grid-template-columns: 140px 1fr;
    column-gap: 1.8rem;
    margin-bottom: 1rem;
    padding: 5px;
    width: 100%;
    background-color: #F3F3F3;
    border-radius: 20px;
    cursor: pointer;
}

.partner__frame img {
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    border-radius: 18px;
}

.partner__frame p {
    align-self: center;
    padding: 1rem;
    font-size: 1.06em;
    font-weight: 300;
}



/* -------------------------------------Products------------------------------------- */

/* Banner */
.products__banner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 50vh;
    width: 100%;
}

.products__banner img {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.products__banner div {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    padding: 0 2rem;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #00000000 0%, var(--color-blue) 100%);
    color: var(--color-white);
}

.products__banner h1 {
    display: block;
    max-width: 450px;
    text-align: center;
    font-size: 3.2em;
    font-weight: 600;
}

.products__banner p {
    display: block;
    max-width: 550px;
    text-align: center;
    font-size: 1.06em;
    font-weight: 300;
}

/* Area & Category */
.products__area {
    align-items: start;
    padding: 12rem 6rem 8rem 6rem;
}

.products__category {
    align-items: start;
    padding: 6rem 6rem 8rem 6rem;
}

.products__area h1,
.products__category h1 {
    margin: 4rem 0 1.3rem;
    font-size: 2.2em;
    font-weight: 300;
}

.products__category h1:last-child {
    margin: 4rem 0 0 0;
}

.products__area p,
.products__category p {
    display: block;
    max-width: 1000px;
    font-size: 1.06em;
    font-weight: 300;
}

.products__area span,
.products__category span {
    margin-top: 3.4rem;
    color: var(--color-blue);
    font-size: 1.06em;
    font-weight: 300;
}

.products__area b,
.products__category b {
    font-weight: 600;
}

.products__area a,
.products__category a {
    text-decoration: underline;
    font-weight: 600;
}

/* Product Gallery */
.products__gallery {
    display: grid;
    grid-template-columns: 180px 1fr;
    align-items: start;
    gap: 3rem;
    padding: 0 2rem 6.8rem 2rem;
}

.products__gallery > button {
    justify-self: start;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0 2rem;
    height: 45px;
    gap: 1rem;
    background-color: transparent;
    outline: none;
    border: 2px solid var(--color-black);
    border-radius: 22.5px;
    font-size: 1.1em;
}

.products__gallery-filters {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    padding-top: 2rem;
    width: 100%;
}

.products__gallery-filters::-webkit-scrollbar {
    width: 6px;
}

.products__gallery-filters::-webkit-scrollbar-track {
    background: #12121220;
    border-radius: 3px;
}

.products__gallery-filters::-webkit-scrollbar-thumb {
    background: var(--color-opaque);
    border-radius: 3px;
}

.products__gallery-filters > button {
    display: none;
}

.product__filter {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: min-content auto;
    row-gap: 1.3rem;
    width: 100%;
}

.product__filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.06em;
    font-weight: 600;
    cursor: pointer;
}

.product__filter-header h3 {
    font-size: inherit;
    font-weight: inherit;
}

.product__filter-options {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    height: max-content;
    font-size: 1.06em;
    font-weight: 300;
    transition: height 0.3s;
    overflow: hidden;
}

.product__filter-options h4 {
    font-size: inherit;
    font-weight: inherit;
}

.product__filter-options button {
    display: block;
    margin: 0;
    padding: 0;
    width: max-content;
    background-color: transparent;
    outline: none;
    border: none;
    font-weight: inherit;
    transition: color 0.25s
}

.product__filter-options .current {
    color: var(--color-blue);
    cursor: default;
}

.products__gallery-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

.products__gallery-items h3 {
    grid-column: 1 / -1;
    margin: 1.5rem 0 0.5rem 0;
    font-size: 1.5em;
    font-weight: 600;
}

.products__gallery-items h3:first-child {
    margin: 0 0 0.5rem 0;
}

/* Search */
.products__search-header div {
    display: grid;
    grid-template-columns: 40px auto 1fr;
    align-items: center;
    margin: 3rem 0 2rem ;
}

.products__search-header button {
    display: block;
    width: 100%;
    height: 40px;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-dark-blue);
    font-size: 2em;
}

.products__search-header h2 {
    margin: 0 1rem 0 1rem;
}

.products__search-header p {
    padding: 5px 12px;
    background-color: #00AEEF10;
    border-radius: 8px;
    font-size: 2em;
    font-weight: 300;
}



/* ----------------------------------Product Detail---------------------------------- */

.product {
    display: grid;
    grid-template-columns: 5fr 4fr;
    padding: 12rem 6rem 8rem 6rem;
    align-items: start;
    column-gap: 6rem;
    row-gap: 4rem;
    margin: 0 auto;
    max-width: 1400px;
}

.product .beghelli__hierarchy {
    grid-column: 1 / 3;
}

/* Description */

.product__description {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
}

.product__description h1 {
    margin-bottom: 1rem;
    font-size: 4em;
    font-weight: 600;
}

.product__description h2 {
    font-size: 2.4em;
    font-weight: 300;
}

.product__description p {
    font-size: 1.06em;
    font-weight: 300;
}

.product__description h4 {
    color: var(--color-blue);
    font-size: 1.1em;
    font-weight: 600;
}

.product__description li {
    margin: 5px 0;
    font-size: 1.1em;
    font-weight: 300;
}

.product__description a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.8rem;
    width: max-content;
    height: 40px;
    min-width: 220px;
    background-color: var(--color-blue);
    border-radius: 20px;
    color: var(--color-white);
    font-size: 1em;
    font-weight: 500;
}

.product__description a h5 {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.product__certificates {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.product__certificates img {
    display: block;
    height: 60px;
    object-fit: cover;
}

.product__selects {
    display: flex;
    gap: 1.2rem;
}

.product__selects select {
    display: block;
    padding: 0 1rem;
    width: 100%;
    height: 50px;
    max-width: 350px;
    outline: none;
    border: 1px solid var(--color-black);
    border-color: #C9C9C9;
    border-radius: 10px;
    font-size: 1.06em;
    font-weight: 300;
    transition: border-color 0.3s;
}

.product__total {
    margin-top: 1rem;
    font-size: 1.45em;
}

.product__purchase {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}

.product__purchase > button {
    display: block;
    width: 210px;
    height: 50px;
    background-color: var(--color-blue);
    outline: none;
    border: none;
    border-radius: 25px;
    color: var(--color-white);
    font-size: 1.1em;
}

.product__qty {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: 60px 1fr 60px;
    grid-template-rows: 50px;
    width: 100%;
    max-width: 210px;
    box-shadow: 0px 0px 3px #12121240;
    border-radius: 25px;
    overflow: hidden;
}

.product__qty button {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-dark-blue);
    outline: none;
    border: none;
    color: var(--color-white);
    font-size: 1.2em;
    line-height: 1em;
}

.product__qty span {
    text-align: center;
    font-size: 1.33em;
}

.product__images {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(75px, 1fr));
    gap: 1rem;
    width: 100%;
}

.product__images img {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 15px;
}

.product__images .img-main {
    grid-column: 1 / -1;
    box-shadow: 0 0 4px #12121230;
    border-radius: 20px;
}

.product__images .img-thumb {
    transition: box-shadow 0.25s;
    cursor: pointer;
}

.product__images .img-thumb:hover {
    box-shadow: 0 0 6px #12121250;
}

/* Cart */
.cart {
    padding: 12rem 4rem 4rem 4rem;
}

.cart__grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    column-gap: 2.3rem;
    row-gap: 1.2rem;
    margin: 0 auto auto auto;
    width: 100%;
    max-width: 1200px;
}

.cart__grid h1 {
    grid-column: 1 / -1;
    margin-bottom: 1.5rem;
    font-size: 45px;
}

.cart__grid .beghelli__hierarchy {
    grid-column: 1 / -1;
}

.cart__products {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
}

.cart__product-row {
    display: grid;
    grid-template-columns: 95px 1fr 150px 120px;
    align-items: center;
    column-gap: 1.33rem;
    padding: 5px 15px 5px 5px;
    width: 100%;
    background-color: #F3F3F3;
    border-radius: 18px;
}

.cart__product-row img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 15px;
    object-fit: cover;
}

.cart__product-row p {
    font-size: 1.3em;
    font-weight: 400;
}

.cart__product-row > span {
    text-align: center;
    font-size: 1.17em;
    font-weight: 600;
}

.cart__product-qty {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: 45px 1fr 45px;
    grid-template-rows: 40px;
    width: 100%;
    background-color: var(--color-white);
    border-radius: 25px;
    overflow: hidden;
}

.cart__product-qty button {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
    outline: none;
    border: none;
    color: var(--color-white);
    font-size: 1.1em;
    line-height: 1em;
}

.cart__product-qty span {
    text-align: center;
    font-size: 1.33em;
}

.cart__resume {
    justify-self: center;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 500px;
}

.cart__resume a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    width: 100%;
    height: 45px;
    background-color: var(--color-blue);
    border-radius: 22.5px;
    color: var(--color-white);
    font-size: 1.07em;
    font-weight: 500;
}

.cart__resume-coupon {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 10px;
    row-gap: 1rem;
    margin-bottom: 2rem;
}

.cart__resume-coupon span {
    grid-column: 1 / -1;
    font-size: 1.17em;
    font-weight: 600;
}

.cart__resume-coupon input {
    display: block;
    padding: 0 1rem;
    width: 100%;
    height: 45px;
    outline: none;
    border: 1px solid #C9C9C9;
    border-radius: 10px;
    font-size: 1.06em;
    font-weight: 300;
    transition: border-color 0.3s;
}

.cart__resume-coupon button {
    display: block;
    padding: 0 1rem;
    height: 45px;
    background-color: transparent;
    outline: none;
    border: 1.5px solid var(--color-blue);
    border-radius: 10px;
    color: var(--color-blue);
}

.cart__resume-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    font-size: 1.2em;
}

.cart__resume-row span {
    font-weight: 600;
}

.cart__resume hr {
    margin-bottom: 1.5rem;
    background-color: #F3F3F3;
    border-color: #F3F3F3;
    color: #F3F3F3;
}

.cart__empty {
    display: flex;
    flex-direction: column;
    margin-bottom: auto;
    width: 100%;
    height: 100%;
    max-width: 1200px;
}

.cart__empty h2 {
    margin: 2rem 0 1.8rem 0;
    font-size: 2.2rem;
}

.cart__empty p {
    font-size: 1.2em;
}

.cart__empty a {
    color: var(--color-blue);
}

.cart__empty a:hover {
    text-decoration: underline;
}

/* Client */
.client {
    padding: 12rem 4rem 4rem 4rem;
}

.client__order,
.client__success-cont {
    display: grid;
    grid-template-columns: 1fr 360px;
    column-gap: 2.3rem;
    row-gap: 1.2rem;
    margin: 0 auto auto auto;
    width: 100%;
    max-width: 1200px;
}

.client__success-cont {
    column-gap: 5rem;
}

.client__success {
    display: flex;
    flex-direction: column;
    row-gap: 1.2rem;
}

.client__success h1 {
    grid-column: 1 / -1;
    margin-bottom: 1.5rem;
    font-size: 45px;
}

.client__success p {
    font-size: 1.2em;
}

.client__success-products {
    display: grid;
    grid-template-columns: 1fr auto auto;
    column-gap: 2rem;
    border-bottom: 1px solid #F3F3F3;
}

.client__success-products *:not(hr) {
    padding: 0.8rem 0.6rem;
}

.client__success-products span {
    font-size: 1.2em;
    font-weight: 600;
}

.client__success-products hr {
    grid-column: 1 / -1;
    background-color: #F3F3F3;
    border-color: #F3F3F3;
    color: #F3F3F3;
}

.client__order h1 {
    grid-column: 1 / -1;
    margin-bottom: 1.5rem;
    font-size: 45px;
}

.client__order .beghelli__hierarchy {
    grid-column: 1 / -1;
}

.client__form {
    display: flex;
    flex-direction: column;
}

.client__form span {
    margin: 1rem 0;
    font-size: 1.06em;
    font-weight: 600;
    line-height: 1.4em;
}

.client__form a {
    color: var(--color-blue);
}

.client__form-input {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 2rem;
    margin-bottom: 1.3rem;
    width: 100%;
}

.client__form-input label {
    align-self: center;
    font-size: 1.1em;
    font-weight: 600;
}

.client__form-input input {
    display: block;
    padding: 0 1rem;
    width: 100%;
    height: 50px;
    outline: none;
    border: 1px solid;
    border-color: #C9C9C9;
    border-radius: 10px;
    font-size: 1.06em;
    font-weight: 300;
    transition: border-color 0.3s;
}

.client__form-input input:focus {
    border-color: var(--color-black);
}

.client__resume {
    display: flex;
    flex-direction: column;
}

.client__resume button {
    display: block;
    margin-top: 2rem;
    width: 100%;
    height: 45px;
    background-color: var(--color-blue);
    outline: none;
    border: none;
    border-radius: 22.5px;
    color: var(--color-white);
    font-size: 1.07em;
    font-weight: 500;
}

.client__resume a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    width: 100%;
    height: 45px;
    background-color: var(--color-blue);
    border-radius: 22.5px;
    color: var(--color-white);
    font-size: 1.07em;
    font-weight: 500;
}

.client__resume hr {
    margin-bottom: 1.5rem;
    background-color: #F3F3F3;
    border-color: #F3F3F3;
    color: #F3F3F3;
}

.client__resume-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    font-size: 1.2em;
}

.client__resume-row span {
    font-weight: 600;
}



/* ---------------------------------Reusable Elements--------------------------------- */

/* Hierarchy & Nav */
.beghelli__navigation {
    grid-column: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 1rem;
}

.beghelli__hierarchy {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-size: 0.95em;
    font-weight: 300;
}

.beghelli__hierarchy b {
    font-weight: 600;
}

.beghelli__category-nav {
    display: flex;
    align-items: center;
    gap: 2.6rem;
    font-size: 0.95em;
}

.beghelli__category-nav a {
    transition: color 0.3s;
}

.beghelli__category-nav a:hover {
    color: var(--color-blue);
}

.beghelli__category-nav .current {
    position: relative;
    color: var(--color-blue);
    font-weight: 600;
    cursor: default;
}

.beghelli__category-nav .current::before {
    content: "";
    position: absolute;
    display: block;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--color-blue);
    border-radius: 1.5px;
}

.beghelli__category-nav button {
    display: none;
    padding: 0;
    width: 40px;
    height: 40px;
    background-color: #F3F3F3;
    outline: none;
    border: none;
    border-radius: 50%;
    font-size: 1.2em;
}

.beghelli__category-modal {
    position: fixed;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    top: 0;
    left: 0;
    z-index: 10000000;
    width: 100%;
    height: 100vh;
    background-color: var(--color-header);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    opacity: 0;
    transition: opacity 0.25s;
    pointer-events: none;
}

.beghelli__category-modal.active {
    opacity: 1;
    pointer-events: all;
}

.beghelli__category-modal * {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.beghelli__category-modal .overlay {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-opaque);
}

.beghelli__category-modal button {
    align-self: start;
    justify-self: end;
    margin: 2rem;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-white);
    font-size: 1.8em;
}

.beghelli__category-modal-list {
    align-self: end;
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
    padding: 2rem 1.6rem;
    background-color: var(--color-white);
    border-radius: 15px 15px 0 0;
    transition: translate 0.3s;
    transition-delay: 0.2s;
    translate: 0 100%;
}

.beghelli__category-modal.active
.beghelli__category-modal-list {
    translate: 0 0;
}

.beghelli__category-modal-list a {
    font-size: 1.06em;
    font-weight: 300;
}

.beghelli__category-modal-list .current {
    color: var(--color-blue);
    font-weight: 600;
    cursor: default;
}

/* Search Bar */
.beghelli__search-bar {
    display: grid;
    grid-template-columns: 1fr 60px;
    margin: 0 auto;
    width: 100%;
    height: 56px;
    border: 1px solid #C6C6C6;
    border-radius: 28px;
    overflow: hidden;
}

.beghelli__search-bar input {
    display: block;
    padding: 0 2.1rem;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    outline: none;
    border: none;
    font-size: 1.06em;
}

.beghelli__search-bar input::placeholder {
    color: #C6C6C6;
}

.beghelli__search-bar button {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
    outline: none;
    border: none;
    color: var(--color-white);
    font-size: 1.2em;
}

/* Group Page Layout */
.beghelli__group-list {
    display: grid;
    grid-template-columns: 11fr 15fr;
    align-items: start;
    column-gap: 4.2rem;
    row-gap: 4rem;
    margin: 0 auto;
    padding: 12rem 6rem;
    max-width: 1300px;
}

.beghelli__group-list h1 {
    align-self: center;
    color: var(--color-blue);
    font-size: 2.8em;
    font-weight: 600;
}

.beghelli__group-list > div:last-child {
    align-self: start;
}

.beghelli__group-list .beghelli__category-nav {
    justify-self: end;
}

.beghelli__group-img {
    display: block;
    width: 100%;
    aspect-ratio: 55 / 68;
    border-radius: 20px;
    overflow: hidden;
}

.beghelli__group-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.beghelli__collapsible {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto min-content;
    width: 100%;
    overflow: hidden;
}

.beghelli__collap-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2rem 0;
    padding: 0 1.6rem;
    font-size: 1.3em;
    font-weight: 600;
    cursor: pointer;
}

.beghelli__collap-cont {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    height: 0px;
    transition: height 0.3s;
}

/* Technical Area */
.beghelli__tech-list {
    display: grid;
    grid-template-columns: 15fr 11fr;
    align-items: start;
    column-gap: 7rem;
    row-gap: 2rem;
    margin: 0 auto;
    padding: 12rem 6rem 8rem 6rem;
    max-width: 1300px;
}

.beghelli__tech-list h1 {
    align-self: center;
    margin-top: 2rem;
    color: var(--color-blue);
    font-size: 2.8em;
    font-weight: 600;
}

.beghelli__tech-img {
    display: block;
    width: 100%;
    aspect-ratio: 55 / 68;
    border-radius: 20px;
    overflow: hidden;
}

.beghelli__tech-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.beghelli__tech-cont {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.beghelli__tech-cont h2 {
    margin: 3rem 0 2rem 0;
    font-size: 2.2em;
    font-weight: 300;
}

.beghelli__tech-cont h2:first-child {
    margin: 0 0 2rem 0;
}



/* -------------------------------Technical Area Content------------------------------- */

/* Product Literature */
.tech__catalogue-frame {
    display: grid;
    grid-template-columns: 140px 1fr;
    grid-template-rows: auto 1fr auto;
    column-gap: 1.3rem;
    row-gap: 0.7rem;
    margin-bottom: 1rem;
    padding: 5px;
    width: 100%;
    height: min-content;
    max-width: 600px;
    background-color: #F3F3F3;
    border-radius: 20px;
    cursor: pointer;
}

.tech__catalogue-frame img {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: var(--color-white);
    border-radius: 16px;
}

.tech__catalogue-frame h4 {
    margin-top: 1.3rem;
    font-size: 1.3rem;
    font-weight: 600;
}

.tech__catalogue-frame p {
    font-size: 1.06em;
    font-weight: 300;
}

.tech__catalogue-frame a {
    margin-bottom: 1.3em;
    color: var(--color-blue);
    font-size: 1.06em;
    font-weight: 600;
}

/* Success Cases */
.beghelli__tech-list.success {
    /* max-width: unset; */
    column-gap: 4rem;
}

.tech__success-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, 170px);
    gap: 1rem;
}

.tech__success-item {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0.8rem;
    padding: 5px;
    width: 100%;
    background-color: var(--color-light);
    border-radius: 20px;
    cursor: pointer;
}

.tech__success-item img {
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: 16px;
    object-fit: cover;
}

.tech__success-item h5 {
    padding: 0 1rem;
    font-size: 1.3em;
    font-weight: 600;
}

.tech__success-item p {
    padding: 0 1rem 1rem 1rem;
    font-size: 1.06em;
    font-weight: 300;
}

.tech__success-modal {
    position: fixed;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    align-items: center;
    justify-items: center;
    top: 0;
    left: 0;
    z-index: 10000050;
    row-gap: 2rem;
    padding: 3rem;
    width: 100%;
    height: 100vh;
    background-color: #121212A0;
    opacity: 0;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: opacity 0.3s;
    pointer-events: none;
}

.tech__success-modal.visible {
    opacity: 1;
    pointer-events: all;
}

.tech__success-modal img {
    width: min-content;
    width: 100%;
    height: 60vh;
    border-radius: 10px;
}

/* Downloads */
.tech__downloads-list li {
    margin-bottom: 1.3rem;
}

.tech__downloads-list a {
    color: #23527C;
    font-size: 1.3em;
    font-weight: 600;
}

.tech__downloads-list a:hover {
    text-decoration: underline;
}

/* Certifications */
.tech__certification {
    display: grid;
    grid-template-columns: 150px 1fr;
    column-gap: 20px;
    margin-bottom: 1.3rem;
    padding: 5px;
    border-radius: 20px;
    background-color: var(--color-light);
}

.tech__certification img {
    align-self: center;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    border-radius: 16px;
}

.tech__certification p {
    padding: 1.3rem 0;
    font-size: 1.06em;
    font-weight: 300;
}



/* --------------------------------------Support-------------------------------------- */

/* Support & Privacy Notice */
.support__cont,
.privacy__cont {
    padding: 12rem 6rem 8rem 6rem;
}

.support,
.privacy {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    max-width: 900px;
}

.privacy {
    gap: 1.3rem;
}

.support h1,
.privacy h1 {
    margin-top: 2rem;
    color: var(--color-blue);
    font-size: 2.8em;
    font-weight: 600;
}

.privacy h1 {
    margin-bottom: 1.5rem;
}

.support h2,
.privacy h2 {
    font-size: 2.2em;
    font-weight: 300;
}

.privacy h3 {
    margin-top: 1rem;
    color: var(--color-blue);
    font-size: 1.4em;
    font-weight: 300;
}

.support > p {
    font-size: 1.3em;
    font-weight: 300;
}

.privacy p {
    font-size: 1.1em;
    font-weight: 300;
}

.privacy b {
    font-weight: 600;
}

.privacy li {
    margin: 10px;
    font-size: 1.1em;
    font-weight: 300;
}

.support p a,
.privacy p a {
    color: var(--color-blue);
    font-size: inherit;
    font-weight: 600;
}

/* For Members Literature */
.privacy li a {
    color: #337AB7;
    transition: color 0.3s;
}

.privacy li a:hover {
    color: var(--color-dark-blue);
    text-decoration: underline;
}

/* FAQ */
.support__faq {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.support__faq .beghelli__collap-header {
    gap: 2rem;
    padding: 0 10px;
    margin: 1rem 0;
}

.support__faq h3 {
    font-size: 1.2em;
    font-weight: 300;
}

.support__ans {
    display: block;
    padding: 1.6em;
    background-color: var(--color-light);
    border-radius: 20px;
    font-size: 1.06em;
    font-weight: 300;
}



/* --------------------------------------Contact-------------------------------------- */

.contact {
    margin: 0 auto;
    padding: 12rem 6rem 8rem 6rem;
    max-width: 1100px;
    align-items: start;
}

.contact h1 {
    margin: 4rem 0 2rem 0;
    color: var(--color-blue);
    font-size: 2.8em;
    font-weight: 600;
}

.contact > p {
    font-size: 1.3em;
    font-weight: 300;
}

.contact > p a {
    color: var(--color-blue);
    font-weight: 600;
    transition: text-decocoration 0.3s;
}

.contact > p a:hover {
    text-decoration: underline;
}


/* Form */
.contact__form {
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    align-items: center;
    column-gap: 2rem;
    row-gap: 1.3rem;
    margin: 2rem 0 6rem 0;
    width: 100%;
}

.contact__form label {
    grid-column: 1 / 2;
    font-size: 1.1em;
    font-weight: 600;
}

.contact__form input,
.contact__form select,
.contact__form textarea {
    display: block;
    padding: 0 1rem;
    width: 100%;
    height: 50px;
    outline: none;
    border: 1px solid;
    border-color: #C9C9C9;
    border-radius: 10px;
    font-size: 1.06em;
    font-weight: 300;
    transition: border-color 0.3s;
}

.contact__form input:focus,
.contact__form select:focus,
.contact__form textarea:focus {
    border: 2px solid;
    border-color: var(--color-black);
}

.contact__form .column-2 {
    grid-column: 2 / 3;
}

.contact__form .column-3 {
    grid-column: 3 / 4;
}

.contact__form select {
    grid-column: 2 / 3;
}

.contact__form textarea {
    grid-column: 1 / -1;
    padding: 1rem;
    height: 110px;
    resize: none;
}

.contact__form span {
    grid-column: 1 / -1;
    margin: 1rem 0;
    font-size: 1.06em;
    font-weight: 600; 
}

.contact__form span a {
    color: var(--color-blue);
}

.contact__form button {
    grid-column: 1 / -1;
    display: block;
    padding: 0 3rem;
    width: min-content;
    height: 50px;
    background-color: var(--color-blue);
    outline: none;
    border: none;
    border-radius: 25px;
    color: var(--color-white);
    font-size: 1.15em;
}

/* Frames */
.contact__frames {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact__frames div {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1.3rem;
    background-color: var(--color-light);
    border-radius: 15px;
}

.contact__frames h3 {
    color: var(--color-blue);
    font-size: 1.5em;
    font-weight: 300;
}

.contact__frames p {
    font-size: 1.06em;
    font-weight: 300;
}

.contact__frames b {
    font-size: 1.06em;
    font-weight: 600;
}

.contact__frames p b {
    font-size: 1em;
}

.contact__frames a {
    color: var(--color-blue);
    font-size: 1.06em;
    font-weight: 600;
}

/* Map */
.contact__map {
    display: block;
    margin-top: 6rem;
}

.contact__map p {
    margin-bottom: 1.3rem;
    font-size: 1.3em;
    font-weight: 300;
}

.contact__map i {
    padding-right: 1rem;
}

.contact__map iframe {
    border-radius: 10px;
}



/* -------------------------------------Thank You------------------------------------- */

.thank-you {
    padding: 12rem 6rem 8rem 6rem;
}

.ty__content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 0 auto;
    width: 100%;
    max-width: 900px;
}

.ty__content h1 {
    margin-top: 2rem;
    color: var(--color-blue);
    font-size: 2.8em;
    font-weight: 600;
}

.ty__content h2 {
    font-size: 2.2em;
    font-weight: 300;
}

.ty__content p {
    font-size: 1.06em;
    font-weight: 300;
}

.ty__content a {
    color: var(--color-blue);
    font-weight: 600;
}



/* -------------------------------Social Responsibility------------------------------- */

/* Banner */
.sr__banner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 80vh;
    width: 100%;
}

.sr__banner img {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sr__banner div {
    grid-column: 1 / 2;
    grid-row: 1 / 25;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    padding: 0 2rem;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #21AF40A0 0%, #00648900 100%);
    color: var(--color-white);
}

.sr__banner h1 {
    display: block;
    max-width: 510px;
    text-align: center;
    text-shadow: 2px 2px 4px #00162430;
    font-size: 3.2em;
    font-weight: 600;
}

.sr__banner p {
    display: block;
    max-width: 550px;
    text-align: center;
    text-shadow: 2px 2px 4px #00162430;
    font-size: 1.06em;
    font-weight: 300;
}

/* Structure */
.sr__cont {
    gap: 5rem;
    padding: 6rem 6rem 8rem 6rem;
}

.sr__cont h2 {
    margin: 0;
    color: var(--color-blue);
    font-size: 2.8em;
    font-weight: 600;
}

.sr__title {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    width: 100%;
}

.sr__title img {
    display: block;
    height: 110px;
    object-fit: contain;
}

/* Articles */
.sr__entries {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    column-gap: 1.2rem;
    width: 100%;
}

.sr__entries .vr {
    display: block;
    width: 1px;
    height: 100%;
    background-color: #D9D9D9;
}

.sr__entries-column {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
    padding-bottom: 4rem;
}

.sr__entries-column hr {
    color: #D9D9D9;
}

.st__entry {
    display: flex;
    flex-direction: column;
}

.st__entry h4 {
    margin-bottom: 1.5rem;
    font-size: 2em;
    line-height: 1em;
}

.st__entry img {
    display: block;
    width: 100%;
    border-radius: 12px;
    object-fit: contain;
}

.st__entry p {
    margin: 1.6rem 0 3rem 0;
    font-size: 1.07em;
}

.st__entry div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.st__entry span {
    color: #A3A3A3;
    font-size: 1.07em;
    font-weight: 600;
}

.st__entry a {
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    height: 35px;
    border: 1.5px solid var(--color-blue);
    border-radius: 17.5px;
    color: var(--color-blue);
    font-size: 1.07em;
}

.sr__entries-pagination {
    grid-column: 1 / -1;
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3.2rem;
}

.sr__entries-pagination a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: transparent;
    border-radius: 20px;
    color: var(--color-blue);
    font-size: 1.07em;
    font-weight: 600;
}

.sr__entries-pagination a:first-child {
    margin-right: 2rem;
}

.sr__entries-pagination a:last-child {
    margin-left: 2rem;
}

.sr__entries-pagination a.text {
    gap: 8px;
    width: unset;
    font-weight: 400;
}

.sr__entries-pagination a.current {
    background-color: var(--color-blue);
    color: var(--color-white);
}

.sr__entries-pagination a.disabled {
    opacity: 0.5;
    cursor: default;
}

/* Products */
.sr__products {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 100%;
}

.sr__products .product-frame {
    width: 230px;
}

.sr__products .product-frame h2,
.sr__products .product-frame h5 {
    height: calc(1.1em * 1);
    line-clamp: 1;
    -webkit-line-clamp: 1;
}

.sr__products .product-frame p {
    height: calc(1.1em * 2);
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.sr__products-swiper {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.sr__products-swiper .swiper {
    width: 100%;
    height: 100%;
}

.sr__products-swiper .swiper-slide {
    display: block;
    width: max-content;
}



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

.post__cont {
    padding: 12rem 6rem 8rem 6rem;
}

.post {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    width: 100%;
    max-width: 850px;
}

.post h1 {
    margin-bottom: 3rem;
    font-size: 4em;
    font-weight: 600;
}

.post h2 {
    margin: 2.66rem 0 1.33rem 0;
    font-size: 2.4em;
    font-weight: 300;
}

.post h3 {
    margin: 2.66rem 0 1.33rem 0;
    color: var(--color-blue);
    font-size: 1.4em;
}

.post h4 {
    margin: 1.33rem 0;
    color: var(--color-blue);
    font-size: 1.27em;
}

.post h5 {
    margin: 1.33rem 0;
    color: var(--color-blue);
    font-size: 1.12em;
}

.post p,
.post ol,
.post ul {
    margin: 0.8rem 0;
    font-size: 1.07em;
}

.post ol {
    padding-left: 40px;
}

.post a {
    color: var(--color-blue);
    text-decoration: underline;
}

.post img {
    display: block;
    margin: 40px auto 60px auto;
    width: max-content;
    max-width: 100%;
    max-height: 350px;
    border-radius: 10px;
    object-fit: contain;
}

.ql-align-right {
    text-align: right;
}

.ql-align-center {
    text-align: center;
}

.ql-align-justify {
    text-align: justify;
}

.ql-indent-1 {
    padding-left: 2rem;
}

.ql-indent-2 {
    padding-left: 4rem;
}

.ql-indent-3 {
    padding-left: 6rem;
}

.post li[data-list=bullet] {
    list-style-type: disc;
}

.post li.ql-indent-1 {
    margin-left: 2rem;
    padding-left: 0;
    list-style-type: lower-alpha;
}

.post li.ql-indent-2 {
    margin-left: 4rem;
    padding-left: 0;
    list-style-type: lower-roman;
}

.post li.ql-indent-3 {
    margin-left: 6rem;
    padding-left: 0;
    list-style-type: decimal;
}

.post li[data-list=bullet].ql-indent-1 {
    margin-left: 2rem;
    padding-left: 0;
    list-style-type: circle;
}

.post li[data-list=bullet].ql-indent-2 {
    margin-left: 4rem;
    padding-left: 0;
    list-style-type: square;
}

.post li[data-list=bullet].ql-indent-3 {
    margin-left: 6rem;
    padding-left: 0;
    list-style-type: disc;
}



/* ---------------------------------------Store--------------------------------------- */

/* Category */
.store__category-banner {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 50vh;
    width: 100%;
}

.store__category-banner img {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store__category-banner div {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    padding: 0 2rem;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #00000000 0%, var(--color-blue) 100%);
    color: var(--color-white);
}

.store__category-products {
    gap: 4rem;
    margin: 0 auto;
    padding: 6rem 6rem 8rem 6rem;
    max-width: 1400px;
}

.store__category-products h1 {
    width: 100%;
    font-size: 3em;
    font-weight: 400;
}

.store__category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    width: 100%;
}



/* ----------------------------------------404---------------------------------------- */
.not-found {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    width: 100%;
    height: 100vh;
    background-color: #EFF1F0;
    color: #9B9B9B;
}

.not-found__frame {
    display: grid;
    grid-template-columns: 280px 1fr;
    align-items: center;
    gap: 2rem;
    padding: 1.3rem;
    width: 100%;
    max-width: 780px;
    background-color: var(--color-white);
    border-radius: 25px;
}

.not-found__img {
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-radius: 20px;
    background-color: #EFF1F0;
}

.not-found__img div {
    display: block;
    margin: 10px 10px 5px 10px;
    padding: 2.2rem;
    width: calc(100% - 20px);
    background-color: var(--color-white);
    border-radius: 10px;
}

.not-found__img img {
    width: 100%;
}

.not-found__img > img {
    padding-left: 1rem;
}

.not-found__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.not-found__text h1 {
    font-size: 1.6em;
    font-weight: 400;
}

.not-found__text p {
    font-size: 1.06em;
    font-weight: 300;
}

.not-found__text a {
    text-decoration: underline;
    font-weight: 400;
}



/* -------------------------------------Photometry------------------------------------- */
.photometry {
    display: block;
    width: 100%;
    padding: 4rem;
    background-color: var(--color-light);
}

.photometry > div {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem;
    background-color: var(--color-white);
    border-radius: 20px;
}

.photo__header {
    display: flex;
    align-items: center;
    gap: 1.3rem;
}

.photo__header h1 {
    color: var(--color-blue);
    font-size: 2em;
    font-weight: 600;
}

.photo__header button {
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-blue);
    font-size: 1.6em;
}

.photo__links {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 1rem;
    row-gap: 1.2rem;
    color: var(--color-dark-blue);
    font-size: 1.06em;
}

.photo__links a {
    display: inline-block;
    width: max-content;
}

.photo__links a:hover {
    text-decoration: underline;
}



/* -----------------------------------Members Login----------------------------------- */
.beghelli__login {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 50px auto 50px;
    padding: 2rem;
    background-color: var(--color-light);
}

.beghelli__login > button {
    justify-self: start;
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-blue);
    font-size: 1.3em;
}

.beghelli__login-form {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    padding: 3rem 2rem 2rem 2rem;
    width: 100%;
    max-width: 550px;
    background-color: var(--color-white);
    border-radius: 20px;
}

.beghelli__login-form img {
    height: 50px;
}

.beghelli__login-form h1 {
    margin: 2rem 0 2rem 0;
    text-align: center;
    font-size: 1.8em;
    font-weight: 600;
}

.beghelli__login-form label {
    margin: 0 0 10px 10px;
    font-size: 1.06em;
    font-weight: 300;
}

.beghelli__login-form input {
    display: block;
    padding: 0 1rem;
    width: 100%;
    height: 50px;
    background-color: var(--color-white);
    outline: none;
    border: 1px solid #C9C9C9;
    border-radius: 10px;
    font-size: 1.06em;
    font-weight: 300;
}

.beghelli__login-form button {
    display: block;
    margin: 3rem auto 0 auto;
    padding: 0 2rem;
    height: 45px;
    background-color: var(--color-blue);
    outline: none;
    border: none;
    border-radius: 22.5px;
    color: var(--color-white);
    font-size: 1.06em;
    font-weight: 600;
}



/* --------------------------------------Specials-------------------------------------- */
.hidden {
    display: none;
}

.centered {
    text-align: center;
}

#map {
    height: 500px;
}

#no-distributors {
    display: none;
}

#all-states-btn {
    display: none;
    align-items: center;
    margin: 0 0 1rem auto;
    gap: 10px;
    padding: 0 2rem;
    height: 40px;
    background-color: #F3F3F3;
    outline: none;
    border: none;
    border-radius: 20px;
    font-size: 1em;
    cursor: pointer;
}




/* -------------------------------------Responsive------------------------------------- */


@media screen and (max-width: 1200px) {
    /* General */
    nav {
        grid-template-columns: auto 1fr 100px;
        padding: 0 1.2rem;
    }
    nav img {
        height: 46px;
    }
    body:not([data-scroll="0"]) nav img {
        height: 40px;
    }
    .nav__contact {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    .nav__categories {
        gap: 2.5rem;
    }
    .header__menu.gallery,
    .header__menu.gallery.five {
        grid-template-columns: repeat(2, 240px);
        align-content: start;
        column-gap: 3rem;
        row-gap: 2rem;
        padding: 2rem 0 0 0;
        height: calc(100vh - 140px);
    }
    .header__menu.gallery.five {
        grid-template-columns: repeat(3, 200px);
    }
    body:not([data-scroll="0"]) .header__menu.gallery {
        height: calc(100vh - 100px);
    }
    footer {
        padding: 4rem 2rem 7rem 2rem;
    }
    .footer__row-third {
        align-items: center;
        margin-top: 1.8rem;
        min-height: 55px;
    }
    .footer__simple-links {
        flex-wrap: wrap;
        max-width: 355px;
    }
    .home__whats,
    .general__whats {
        left: 2rem;
    }
    /* Home */
    .home__banner > div {
        padding: 10rem 0 130px 0;
    }
    .home__banner h1 {
        margin: auto 0 1.5rem 12%;
    }
    .home__banner h3 {
        margin: 0 0 auto 12%;
    }
    .home__main-products {
        width: max-content;
    }
    .home__category-slide {
        height: 225px;
    }
    .home__category.left,
    .home__category.right {
        grid-template-columns: 1fr;   
    }
    .home__category .home__category-banner {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        height: 55vh;
    }
    .home__category-products {
        padding-bottom: 2.3rem;
        width: 100%;
        overflow-x: auto;
    }
    .home__category-grid {
        display: flex;
        width: max-content;
    }
    .home__news-slide {
        width: 290px;
    }
    /* Us */
    .us {
        padding: 4rem;
        column-gap: 1rem;
    }
    /* Products */
    .product {
        padding: 12rem 4rem 8rem 4rem;
        column-gap: 4rem;
    }
    /* Reusable */
    .beghelli__category-nav {
        gap: 1.8rem;
    }
    .beghelli__group-list {
        column-gap: 2.5rem;
        padding: 12rem 3rem;
    }
    .agent__frame,
    .investor__frame {
        grid-template-columns: 170px 1fr;
    }
    .agent__frame h4,
    .agent__frame h5,
    .agent__frame p,
    .investor__frame h4,
    .investor__frame p {
        grid-column: 2 / 3;
    }
    .agent__frame img,
    .investor__frame img {
        grid-row: 1 / 6;
    }
    .agent__link:not(:last-child) {
        padding-bottom: 10px;
    }
    .beghelli__tech-list {
        padding: 12rem 3rem 8rem 3rem;
        column-gap: 3rem;
    }
    .investor__links {
        grid-template-columns: auto 1fr;
        row-gap: 10px;
    }
    /* Social Responsibility */
    .sr__cont {
        padding: 6rem 3rem 8rem 3rem;
    }
}

@media screen and (max-width: 1130px) {
    /* Cart */
    .cart__grid {
        grid-template-columns: 1fr;
        grid-template-rows: unset;
        max-width: 850px;
    }
    .cart__products {
        margin-bottom: 4rem;
    }
}

@media screen and (max-width: 1024px) {
    .product__selects {
        flex-direction: column;
    }
    /* Client */
    .client__order {
        grid-template-columns: 1fr 280px;
    }
    .client__form-input {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .client__form-input label {
        align-self: start;
    }
    /* Success */
    .client__success-cont {
        grid-template-columns: 100%;
        row-gap: 5rem;
    }
    .client__resume {
        justify-self: center;
        width: 100%;
        max-width: 500px;
    }
}

@media screen and (max-width: 900px) {
    /* General */
    nav {
        grid-template-columns: 1fr 145px auto;
        gap: 2rem;
        height: 100px;
    }
    nav img {
        height: 50px;
    }
    .nav__categories {
        display: none;
    }
    .nav__contact {
        flex-direction: row;
    }
    header.active .nav__contact {
        display: flex;
    }
    .nav__mob-btn {
        display: block;
    }
    header.active .nav__close-btn {
        display: none;
    }
    footer {
        column-gap: 3.5rem;
    }
    footer img {
        height: 50px;
    }
    .footer__phone {
        grid-template-columns: min-content auto;
    }
    .footer__phone h5,
    .footer__phone p {
        grid-column: 1 / 3;
    }
    .footer__phone i {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }
    .footer__phone span {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
    }
    /* Home */
    .home__horizontal-scroll {
        margin: 0 2rem;
        width: calc(100% - 4rem);
    }
    .home__main-category {
        grid-template-rows: 520px min-content;
    }
    .home__category .home__category-banner {
        height: 400px;
    }
    .home__news-slide {
        width: 260px;
    }
    /* Us */
    .us__list div {
        padding: 1rem;
    }
    .us__list h3,
    .us__list p {
        padding: 0;
    }
    .us__list img {
        height: 100%;
        aspect-ratio: unset;
    }
    /* Products */
    .products__area {
        padding: 8rem 4rem;
    }
    .products__category {
        padding: 6rem 4rem 8rem 4rem;
    }
    .product__description h1 {
        font-size: 3.2em;
    }
    .product__images {
        grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
    }
    .thank-you {
        padding: 8rem 4rem;
    }
    /* Reusable */
    .beghelli__category-nav a {
        display: none;
    }
    .beghelli__category-nav button {
        display: block;
    }
    .beghelli__group-list {
        grid-template-columns: 1fr;
        row-gap: 2rem;
        padding: 8rem 3rem 10rem 3rem;
    }
    .beghelli__group-list .beghelli__navigation {
        grid-column: 1 / 2;
    }
    .beghelli__group-img {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        aspect-ratio: 16 / 9;
        margin-bottom: 1rem;
    }
    .beghelli__group-img#map {
        grid-row: 3 / 4;
    }
    .beghelli__tech-list {
        grid-template-columns: 1fr;
        padding: 8rem 3rem;
        column-gap: 3rem;
    }
    .beghelli__tech-list > br {
        display: none;
    }
    .beghelli__tech-list .beghelli__navigation {
        grid-column: 1 / 2;
        margin-top: 1rem;
    }
    .beghelli__tech-img {
        grid-column:  1 / 2;
        grid-row: 1 / 2;
        aspect-ratio: 16 / 9;
    }
    /* Social Responsibility */
    .sr__entries {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        max-width: 600px;
    }
    .sr__entries-column {
        gap: 2.5rem;
        padding: 0;
    }
    .sr__entries .vr,
    .sr__entries-column hr {
        display: none;
    }
    .sr__entries-pagination {
        margin: 0.5rem auto 0 auto;
    }
    .st__entry {
        padding-bottom: 1.5rem;
        border-bottom: 1px solid #D9D9D9;
    }
    /* Post */
    .post h1 {
        font-size: 3.2em;
    }
    /* Support */
    .support__cont,
    .privacy__cont {
        padding: 8rem 4rem;
    }
    /* Contact */
    .contact {
        padding: 12rem 3rem 8rem 3rem;
    }
    /* 404 */
    .not-found__frame {
        grid-template-columns: 1fr;
        max-width: 370px;
    }
}

@media screen and (max-width: 760px) {
    /* General */
    nav {
        padding: 0 1.5rem;
        height: 80px;
    }
    nav img,
    body:not([data-scroll="0"]) nav img {
        height: 35px;
    }
    .nav__mob-btn {
        font-size: 1.6em;
    }
    .header__menu-mob {
        gap: 2rem;
        padding: 3rem 1rem 2rem 1rem;
        height: calc(100vh - 80px);
    }
    .header__mob-gallery {
        padding-top: 2px;
    }
    .header__mob-gallery span {
        margin-bottom: 1.3rem;
        height: calc(2 * 1.1em);
        line-height: 1.1em;
    }
    footer {
        grid-template-columns: 1fr 1fr;
        column-gap: 2rem;
        row-gap: 2.5rem;
        padding: 4rem 1rem 8rem 1rem;
    }
    .footer__row-third,
    .footer__row-second {
        grid-column: 1 / 3;
    }
    .footer__row-second {
        row-gap: 3rem;
        margin-top: 2rem;
        justify-content: center;
    }
    .footer__links {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 2rem;
        max-width: 300px;
    }
    .footer__global {
        margin-left: 0;
    }
    .footer__row-third {
        grid-template-columns: 1fr;
        margin-top: 0.5rem;
        padding-left: 0;
        justify-content: center;
    }
    .footer__simple-links {
        width: 100%;
        max-width: unset;
        justify-content: center;
    }
    .footer__row-third p {
        text-align: center;
    }
    /* Home */
    .home__banner > div {
        padding: 7rem 1.5rem 130px 1.5rem;
    }
    .home__banner h1 {
        margin: auto 0 1.5rem 0;
        font-size: 2.8em;
    }
    .home__banner h3 {
        margin: 0 0 auto 0;
        font-size: 1.9em;
    }
    .home__category-slide {
        height: 180px;
    }
    .home__category-slide div {
        padding: 1rem 1.5rem;
    }
    .home__categories {
        gap: 6rem;
        padding: 3.3rem 1rem 10rem 1rem;
    }
    .home__banner-cont h2 {
        font-size: 2.6em;
    }
    .home__banner-cont a {
        padding: 0 2rem;
        height: 50px;
        font-size: 1.06em;
    }
    .home__news {
        gap: 4rem;
    }
    .home__news h2 {
        padding-left: 2rem;
        font-size: 2.6em;
    }
    .home__news-slide {
        width: 230px;
    }
    .home__news-swiper .swiper-slide:first-child {
        padding-left: 2rem;
    }
    .home__news-swiper .swiper-slide:last-child {
        padding-right: 2rem;
    }
    .home__news-slide a {
        justify-self: start;
        padding: 0 3rem;
        width: max-content;
        height: 50px;
        font-size: 1.06em;
    }
    .home__whats,
    .general__whats {
        justify-content: center;
        left: 1rem;
        padding: 0;
        width: 55px;
        font-size: 1.4em;
    }
    .home__whats span,
    .general__whats span {
        display: none;
    }
    /* Us */
    .us {
        padding: 4rem 2rem;
    }
    .us__list {
        gap: 2rem;
    }
    .us__list div {
        grid-template-columns: 1fr;
        margin: 0 auto;
        max-width: 450px;
    }
    .us__list h3 {
        margin: 10px 0 6px 0;
    }
    .us__list img {
        grid-row: 1 / 2;
        height: unset;
        aspect-ratio: 14 / 9;
    }
    /* Products */
    .products__area {
        padding: 8rem 3rem 4rem 3rem;
    }
    .products__category {
        padding: 6rem 3rem 4rem 3rem;
    }
    .products__gallery {
        grid-template-columns: 1fr;
    }
    .products__gallery button {
        display: flex;
    }
    .products__gallery-filters {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 300;
        padding: 2.5rem 2rem 4rem 2rem;
        width: 100%;
        height: 100vh;
        max-width: 400px;
        background-color: var(--color-white);
        box-shadow: 0 0 4px #12121230;
        translate: -100%;
        transition: translate 0.3s;
        overflow: auto;
    }
    .products__gallery-filters > button {
        display: block;
        margin: 0 0 1rem auto;
        padding: 0;
        width: min-content;
        background-color: transparent;
        outline: none;
        border: none;
        font-size: 1.5em;
    }
    .products__search-header div {
        grid-template-columns: auto 1fr;
        column-gap: 1rem;
        row-gap: 3px;
    }
    .products__search-header h2 {
        margin: 0;
        font-size: 1.4em;
    }
    .products__search-header p {
        grid-column: 2 / 3;
        justify-self: start;
        font-size: 1.3em;
    }
    .products__search-header button {
        font-size: 1.3em;
    }
    .products__area.search {
        padding: 8rem 1.5rem 4rem 1.5rem;
    }
    .product {
        grid-template-columns: 1fr;
        padding: 8rem 3rem;
    }
    .product .beghelli__hierarchy {
        grid-column: 1 / 2;
    }
    .thank-you {
        padding: 8rem 3rem;
    }
    /* Reusable */
    .beghelli__group-list {
        padding: 8rem 1.5rem 10rem 1.5rem;
    }
    .partner__frame {
        grid-template-columns: 1fr;
        row-gap: 1rem;
        padding: 1rem;
        margin: 0 auto 2rem auto;
        max-width: 350px;
    }
    .partner__frame img {
        aspect-ratio: 1 / 1;
    }
    .beghelli__tech-list {
        padding: 8rem 1.5rem;
    }
    /* Social Responsibility */
    .sr__banner h1 {
        font-size: 2.4em;
    }
    .sr__title {
        display: flex;
        flex-direction: column-reverse;
        align-items: start;
        gap: 1.8rem;
    }
    .sr__cont h2 {
        font-size: 2.2em;
    }
    .sr__title img {
        margin-left: auto;
        height: 60px;
    }
    .st__entry h4 {
        font-size: 1.8em;
    }
    /* Post */
    .post__cont {
        padding: 8rem 3rem;
    }
    .post__cont h1 {
        font-size: 2.8em;
    }
    .post__cont h2 {
        font-size: 2.07em;
    }
    /* Support */
    .support__cont,
    .privacy__cont {
        padding: 8rem 2rem;
    }
    /* Contact */
    .contact {
        padding: 8rem 1.5rem;
    }
    .contact__form {
        grid-template-columns: auto 1fr;

    }
    .contact__form .column-3 {
        grid-column: 2 / 3;
    }
    .contact__form br {
        display: none;
    }
    /* Cart */
    .cart {
        padding: 8rem 1.5rem 3rem 1.5rem;
    }
    .cart__product-row {
        grid-template-columns: 40px 2fr 100px 1fr;
        column-gap: 1rem;
        padding: 15px 15px 15px 5px;
    }
    .cart__product-qty {
        grid-template-columns: 30px 1fr 30px;
        grid-template-rows: 35px;
    }
    .cart__product-qty button {
        font-size: 1em;
    }

    /* Client */
    .client__order {
        grid-template-columns: 1fr;
    }
    .client__form {
        margin-bottom: 2rem;
    }
}

@media screen and (max-width: 480px) {
    /* General */
    nav {
        grid-template-columns: 1fr 130px auto;
    }
    .header__mob-collaps
    .beghelli__collap-header {
        padding: 0 0.8rem;
    }
    .header__mob-gallery {
        padding: 2px 0.8rem 2rem 0.8rem;
    }
    .header__mob-columns {
        gap: 1.2rem;
    }
    footer {
        padding: 4rem 1rem 7rem 1rem;
    }
    .footer__simple-links {
        row-gap: 1.6rem;
    }
    /* Products */
    .products__banner h1 {
        font-size: 2.8em;
    }
    .products__gallery {
        padding: 0 1rem 4rem 1rem;
    }
    .products__gallery-items {
        grid-template-columns: 1fr 1fr;
    }
    .product {
        padding: 8rem 2rem;
    }
    .product-frame h2,
    .product-frame h5 {
        font-size: 1.2em;
    }
    .thank-you h1 {
        font-size: 2.4em;
    }
    .thank-you h2 {
        font-size: 1.8em;
    }
    /* Reusable */
    .beghelli__group-list h1 {
        font-size: 2.4em;
    }
    .beghelli__group-list {
        padding: 8rem 1rem 10rem 1rem;
    }
    .agent__frame,
    .investor__frame {
        grid-template-columns: 140px 1fr;
        column-gap: 1.2rem;
        padding: 12px;
    }
    .agent__frame h4,
    .investor__frame h4 {
        padding: 0 0 10px 0;
    }
    .agent__link {
        flex-wrap: wrap;
        padding-bottom: 0;
        overflow: hidden;
    }
    .agent__link a,
    .investor__link a {
        display: block;
        width: calc(100% - 30px);
        overflow-wrap: break-word;
    }
    .investor__links a {
        display: block;
        width: calc(100% - 30px);
        overflow-wrap: break-word;
        overflow: hidden;
    }
    .partner__frame {
        width: 90%;
    }
    .beghelli__tech-list h1 {
        font-size: 2.4em;
    }
    .beghelli__tech-cont h2 {
        font-size: 1.8em;
    }
    .tech__certification {
        grid-template-columns: 1fr;
        margin-bottom: 2rem;
        padding: 1rem;
    }
    .tech__certification img {
        justify-self: center;
        max-width: 220px;
    }
    /* Support */
    .support h1,
    .privacy h1 {
        font-size: 2.4em;
    }
    .support h2,
    .privacy h2 {
        font-size: 2em;
    }
    .support__faq h3 {
        font-size: 1em;
    }
    /* Contact */
    .contact h1 {
        font-size: 2.4em;
    }
    .contact__form {
        grid-template-columns: 85px 1fr;
    }
    /* Social Resposibility */
    .sr__cont {
        padding: 3rem 1.5rem 6rem 1.5rem;
    }
    .sr__entries-pagination a {
        width: 35px;
        height: 35px;
        border-radius: 17.5px;
    }
    .sr__entries-pagination span {
        display: none;
    }
    /* Post */
    .post__cont {
        padding: 8rem 2rem 4rem 2rem;
    }
    /* 404 */
    .not-found__img {
        justify-self: center;
        width: 220px;
    }
    .not-found__text {
        text-align: center;
        gap: 1.3rem;
    }
    /* Members */
    .beghelli__login {
        padding: 1rem;
    }
    .beghelli__login-form {
        padding: 1.5rem;
    }
    /* Cart */
    .cart__product-row {
        grid-template-columns: 40px 1fr 100px;
        row-gap: 8px;
    }
    .cart__product-row img {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
    }
    .cart__product-row .cart__product-qty {
        grid-column: 3 / 4;
        grid-row: 1 / 3;
    }
    .cart__product-row > span {
        text-align: start;
    }
    /* Client */
    .client {
        padding: 8rem 1.5rem 3rem 1.5rem;
    }
    .client__order h1,
    .client__success h1 {
        font-size: 35px;
    }
}

/* IPhone SE */
@media screen and (max-width: 376px) {
    .agent__frame,
    .investor__frame {
        grid-template-columns: 120px 1fr;
    }
}



/* -------------------------------------Animations------------------------------------- */

.header__menu.appear,
.header__menu-mob.appear {
    animation: fade-in 0.3s;
}


/* Keyframes */
@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 100%;
    }
}
@keyframes fade-out {
    0% {
        opacity: 100%;
    }

    100% {
        opacity: 0;
    }
}

@keyframes loader-animation {
    0% {
        top: 96px;
        left: 96px;
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        top: 78px;
        left: 78px;
        width: 36px;
        height: 36px;
        opacity: 0;
    }
}
@keyframes loader-text {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0.5;
    }
}