/* Colors */
:root {
    --background-color: #ecefed;
    --text-color: #4b4f58;
    --accent-color: #e63e53;
    --background-color-secondary: #ffffff;
    --text-color-secondary: #3a3a3a;
    --accent-color-secondary: #bf444e;
}

body {
    background-color: #ecefed;
    color: var(--text-color);
}

a {
    color: var(--accent-color);
}

/* Typography */
:root {
    --h1-font-family: Besley;
    --h1-font-size-value: 2.75rem;
    --h1-line-height: 1.2;
    --h1-font-weight: 700;
    --h1-font-style: normal;
    --h1-text-transform: none;
    --h1-color: var(--accent-color);
    --h2-font-family: Besley;
    --h2-size: 1.375rem;
    --h2-line-height: 1.3;
    --h2-font-weight: 600;
    --h2-font-style: normal;
    --h2-text-transform: none;
    --h2-color: var(--accent-color);
    --h3-font-family: Besley;
    --h3-size: 1.125rem;
    --h3-line-height: 1.4;
    --h3-font-weight: 600;
    --h3-font-style: normal;
    --h3-text-transform: none;
    --h3-color: var(--text-color);
    --p-font-family: Raleway;
    --p-size: 1rem;
    --p-line-height: 1.5;
    --p-font-weight: 300;
    --p-font-style: normal;
    --p-text-transform: none;
    --p-color: var(--text-color);
    --button-font-family: Raleway;
    --button-font-size: 1rem;
    --button-line-height: 1.5;
    --button-font-weight: 300;
    --button-font-style: normal;
    --button-text-transform: none;
    --button-color: custom;
    --link-color: var(--accent-color);
    --link-underline: none;
    --link-hover-color: var(--accent-color);
    --link-hover-underline: none;
}

#device-wrapper body {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
}

#device-wrapper h1 {
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size-value);
    line-height: var(--h1-line-height);
    font-weight: var(--h1-font-weight);
    font-style: var(--h1-font-style);
    text-transform: var(--h1-text-transform);
    color: var(--h1-color);
}

#device-wrapper h2 {
    font-family: var(--h2-font-family);
    font-size: var(--h2-size);
    line-height: var(--h2-line-height);
    font-weight: var(--h2-font-weight);
    font-style: var(--h2-font-style);
    text-transform: var(--h2-text-transform);
    color: var(--h2-color);
}

#device-wrapper h3 {
    font-family: var(--h3-font-family);
    font-size: var(--h3-size);
    line-height: var(--h3-line-height);
    font-weight: var(--h3-font-weight);
    font-style: var(--h3-font-style);
    text-transform: var(--h3-text-transform);
    color: var(--h3-color);
}

#device-wrapper p {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
    color: var(--p-color);
}

#device-wrapper button, #device-wrapper .btn, #device-wrapper .btn-primary, #device-wrapper .btn-secondary, #device-wrapper input[type="submit"], #device-wrapper input[type="button"] {
    font-family: var(--button-font-family);
    font-size: var(--button-font-size);
    line-height: var(--button-line-height);
    font-weight: var(--button-font-weight);
    font-style: var(--button-font-style);
    text-transform: var(--button-text-transform);
    color: var(--button-color);
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]) {
    color: var(--link-color) !important;
    text-decoration: var(--link-underline) !important;
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]):hover {
    color: var(--link-hover-color) !important;
    text-decoration: var(--link-hover-underline) !important;
}

/* Buttons */
:root {
    /* Primary Button */
    --btn-primary-bg-color: #c84053;
    --btn-primary-text-color: #ffffff;
    --btn-primary-border-color: #000000;
    --btn-primary-hover-bg-color: #c84053;
    --btn-primary-hover-text-color: #ffffff;
    --btn-primary-hover-border-color: #ffffff;
    --btn-primary-selected-bg-color: #000000;
    --btn-primary-selected-text-color: #ffffff;
    --btn-primary-selected-border-color: #ffffff;
    --btn-primary-border-radius: 5px;
    --btn-primary-border-width: 0px;
    --btn-primary-box-shadow: none;
    --btn-primary-padding-vertical: 5px;
    --btn-primary-padding-horizontal: 20px;

    /* Secondary Button */
    --btn-secondary-bg-color: rgba(0, 0, 0, 0);
    --btn-secondary-text-color: #000000;
    --btn-secondary-border-color: #000000;
    --btn-secondary-hover-bg-color: #ffffff;
    --btn-secondary-hover-text-color: #4b4f58;
    --btn-secondary-hover-border-color: #000000;
    --btn-secondary-selected-bg-color: rgba(211, 217, 223, 0);
    --btn-secondary-selected-text-color: #495057;
    --btn-secondary-selected-border-color: #98a2ac;
    --btn-secondary-border-radius: 5px;
    --btn-secondary-border-width: 1px;
    --btn-secondary-box-shadow: none;
    --btn-secondary-padding-vertical: 4px;
    --btn-secondary-padding-horizontal: 20px;

    /* Menu */
    --menu-bg-color: #ffffff;
    --menu-text-color: #4b4f58;
    --menu-border-color: #ffffff;
    --menu-hover-bg-color: #ffffff;
    --menu-hover-text-color: #c84053;
    --menu-hover-border-color: #ffffff;
    --menu-active-bg-color: #ffffff;
    --menu-active-text-color: #c84053;
    --menu-active-border-color: #ffffff;
    --menu-border-radius: 0px;
    --menu-border-width: 0px;
    --menu-box-shadow: none;
    --menu-font-size: 1rem;
    --menu-padding-vertical: 10px;
    --menu-padding-horizontal: 20px;
    --menu-font-weight: 300;
    --menu-text-transform: none;
}

/* Layout */
/* Colors */
:root {
    --background-color: #ecefed;
    --text-color: #4b4f58;
    --accent-color: #e63e53;
    --background-color-secondary: #ffffff;
    --text-color-secondary: #3a3a3a;
    --accent-color-secondary: #bf444e;
}

body {
    background-color: #ecefed;
    color: var(--text-color);
}

a {
    color: var(--accent-color);
}

/* Typography */
:root {
    --h1-font-family: Besley;
    --h1-font-size-value: 2.75rem;
    --h1-line-height: 1.2;
    --h1-font-weight: 700;
    --h1-font-style: normal;
    --h1-text-transform: none;
    --h1-color: var(--accent-color);
    --h2-font-family: Besley;
    --h2-size: 1.375rem;
    --h2-line-height: 1.3;
    --h2-font-weight: 600;
    --h2-font-style: normal;
    --h2-text-transform: none;
    --h2-color: var(--accent-color);
    --h3-font-family: Besley;
    --h3-size: 1.125rem;
    --h3-line-height: 1.4;
    --h3-font-weight: 600;
    --h3-font-style: normal;
    --h3-text-transform: none;
    --h3-color: var(--text-color);
    --p-font-family: Raleway;
    --p-size: 1rem;
    --p-line-height: 1.5;
    --p-font-weight: 300;
    --p-font-style: normal;
    --p-text-transform: none;
    --p-color: var(--text-color);
    --button-font-family: Raleway;
    --button-font-size: 1rem;
    --button-line-height: 1.5;
    --button-font-weight: 300;
    --button-font-style: normal;
    --button-text-transform: none;
    --button-color: custom;
    --link-color: var(--accent-color);
    --link-underline: none;
    --link-hover-color: var(--accent-color);
    --link-hover-underline: none;
}

#device-wrapper body {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
}

#device-wrapper h1 {
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size-value);
    line-height: var(--h1-line-height);
    font-weight: var(--h1-font-weight);
    font-style: var(--h1-font-style);
    text-transform: var(--h1-text-transform);
    color: var(--h1-color);
}

#device-wrapper h2 {
    font-family: var(--h2-font-family);
    font-size: var(--h2-size);
    line-height: var(--h2-line-height);
    font-weight: var(--h2-font-weight);
    font-style: var(--h2-font-style);
    text-transform: var(--h2-text-transform);
    color: var(--h2-color);
}

#device-wrapper h3 {
    font-family: var(--h3-font-family);
    font-size: var(--h3-size);
    line-height: var(--h3-line-height);
    font-weight: var(--h3-font-weight);
    font-style: var(--h3-font-style);
    text-transform: var(--h3-text-transform);
    color: var(--h3-color);
}

#device-wrapper p {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
    color: var(--p-color);
}

#device-wrapper button, #device-wrapper .btn, #device-wrapper .btn-primary, #device-wrapper .btn-secondary, #device-wrapper input[type="submit"], #device-wrapper input[type="button"] {
    font-family: var(--button-font-family);
    font-size: var(--button-font-size);
    line-height: var(--button-line-height);
    font-weight: var(--button-font-weight);
    font-style: var(--button-font-style);
    text-transform: var(--button-text-transform);
    color: var(--button-color);
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]) {
    color: var(--link-color) !important;
    text-decoration: var(--link-underline) !important;
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]):hover {
    color: var(--link-hover-color) !important;
    text-decoration: var(--link-hover-underline) !important;
}

/* Buttons */
:root {
    /* Primary Button */
    --btn-primary-bg-color: #c84053;
    --btn-primary-text-color: #ffffff;
    --btn-primary-border-color: #000000;
    --btn-primary-hover-bg-color: #c84053;
    --btn-primary-hover-text-color: #ffffff;
    --btn-primary-hover-border-color: #ffffff;
    --btn-primary-selected-bg-color: #000000;
    --btn-primary-selected-text-color: #ffffff;
    --btn-primary-selected-border-color: #ffffff;
    --btn-primary-border-radius: 5px;
    --btn-primary-border-width: 0px;
    --btn-primary-box-shadow: none;
    --btn-primary-padding-vertical: 5px;
    --btn-primary-padding-horizontal: 20px;

    /* Secondary Button */
    --btn-secondary-bg-color: rgba(0, 0, 0, 0);
    --btn-secondary-text-color: #000000;
    --btn-secondary-border-color: #000000;
    --btn-secondary-hover-bg-color: #ffffff;
    --btn-secondary-hover-text-color: #4b4f58;
    --btn-secondary-hover-border-color: #000000;
    --btn-secondary-selected-bg-color: rgba(211, 217, 223, 0);
    --btn-secondary-selected-text-color: #495057;
    --btn-secondary-selected-border-color: #98a2ac;
    --btn-secondary-border-radius: 5px;
    --btn-secondary-border-width: 1px;
    --btn-secondary-box-shadow: none;
    --btn-secondary-padding-vertical: 4px;
    --btn-secondary-padding-horizontal: 20px;

    /* Menu */
    --menu-bg-color: #ffffff;
    --menu-text-color: #4b4f58;
    --menu-border-color: #ffffff;
    --menu-hover-bg-color: #ffffff;
    --menu-hover-text-color: #c84053;
    --menu-hover-border-color: #ffffff;
    --menu-active-bg-color: #ffffff;
    --menu-active-text-color: #c84053;
    --menu-active-border-color: #ffffff;
    --menu-border-radius: 0px;
    --menu-border-width: 0px;
    --menu-box-shadow: none;
    --menu-font-size: 1rem;
    --menu-padding-vertical: 10px;
    --menu-padding-horizontal: 20px;
    --menu-font-weight: 300;
    --menu-text-transform: none;
}

/* Layout */
:root {
    --container-width-value: 1200px;
    --spacing-value: 40px;
    --header-height: 80px;
    --logo-max-height: 60px;
    --header-fixed: 0;
    --header-bg-color-select: var(--background-color);
    --header-bg-color-custom: #ffffff;
    --header-bg-color: var(--background-color);
    --page-bg-color-select: var(--background-color-secondary);
    --page-bg-color-custom: #ffffff;
    --page-bg-color: var(--background-color-secondary);
    --footer-bg-color-select: var(--background-color);
    --footer-bg-color-custom: #ffffff;
    --footer-bg-color: var(--background-color);
}

.container {
    max-width: var(--container-width-value);
    padding: var(--spacing-value);
}

#device-wrapper header {
    background-color: var(--header-bg-color) !important;
    height: var(--header-height) !important;
}

#device-wrapper div#page, #device-wrapper main {
    background-color: var(--page-bg-color) !important;
}

#device-wrapper footer {
    background-color: var(--footer-bg-color) !important;
}

/* Custom */
@media (max-width: 768px) {
    : root {
        --spacing-value: 10px;
}

#device-wrapper .container {
    padding: 8px !important;
}

#device-wrapper .page_container {
    max-width: 100%;
    padding: 0 10px;
}

#device-wrapper .page-center {
    max-width: 100%;
    padding: 0 10px;
}

#device-wrapper div#page .block {
    padding: 15px 8px !important;
}

#device-wrapper .block {
    max-width: 100%;
}

#device-wrapper .sidepad {
    padding: 0 10px !important;
}

#device-wrapper .sidepad100 {
    padding: 0 10px !important;
}

#device-wrapper .maxwidth,
    #device-wrapper .maxwidth-shorter {
    padding: 0 10px;
}

#device-wrapper .wrapper {
    margin-bottom: 40px;
}

#device-wrapper .margin_left_40_desktop {
    padding: 0 !important;
}

#device-wrapper .hero-section {
    padding: 20px 8px;
}

#device-wrapper .hero-content {
    padding: 0;
}

#device-wrapper .punts-section,
    #device-wrapper .metode-section,
    #device-wrapper .equip-section,
    #device-wrapper .cooperativa-section,
    #device-wrapper .testimonials-section,
    #device-wrapper .clients-section {
    padding: 30px 8px;
}

#device-wrapper .metode-content,
    #device-wrapper .cooperativa-content,
    #device-wrapper .equip-section .team-description {
    max-width: 100%;
    padding: 0;
}

#device-wrapper .pad30 {
    padding: 15px !important;
}

#device-wrapper .pad40 {
    padding: 15px !important;
}

body.presentacio .content {
    max-width: 100%;
    padding: 20px 10px;
}

body.about .about-content {
    max-width: 100%;
    padding: 40px 10px;
}

body.contact .contact-content {
    max-width: 100%;
    padding: 30px 10px;
}

body.blog .blog-content {
    max-width: 100%;
    padding: 30px 10px;
}

.product-detail-container {
    padding: 15px 8px;
}

.products-container {
    padding: 15px 8px;
}

.related-products-section {
    padding: 30px 10px 0 10px;
}

header .head {
    padding: 0 8px !important;
}

}

@media (max-width: 480px) {
    : root {
        --spacing-value: 8px;
}

#device-wrapper .page_container,
    #device-wrapper .page-center {
    padding: 0 8px;
}

body.presentacio .content,
    body.about .about-content,
    body.contact .contact-content,
    body.blog .blog-content {
    padding: 15px 8px;
}

#device-wrapper #page > section:nth-of-type(2) > div {
    max-width: var(--container-width-value) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#device-wrapper #page > section:nth-of-type(1) > div {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

}

/* Spacing */
#device-wrapper #actualitat > div {
    padding-top: 60px !important;
    padding-bottom: 0px !important;
}

#device-wrapper div#page.actualitat {
    padding-top: 20px;
}

@container device (max-width: 1024px) {
    #device-wrapper div#page.actualitat {
        padding-top: 0;
    }
}

#device-wrapper #page > section:nth-of-type(1) > div {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0px !important;
}

#device-wrapper #ws-nb6nxvnx {
    max-width: 100% !important;
}

#mySidebar a.level1 span {
    font-weight: 400 !important;
}

#mySidebar a {
    padding: 10px 30px;
}

#device-wrapper b, #device-wrapper strong {
    font-weight: 600;
}

@container device (max-width: 768px) {
    #device-wrapper h1 {
        font-size: calc(var(--h1-font-size-value) * 0.65);
    }
    #device-wrapper .projecte-intro {
        padding: 40px 30px 60px !important;
    }
    #device-wrapper .estudi-style div[name="logo"] {
        padding-top: 10px;
    }
    #device-wrapper .barris-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    #device-wrapper .nav-item {
        margin: 0 !important;
    }
}

@container device (max-width: 480px) {
    #device-wrapper .hero-section-barris {
        padding: 30px 30px !important;
    }
    #device-wrapper .barris-gallery {
        padding: 20px 10px 40px !important;
    }
}


/* Custom */
@media (max-width: 768px) {
    : root {
        --spacing-value: 10px;
}

#device-wrapper .container {
    padding: 8px !important;
}

#device-wrapper .page_container {
    max-width: 100%;
    padding: 0 10px;
}

#device-wrapper .page-center {
    max-width: 100%;
    padding: 0 10px;
}

#device-wrapper div#page .block {
    padding: 15px 8px !important;
}

#device-wrapper .block {
    max-width: 100%;
}

#device-wrapper .sidepad {
    padding: 0 10px !important;
}

#device-wrapper .sidepad100 {
    padding: 0 10px !important;
}

#device-wrapper .maxwidth,
    #device-wrapper .maxwidth-shorter {
    padding: 0 10px;
}

#device-wrapper .wrapper {
    margin-bottom: 40px;
}

#device-wrapper .margin_left_40_desktop {
    padding: 0 !important;
}

#device-wrapper .hero-section {
    padding: 20px 8px;
}

#device-wrapper .hero-content {
    padding: 0;
}

#device-wrapper .punts-section,
    #device-wrapper .metode-section,
    #device-wrapper .equip-section,
    #device-wrapper .cooperativa-section,
    #device-wrapper .testimonials-section,
    #device-wrapper .clients-section {
    padding: 30px 8px;
}

#device-wrapper .metode-content,
    #device-wrapper .cooperativa-content,
    #device-wrapper .equip-section .team-description {
    max-width: 100%;
    padding: 0;
}

#device-wrapper .pad30 {
    padding: 15px !important;
}

#device-wrapper .pad40 {
    padding: 15px !important;
}

body.presentacio .content {
    max-width: 100%;
    padding: 20px 10px;
}

body.about .about-content {
    max-width: 100%;
    padding: 40px 10px;
}

body.contact .contact-content {
    max-width: 100%;
    padding: 30px 10px;
}

body.blog .blog-content {
    max-width: 100%;
    padding: 30px 10px;
}

.product-detail-container {
    padding: 15px 8px;
}

.products-container {
    padding: 15px 8px;
}

.related-products-section {
    padding: 30px 10px 0 10px;
}

header .head {
    padding: 0 8px !important;
}

}

@media (max-width: 480px) {
    : root {
        --spacing-value: 8px;
}

#device-wrapper .page_container,
    #device-wrapper .page-center {
    padding: 0 8px;
}

body.presentacio .content,
    body.about .about-content,
    body.contact .contact-content,
    body.blog .blog-content {
    padding: 15px 8px;
}

#device-wrapper #page > section:nth-of-type(2) > div {
    max-width: var(--container-width-value) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#device-wrapper #page > section:nth-of-type(1) > div {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

}

/* Spacing */
#device-wrapper #actualitat > div {
    padding-top: 60px !important;
    padding-bottom: 0px !important;
}

#device-wrapper div#page.actualitat {
    padding-top: 20px;
}

@container device (max-width: 1024px) {
    #device-wrapper div#page.actualitat {
        padding-top: 0;
    }
}

#device-wrapper #page > section:nth-of-type(1) > div {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0px !important;
}

#device-wrapper #ws-nb6nxvnx {
    max-width: 100% !important;
}

#mySidebar a.level1 span {
    font-weight: 400 !important;
}

#mySidebar a {
    padding: 10px 30px;
}

#device-wrapper b, #device-wrapper strong {
    font-weight: 600;
}

@container device (max-width: 768px) {
    #device-wrapper h1 {
        font-size: calc(var(--h1-font-size-value) * 0.65);
    }
    #device-wrapper .projecte-intro {
        padding: 40px 30px 60px !important;
    }
    #device-wrapper .estudi-style div[name="logo"] {
        padding-top: 10px;
    }
    #device-wrapper .barris-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    #device-wrapper .nav-item {
        margin: 0 !important;
    }
}

@container device (max-width: 480px) {
    #device-wrapper .hero-section-barris {
        padding: 30px 30px !important;
    }
    #device-wrapper .barris-gallery {
        padding: 20px 10px 40px !important;
    }
}
