/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

@font-face {
  font-family: 'Kufam';
  src: url('../fonts/kufam-variablefont_wght-webfont.woff2') format('woff2'),
       url('../fonts/kufam-variablefont_wght-webfont.woff') format('woff');
  font-style: normal;
  font-display: swap;
}

@layer ps-pages {
    .page:not(body) {
        padding-bottom: 0; 
    }
}
 @layer vendors, bs-base, bs-components, bs-custom-components, ps-base, ps-components, ps-pages, ps-modules, utilities;
 :root,[data-bs-theme=light] {
 	--bs-body-bg-custom:#171D3A;
 	--bs-primary:#171D3A;
 	--bs-primary-rgb: 43,66,135;
 	--bs-link-color-rgb: 43,66,135;
    .btn-primary {
        --bs-btn-color: #171D3A;
        --bs-btn-bg: #E0C397;
        --bs-btn-border-color: #E0C397;
        --bs-btn-hover-color: #171D3A;
        --bs-btn-hover-bg: #E8D2B0;
        --bs-btn-hover-border-color: #E8D2B0;
        --bs-btn-focus-shadow-rgb: 48,128,247;
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: #22366D;
        --bs-btn-active-border-color: #22366D;
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,.125);
        --bs-btn-disabled-color: #fff;
        --bs-btn-disabled-bg: #171D3A;
        --bs-btn-disabled-border-color: #171D3A;
    }
    .btn-outline-primary {
        --bs-btn-color: #e1c397;
        --bs-btn-border-color: #e1c397;
        --bs-btn-hover-color: #171D3A;
        --bs-btn-hover-bg: #e1c397;
        --bs-btn-hover-border-color: #e1c397;
        --bs-btn-focus-shadow-rgb: 11,105,246;
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: #171D3A;
        --bs-btn-active-border-color: #171D3A;
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,.125);
        --bs-btn-disabled-color: #171D3A;
        --bs-btn-disabled-bg: transparent;
        --bs-btn-disabled-border-color: #171D3A;
        --bs-gradient: none;
        padding: 0.8rem 2.5rem;
        font-weight: bold;
        text-transform: uppercase;
    }
    .ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__mobile-toggle .menu-toggle {
        color: #fff;
    }
    .h2, h2 {
        font-family: 'Kufam';
        font-size: calc(var(--bs-body-font-size)*2);
    }
    .h3, h3 {
        font-family: 'Kufam';
    }
    .container hr {
        color: #22356b;
        padding: 2rem;
        margin: 0;
    }
    #wrapper {
        min-height: calc(100vh - 108px - 244px);
    }
 	.header {
 		background-color: var(--bs-body-bg-custom);
 		padding: 1em;
 	}
 	.header-bottom {
 		border-bottom: none;
 	}
 	.footer__main {
 		background-color: var(--bs-body-bg-custom);
 	}
    .ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree {
        gap: 1.5rem;
    }
    .ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-link {
        color: #7CA3D4;
        padding: 1.25rem .5rem;
        text-decoration: none;
        font-size: 1.2rem;
        font-weight: normal;
        font-family: 'Kufam';
    }
    .ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-link:hover {
        color: #fff;
    }
    .ps-shoppingcart i {
        color: #fff;
    }
    .ps-imageslider__figcaption {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background-color: unset;
        border-radius: unset;
        color: var(--bs-light);
    }
    .home-main {
        padding: 2rem;
        color: #fff;
        background-color: #171D3A;
        background: linear-gradient(180deg, rgba(23, 29, 58, 1) 0%, rgba(27, 42, 94, 1) 100%);
    }
    .home-main-content {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        row-gap: 2rem;
    }
    .home-main-legend {
        max-width: 600px;
        order: 2;
    }
    .home-main-img {
        order: 1;
        width: 200px;
    }
    .home-main-legend hr {
        color: #22356B;
        margin: 2rem 0;
    }
    .home-main-values {
        display: flex;
        gap: 2rem;
    }
    .home-main-value {
        color: #7ca3d4;
        text-transform: uppercase;
        font-size: 14px;
    }
    .home-main-value-title {
        color: #e1c397;
        font-weight: bold;
        font-size: 24px;
        font-family: Kufam;
        margin: 0;
    }
    .home-main-legend h3 {
        font-weight: normal;
    }
    .home-main-buy {
        display: flex;
        gap: 2rem;
    }
    .home-main-price {
        margin: 0;
        font-weight: bold;
        font-size: 24px;
    }
    .home-main-buy-infos {
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
    }
    .home-main-delivery {
        font-size: 12px;
        color: #7ca3d4;
        font-weight: bold;
        margin: 0;
    }
    .home-concept {
        background-color: #1B2A5E;
        color: #fff;
    }
    .carousel-caption {
        bottom: 1.25rem;
        color: #fff;
        padding-bottom: 1.25rem;
        padding-top: 1.25rem;
        position: absolute;
        place-self: center;
        inset: 0;
        text-align: unset;
    }
    .custom-button-slider {
		text-transform: uppercase;
		font-weight: bold;
		padding: 0.8rem 1rem;
		border-radius: 1rem;
    }
    .ps-mainmenu {
        order: 0;
        justify-content: center;
    }
    .header-block__icon {
        font-size: 2.25rem;
    }
    .header-block__action-btn {
        color: #fff;
    }
    .header-block__badge {
        background-color: #7CA3D4;
    }
    .presentation-block {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        row-gap: 2rem;
        padding: 2rem 0 6rem 0;
        column-gap: 2rem;
    }
    .presentation-img {
        flex-grow: 3;
        flex-basis: 20%;
    }
    .custom-caption {
        width: max-content;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 12px;
        background-color: #22356B;
        padding: 0.5rem 1rem;
        color: #e1c397;
        border-radius: 4px;
        margin-bottom: 2rem;
    }
    .home-product {
        background-color: #0F193E;
        color: #fff;
        padding-bottom: 6rem;
        text-align: center;
    }
    .home-product-subtitle {
        color: #7CA3D4;
        width: 100%;
        margin: auto;
        margin-bottom: 4rem;
    }
    .home-product-tiles {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 2rem;
    }
    .home-product-caption {
        color: #e1c397;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 12px;
        margin-bottom: 2rem;
    }
    .home-product-tile {
        flex: 1 1 0px;
        background-color: #1B2A5E;
        border-radius: 20px;
        overflow: hidden;
        min-width: 300px;
    }
    .home-product-image {
        height: 260px;
    }
    .home-product-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .home-product-title {
        color: #e1c397;
        font-weight: bold;
        font-size: 22px;
        font-family: Kufam;
        padding: 2rem 2rem 0 2rem;
        text-align: left;
    }
    .home-product-description {
        text-align: left;
        padding: 0 2rem 2rem 2rem;
    }
    .home-categories {
        background-color: #0f193e;
        color: #fff;
        padding: 6rem 0;
    }
    .stamp-block {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        flex-wrap: wrap;
        row-gap: 2rem;
    }
    .home-partners-bloc {
        background-color: #1B2A5E;
        padding: 6rem 2rem;
        color:#fff;
    }
    .home-partners-head {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        row-gap: 2rem;
    }
    .home-partners-title {
        flex: 2 1 0;
    }
    .home-partners-description {
        flex: 1 1 0;
        min-width: 300px;
    }
    .home-partners-image {
        justify-content: center;
        display: flex;
        align-items: center;
        padding: 1rem 0;
        border: 2px dashed #e1c397;
        border-radius: 20px;
    }
    .home-partners-image img {
        width: 80%;
        height: 80%;
        object-fit: contain;
    }
    .home-partners-container {
        display:flex;
        justify-content: space-between;
        gap: 2rem;
    }
    .home-partners-button {
        margin-top: 4rem;
    }
    .home-categories-caption {
        margin: auto;
        margin-bottom: 2rem;
    }
    .home-categories-subtitle {
        width: 100%;
        margin: auto;
        color: #7CA3D4;
    }
    .home-partners-empty {
        border: 2px dashed #e1c397;
        border-radius: 20px;
        padding: 2rem;
        color: #e1c397;
        font-weight: bold;
        margin: auto;
        margin-top: 2rem;
    }
    .home-categories-container {
        display:flex;
        justify-content: space-between;
        padding: 6em 0;
        flex-wrap: wrap;
        gap: 2rem;
    }
    .home-category {
        flex: 1 1 0px;
        background-color: #1B2A5E;
        border-radius: 20px;
        overflow: hidden;
        min-width: 225px;
    }
    .home-category-infos {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .home-category-icon {
        line-height: 28px;
        margin: 0;
        padding: 0 2em 0 0;
        color: #e2c397;
        font-size: 28px;
    }
    .home-hiw {
        background-color: #0f193e;
        color: #fff;
        padding: 6rem 0;
    }
    .home-hiw-steps {
        display: flex;
        gap: 2rem;
        text-align: left;
        margin: 4rem 0;
        flex-wrap: wrap;
    }
    .home-hiw-step {
        flex: 1 1 0;
        min-width: 250px;
    }
    .home-hiw-number {
        font-family: Kufam;
        background-color: #e8d2b0;
        color: #171d3a;
        height: 50px;
        width: 50px;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        font-size: 24px;
        font-weight: bold;
        border-radius: 8px;
        line-height: 38px;
    }
    .home-hiw-title {
        font-family: Kufam;
        font-weight: bold;
        font-size: 22px;
    }
    .home-hiw-description {
        color: #7CA3D4;;
    }
    .presentation-description {
        width: 100%;
    }
    .bg-secondary-custom {
        background-color: #EFF7FF;
    }
    .prefooter {
        display:flex;
        flex-wrap:wrap;
        row-gap: 2rem;
        justify-content: space-evenly;
        color:#7297BC;
    }
    .prefooter img {
        height: 50px;
    }
    .prefooter-element {
        padding: 2rem;
        flex: 1;
        text-align: center;
    }
    .store {
        background-color: #1B2A5E;
        border-radius: 20px;
        overflow: hidden;
        border: none;
        padding: 0;
    }
    .store__image {
        height: 200px;
    }
    .store__img {
        width: 100%;
        height: 100%;
        object-fit: scale-down;
    }
    .store__name {
        color: #e1c397;
        font-weight: bold;
        font-size: 22px;
        font-family: Kufam;
        padding: 2rem 2rem 0 2rem;
        text-align: left;
        margin-bottom: 1rem;
    }
    .store__list {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .store__informations {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .footer-block__title {
        text-transform: uppercase;
        font-weight: bold;
        color: #e1c397;
    }
    .footer-block a, .footer-block a:hover {
        color: inherit;
    }
    .footer-block__list a {
        color: #7CA3D4;
    }
 	@media (min-width:768px) {
        .home-main-img {
            width: initial;
        }
        .custom-button-slider {
            font-size: 1.2rem;
            padding: 0.8rem 4rem;
        }
        .home-main-legend {
            order: 1;
        }
        .home-main-img {
            order: 2;
        }
		.header-bottom .navbar-brand .logo {
			max-width: initial;
		}
        .home-main-content {
            justify-content: space-between;
        }
        .home-categories-subtitle {
            width: 60%;
        }
        .home-product-subtitle {
            width: 60%;
        }
	}
    @media (min-width:992px) {
        .home-main {
            padding: 6rem;
        }
        .presentation-description {
            width: 55%;
            flex-grow: 1;
        }
        .offset-block {
            margin-top: -150px;
            z-index: 2;
            position: relative;
        }  
    }
}