
/* 1. Theme default css */
@font-face {
    font-family: 'Material Symbols Outlined';
    src: url('/static/theme/fonts/material-symbols-outlined.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
:root {
	--primary-color: #1e1e1e;
	--secondary-color: #f3f4f6;
	--tertiary-color: #3f3f3f;
	--primary-tcolor: rgba(30, 30, 30, 0.12);
	--secondary-tcolor: rgba(243, 244, 246, 0.9);
	--tertiary-tcolor: rgba(63, 63, 63, 0.12);
	--bg-color: #f9fafb;
	--surface-color: #ffffff;
	--surface-2-color: #f3f4f6;
	--ink-color: #102027;
	--muted-color: #5b6670;
	--stroke-color: #e5e7eb;
	--success-color: #0f9d58;
	--danger-color: #cc3344;
	--accent-green: #57b894;
	--chip-bg: #1f2937;
	--chip-ink: #ffffff;
  }

.color-theme1 {
	color:var(--primary-color);
}
.bg-soft-gray {
	background-color:rgba(250,250,250,0.6);
}
.bg-white {
	background-color:white;
}
.bg-theme1 {
	background-color:var(--primary-color);
}
.bg-theme2 {
	background-color:var(--secondary-color);
}
.bg-theme3 {
	background-color:var(--tertiary-color);
}
.bg-t-theme1 {
	background-color:var(--primary-tcolor);
}
.bg-t-theme2 {
	background-color:var(--secondary-tcolor);
}
.bg-t-theme3 {
	background-color:var(--tertiary-tcolor);
}
.text-accent-green {
	color: var(--accent-green);
}
.bg-accent-green {
	background-color: var(--accent-green);
}
.border-accent-green {
	border-color: var(--accent-green);
}
.bg-t-theme4 {
	background-color:var(--fourth-color);
}
.text-black-100 {
    color:rgba(0, 0, 0, 1) !important;
}
.list-footer li {
	margin-bottom:0.4rem;
}
html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.8;
	color: var(--ink-color);
	background-color: var(--bg-color);
}

.img {
	max-width: 100%;
	transition: all 0.3s ease-out 0s;
}
.f-left {
	float: left
}
.f-right {
	float: right
}
.fix {
	overflow: hidden
}
a,
.button {
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}
a:focus,
.button:focus {
	text-decoration: none;
	outline: none;
}
a:focus,
a:hover,
.portfolio-cat a:hover,
.footer -menu li a:hover {
	color: var(--rami-green, #1f6f4a);
	text-decoration: none;
}
a:focus-visible {
	outline: 3px solid rgba(31, 111, 74, 0.35);
	outline-offset: 3px;
}
a,
button {
	color: var(--tertiary-color);
	font-weight:400;
	outline: medium none;
	text-decoration: none !important;
}
button:focus,input:focus,input:focus,textarea,textarea:focus{outline: 0}
.uppercase {
	text-transform: uppercase;
}
.capitalize {
	text-transform: capitalize;
}
.img-fluid {
	border-radius:20px ! important;
}
.fs-0 {
	font-size:0.8rem ! important;
}
.fs-1 {
	font-size:1rem ! important;
}
.fs-2 {
	font-size:1.2rem ! important;
}
.fs-3 {
	font-size:1.5rem ! important;
}
.lh-0 {
	line-height:0.2rem ! important;
}
.lh-1 {
	line-height:1rem ! important;
}
.lh-2 {
	line-height:1.2rem ! important;
}
.lh-3 {
	line-height:1.5rem ! important;
}
.lh-4 {
	line-height:1.8rem ! important;
}
.w100 {
	width:100px ! important;
}
.w200 {
	width:200px ! important;
}
.w300 {
	width:300px ! important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--ink-color);
	margin-top: 0px;
	font-style: normal;
	text-transform: normal;
	font-weight: 900;
	line-height: 1.2;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: inherit;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight: 900;
	line-height: 1.2;
}
.h3, .h4 {
	font-weight:400 !important;
}

.h1, h1 {
	font-size: 2.5rem;
}
.h2, h2 {
	font-size: 2rem;
}
.h3, h3 {
	font-size: 1.5rem;
}
.h4, h4 {
	font-size: 1.25rem;
}
.h5, h5 {
	font-size: 1rem;
}

ul {
	margin: 0px;
	padding: 0px;
}
ul li {
	list-style: disc;
	margin-left:20px;
	margin-bottom:1rem;
}
ol li {
	list-style-type: decimal;
}
.summary li {
	line-height: 1.4rem;
	margin-bottom:5px;
}
.list-unstyled li {
    padding-left: 0;
    list-style: none;
}
.list-remove-ml li {
	margin-left:0px;
}
.breadcrumb li,
.navbar-nav li {
	list-style: none;
	margin-left:20px;
}
.card-nav {
	min-height:70px;
	border-radius:10px;
}
.card-nav:hover {
	border:solid 2px black;
}
@media only screen and (max-device-width: 480px) and (orientation : portrait){
	.breadcrumb li {
		margin-left: .1rem;
	}
	.breadcrumb-item+.breadcrumb-item {
		padding-left:.0rem;
	}
}
ul.list-content li {
	list-style: disc;
	margin-left:20px;
}
p {
	margin-top: 0;
	margin-bottom: 1rem;
	color: #212529;
}
hr {
	border-bottom: 1px solid #eceff8;
	border-top: 0 none;
	margin: 30px 0;
	padding: 0;
}
label {
	color: rgb(33, 37, 41);
	cursor: pointer;
	font-size: 20px;
	font-weight: 500;
	font-family: "DM Sans", sans-serif;
}
table {
	border:solid thin black;
}
tbody, th, tr, td {
	border:solid thin black;
	padding:5px;
	font-size:1rem;
	line-height:1.4rem;
}
blockquote {
    margin: 0 0 1rem;
    padding: 20px;
    background-color: rgba(243,195,15,0.5);
    border-radius: 20px;
}
.c-sidebar label {
	color:white;
}
.c-sidebar button {
	background-color: var(--primary-color);
}
*::-moz-selection {
	background: #d6b161;
	color: #fff;
	text-shadow: none;
}
::-moz-selection {
	background: #444;
	color: #fff;
	text-shadow: none;
}
::selection {
	background: #444;
	color: #fff;
	text-shadow: none;
}
*::-moz-placeholder {
	color: #555555;
	font-size: 14px;
	opacity: 1;
}
*::placeholder {
	color: #555555;
	font-size: 14px;
	opacity: 1;
}
.theme-overlay {
	position: relative
}
.theme-overlay::before {
	background: #1696e7 none repeat scroll 0 0;
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.6;
	position: absolute;
	top: 0;
	width: 100%;
}
.separator {
	border-top: 1px solid #f2f2f2
}


/* bg colors style */
.bg-soft-yellow {
	background-color:rgb(255, 246, 227);
}
/*
.bg-soft-yellow {
	background-color:#FFFAC9;
  }
	*/
  .bg-soft-blue {
	background-color:#B2DAFF;
  }
  .bg-soft-marroon {
	background-color:#e8d9cc;
  }
  .bg-soft-green {
	background-color:#cce8cc;
  }
/* text colors style */
.txt-soft-yellow {
	color:#FFFAC9;
  }
  .txt-soft-blue {
	color:#B2DAFF;
  }
  .txt-soft-marroon {
	color:#e8d9cc;
  }
  .txt-soft-green {
	color:#cce8cc;
  }
  .txt-soft-gray {
	color:#949393;
  }

/* button style */

.btn {
	display: inline-block;
	font-weight: 700;
	color: #212529;
	text-align: center;
	vertical-align: middle;
	background-color: transparent;
	border: 1px solid transparent;
	padding: .5rem .75rem;
	font-size: 1rem;
	line-height: 1.5;
	border-radius: .7rem;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	box-shadow: none !important;
	outline: none;
}
.btn-outline-primary {
	color: var(--primary-color);
	border-color: var(--primary-color);
}

.btn-primary {
	color: #fff;
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}
.btn-secondary {
    color: #fff;
    background-color: #212529;
    border-color: #212529;
}

.btn-outline-dark {
    color: #212529;
    border-color: #212529;
}
.btn-dark,
.btn-outline-dark:hover {
    color: #fff;
    border-color: #212529;
    background-color: #212529;
}
label.custom-focus {
    /* Style for focus state */
    color: #fff;
    border-color: #212529;
    background-color: #212529;
}
.btn-outline-white {
    color: #fff;
    border-color: #fff;
}
.btn-outline-white:hover {
    background-color: #fff;
    border-color: #fff;
    color: #212529;
}
.btn-group-lg > .btn, .btn-lg {
	padding: .5rem 1rem;
	font-size: 1.5625rem;
	line-height: 1.5;
	border-radius: .3rem;
}
.btn-primary.focus, .btn-primary:focus, .btn-primary:hover {
	color: #fff;
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	outline: none;
	box-shadow: none;
}
.btn-outline-primary:hover {
	color: #fff;
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}
.text-primary {
	color: var(--primary-color) !important;
}
.btn-link {
	font-weight: 400;
	color: var(--primary-color);
	text-decoration: none;
}
.btn-link:hover{
	font-weight: 400;
	color: var(--primary-color);
	text-decoration: none;
}

fieldset {
	border-color: black;
    border: solid 4px black;
    padding: 20px;
    border-radius: 15px;
}
.breadcrumb > .active {
	color: #888;
}
.breadcrumb a,
.breadcrumbs a {
	color: #888 !important;
	text-transform: capitalize;
}

.owl-carousel .owl-nav div {
	background: rgba(255, 255, 255, 0.8) none repeat scroll 0 0;
	height: 40px;
	left: 20px;
	line-height: 40px;
	opacity: 0;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease 0s;
	visibility: hidden;
	width: 40px;
}
.owl-carousel .owl-nav div.owl-next {
	left: auto;
	right: 20px;
}
.owl-carousel:hover .owl-nav div {
	opacity: 1;
	visibility: visible;
}
.owl-carousel .owl-nav div:hover {
	background: #2B96CC;
	color: #fff
}

/* scrollUp */
#scrollUp {
	background: #7DBA2F;
	height: 35px;
	width: 35px;
	right: 50px;
	bottom: 77px;
	color: #fff;
	font-size: 20px;
	text-align: center;
	border-radius: 50%;
	font-size: 20px;
	line-height: 34px;
}
#scrollUp:hover {
	background: #444;
}

.custom-radio {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    opacity: 0;
    position: absolute;
}

label {
    cursor: pointer;
    /* Add any additional styling you want for your label here */
}

/* You can also style the label differently when the radio button is checked */
.custom-radio:checked + label {
    /* Styles for when the radio is checked */
}

a:hover .card-img-top {
    transform: scale(1.1); /* Scale the image up by 10% */
    transition: transform 0.3s ease-in-out; /* Smooth transition */
}

a:hover .card {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); /* Enhance shadow effect */
    transition: box-shadow 0.3s ease-in-out; /* Smooth transition */
}



.title {
	position: relative;
	padding-left: 5rem;
}
.title::before {
	content: "";
	position: absolute;
	left: 0;
	height: 6px;
	top: 50%;
	margin-top: -2px;
	width: 4rem;
	background-color: var(--primary-color);
	border-radius: 3px;
}
.shadow {
	box-shadow: 0 .25rem .125rem 0 rgba(0,0,0,.03) !important;
}
.lead {
	font-size: 1rem;
	line-height: 1.75rem;
	font-weight: 400;
}
.rounded {
	border-radius: .5rem !important;
}
.img-article {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
}
.article-body {
	min-height:200px;
}
.article-body a:not(.btn) {
	color: var(--rami-green, #1f6f4a);
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px;
}
.article-body a:not(.btn):hover,
.article-body a:not(.btn):focus-visible {
	color: #154f36;
	text-decoration-thickness: 2px !important;
}
section{
	padding: 2rem 0;
}
strong {
	font-weight: 800 !important;
}

.fw-500{
	font-weight: 500 !important;
}
.bg-white { color:white;}
.bg-primary {
	background-color: var(--primary-color) !important;
}



/* header-area */
.header-area, .fixed-top {
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.05);
}
.header-area.fixed-top {
	position: fixed;
	background-color: #fff;
	-webkit-animation: fadeIn .3s ease-out;
	animation: fadeIn .3s ease-out;
	transition: .3s;
}
@keyframes fadeIn {
	0% { opacity: 0;top: -80px; }
	100% { opacity: 1;top: 0; }
}

.header-area {
	height: 80px;
	z-index: 1030;
	transition: .3s;
	position: relative;
}
.header-area .navbar-brand img{
	max-width: 160px;
		height: auto;
}
.header-area .navbar-nav {
	padding-top: 6px;
}
.header-area .navbar-light .navbar-nav .nav-link {
	color: #212529;	
}
.header-area .navbar-nav .nav-link {
	padding-top: 0.9rem;
	padding-bottom: 0.2rem;
}
.header-area .navbar-expand .navbar-nav .nav-link {
	padding-right: .5rem;
	padding-left: .5rem;
}
.header-area .nav-link {
	font-weight: 800;
	font-size: 1rem;
}
.header-area .nav-link {
	display: block;
	padding: .5rem 1rem;
}
.header-area .nav-link i{
	font-size: 1.125rem;
}
.header-area .dropdown .dropdown-toggle::after{
	display: none;
}
.header-area .navbar-light .navbar-nav .active > .nav-link, .header-area .navbar-light .navbar-nav .nav-link.active, .header-area .navbar-light .navbar-nav .nav-link.show, .header-area .navbar-light .navbar-nav .show > .nav-link {
	color: var(--primary-color);
}
.header-area .navbar-light .navbar-nav .nav-link:hover {
	color: var(--primary-color);
	border-bottom:solid 2px var(--primary-color);
	/* TODO : add an animation */
}

/* header-area-end */


/* hero-area */
.hero-area {
	position: relative;
	padding: 0;
	display: flex;
	align-items: center;
	min-height:500px;
	justify-content: center;
	flex-direction: column;
	background-position: right center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: contain;
	/* background-image: url('../img/iPhone-14-Pro-Perspective-Mockup.jpg'); */
	z-index: 1;
}
.hero-area::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--secondary-color);
	background-position: 50%;
	z-index: -1;
	/* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADAQMAAABs5if8AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMzxB7xrqEAAAAMSURBVHheY2hgAAIAAoYAgdd0ZlcAAAAASUVORK5CYII=); */
}
.hero-content p{
	font-size: 1.5625rem;
}
.hero-area .btn-next{
	color: #fff;
	font-weight: 400;
}
/* hero-area-end */



/* feature-area */
.feature-item .icon {
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	/* margin-bottom: 1.5rem; */
}
/* feature-area */


/* products-area */


/* product-card */
/* Base styles for the card */
.card-product {
    background: transparent;
    perspective: 1000px; /* Needed for 3D effect */
}

/* Thumbnails container */
.card-product .thumbnails {
    border-radius: 4px;
    position: relative;
    width: 100%;
    height: calc(250px + 3rem);
    transition: transform .8s; /* Smooth transition for flipping */
    transform-style: preserve-3d; /* Preserve 3D during transformation */
	transition: transform .8s, opacity .4s ease-in-out; /* Add opacity transition */
	cursor: pointer;

}

/* Front Thumbnail - Initially visible */
.card-product .thumbnails .thumbnail-front {
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden; /* Hide the back face */
    transform: rotateY(0deg); /* Face forward */
	opacity: 1; /* Start with full opacity */
    transition: transform .8s, opacity .4s ease-in-out; /* Add opacity transition */

}

.card-product .thumbnails .thumbnail-front img {
    height: 250px;
}

/* Back Thumbnail - Initially hidden */
.card-product .thumbnails .thumbnail-back {
    transform: rotateY(180deg); /* Hidden from view initially */
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden; /* Hide the back face */
	opacity: 1; /* Start with full opacity */
    transition: transform .8s, opacity .4s ease-in-out; /* Add opacity transition */

}


.card-product .thumbnails .thumbnail-back div {
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    height: calc(250px + 3rem);
    border-radius: 4px;
}

/* Hide details and show actions on hover */
.card-product .card-product-details {
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card-product:hover .card-product-details {
    display: none;
}

.card-product .card-product-actions {
    display: none;
    height: 4rem;
    align-items: center;
}

.card-product:hover .card-product-actions {
    display: flex;
}
.card-product:hover .thumbnails .thumbnail-front,
.card-product:hover .thumbnails .thumbnail-back {
    opacity: 0; /* Reduce opacity during flip */
}
/* Rotate the thumbnails container on hover */
.card-product:hover .thumbnails {
    transform: rotateY(180deg); /* Flip to show the back */
}

/* Synchronize front and back thumbnails with container rotation */
.card-product:hover .thumbnails .thumbnail-front {
    transform: rotateY(-180deg); /* Hide the front */
}

.card-product:hover .thumbnails .thumbnail-back {
    transform: rotateY(0deg); /* Show the back */
}
/* Optionally, if the content inside .thumbnail-back needs rotation */
.card-product:hover .thumbnails .thumbnail-back > * {
    transform: rotateY(180deg); /* Rotate the content inside if needed */
}
/* Restore opacity halfway through the flip */
.card-product:hover .thumbnails .thumbnail-front,
.card-product:hover .thumbnails .thumbnail-back {
    opacity: 1;
    transition-delay: .01s; /* Delay to sync with flip halfway */
}



/* certain-area */
.creation-area {
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50%;
	background-image: url('../img/man_happy.jpeg'); 
	z-index: 1;
}
.creation-area::before {
	z-index: -1;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.75));
	background-repeat: repeat-x;
}
.creation-area img {
	position: absolute;
	z-index: 2;
	right: 8rem;
	top: 3rem;
	transition: all .25s;
	max-width: 96px;
	transform: rotate(-45deg);
}
/* certain-area-end */

/* Organization cards */
        .custom-card {
            border-radius: 20px;
            padding: 15px;
			box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px;
		}

        .custom-search {
            background-color: rgba(128, 128, 128, 0.2);
            border-radius: 10px;
        }

        .custom-category {
            width: 41px;
            height: 41px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
        }

        .custom-filter {
            padding: 0.25rem 1rem;
            border-radius: 20px;
            border: 1px solid #000;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .category-text {
            font-size: 10px;
            text-align: center;
        }

        .badge-custom {
            background-color: rgba(255, 193, 7, 0.1);
            border-radius: 20px;
        }

        .badge-impact {
            background-color: rgba(0, 128, 0, 0.1);
            border-radius: 20px;
        }

        .btn-custom {
            background-color: #6c757d;
            border-radius: 10px;
        }

        .btn-custom-text {
            font-weight: bold;
        }
		.organization-logo {
			width:300px;
			border-radius:0 !important;
		}
		@media only screen and (max-device-width: 480px) and (orientation : portrait){
			.organization-logo {
				width:200px;
			}
		}
        .organization-filter {
			display:block;
			width:20px;
			height:20px;
			background:url('/static/theme/img/icons/filtre_assos.png') no-repeat center center / 100%;
 		}
		.table-responsive {
			overflow-x: auto;
			-webkit-overflow-scrolling: touch; /* Pour un défilement fluide sur iOS */		
		}
/* End of organization card */

/* print-area */

.print-area {
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50%;
	background-image: url('../img/home-bg-2.png');
}
/* print-area-end */



/* news-area */
.card-post-image {
	height: 200px;
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
/* news-area-end */




/* footer-area */


.footer a {
	color: #fff;
}
.footer a:hover {
	color: var(--secondary-color);
}
.footer .copyright a {
	color: hsla(0,0%,100%,.75);
}
.footer .copyright a:hover {
	color: #fff;
}
/* footer-area-end */




/* offcanvas-css */
.b-sidebar-outer,
.c-sidebar-outer {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	overflow: visible;
	z-index: 1035;
	transition: .4;
}
.b-sidebar.b-sidebar-right,
.c-sidebar.b-sidebar-right {
	left: auto;
	right: -100%;
	transition: .4s;
}
.b-sidebar.b-sidebar-right.active,
.c-sidebar.b-sidebar-right.active {
	left: auto;
	right: 0%;
	transition: .4s;
}
.b-sidebar,
.c-sidebar {
	width: 450px;
}
.b-sidebar-backdrop,
.c-sidebar-backdrop {
	left: 0;
	z-index: -1;
	width: 100vw;
	opacity: 0;
	visibility: hidden;
	transition: .4s;
}
.b-sidebar-backdrop.active,
.c-sidebar-backdrop.active {
	left: 0;
	z-index: -1;
	width: 100vw;
	opacity: .6;
	visibility: visible;
}
.b-sidebar, .b-sidebar-backdrop,
.c-sidebar, .c-sidebar-backdrop {
	position: fixed;
	top: 0;
	height: 100vh;
}

.b-sidebar > .b-sidebar-header,
.c-sidebar > .b-sidebar-header {
	font-size: 1.5rem;
	padding: .5rem 1rem;
	display: flex;
	flex-direction: row;
	flex-grow: 0;
	align-items: center;
}
.b-sidebar.b-sidebar-right > .b-sidebar-header .close,
.c-sidebar.b-sidebar-right > .b-sidebar-header .close {
	margin-right: auto;
	background-color: transparent;
	border: none;
	padding: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
}



.b-sidebar > .b-sidebar-body,
.c-sidebar > .b-sidebar-body {
	flex-grow: 1;
	height: 80%;
	overflow-y: auto;
}

.cart-item-img{
	max-width: 50px;
}
.cart-item-qty button{
	line-height: .75;
}
#qty .form-control {
    background-color: #e9ecef;
}
.btn-cart {
	position: relative;
}
.btn-cart .btn-cart-count {
    position: absolute;
    top: -0.125rem;
    right: -0.3rem;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #212529;
    border-radius: 0.6125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
}

.form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + 1rem);
    padding: 0.5rem 0.75rem;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #f8f9fa;
    background-clip: padding-box;
    border: 0 solid #ced4da;
    border-radius: 0.5rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

  #checkout-summary {
    background-color: #ffffff;
    border-radius: 10px;
    margin: 20px auto;
    padding: 20px;
    max-width: 800px;
    /* Add a drop shadow to give a card-like effect */
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  }
  .content-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333333;
  }
  
  .content-area {
    font-size: 16px;
    color: #555555;
    margin-bottom: 20px;
  }
  .col-text {
    font-size: 16px;
    color: #555555;
  }  
  .artwork-card {
    border: 1px solid #B1C4C9;
    border-radius: 3px;
    box-shadow: 0 1px 2px 0 rgba(232, 241, 243, 0.5);
    background: #F8F8F8; /* Light grey background */
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
    padding: 10px; /* Add some padding */
  }
  a:first-letter {
    text-transform: uppercase;
}
.img-shop {
	max-width: 100%;
	height: auto;
}

.checkbox-left {
    position: absolute;

}

.checkbox-left-label {
	padding-left: 25px;
}

/* Product Detail Page */
  /* Set a specific height for the carousel and the images within it */
  #carouselExampleCaptions .carousel-item {
    height: 350px; /* Set the height to 640px as requested */
  }
  
  #carouselExampleCaptions .carousel-item img {
    object-fit: contain; /* This will ensure the entire image fits within the div */
    width: 100%; /* You can set width to 100% to ensure it scales within the container */
    height: 100%; /* Set height to 100% to ensure it takes the carousel-item's height */
  }

  @keyframes glow {
    0%, 100% {
      text-shadow: 
        0 0 8px rgba(255, 215, 0, 0.7), 
        0 0 12px rgba(255, 215, 0, 0.5), 
        0 0 16px rgba(255, 165, 0, 0.3);
    }
    50% {
      text-shadow: 
        0 0 4px rgba(255, 215, 0, 0.6), 
        0 0 8px rgba(255, 215, 0, 0.4), 
        0 0 12px rgba(255, 165, 0, 0.2);
    }
  }
  
  .light-effect {
    animation: glow 2s ease-in-out infinite alternate;
  }

  .pagination {
    text-align: center;
}

.pagination .step-links a {
    margin: 0 5px;
    padding: 5px 10px;
    color: #333;
    text-decoration: none;
    border-radius: 50%; /* Makes the links circular */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
}

.pagination .step-links a.page-num {
    background-color: var(--primary-color); /* White background for page numbers */
    border: none; /* Red border, replace with your chart red color */
	color:white;
}

.pagination .step-links a.page-num.current {
    background-color: #000000; /* Black background for the current page */
    color: #FFFFFF; /* White text for the current page */
    border: none;
}

.arrow-icon {
    width: 36px;
    height: 36px;
    fill: #333; /* Arrow color */
}

.left-arrow {
    transform: scaleX(-1);
}

/* Additional styles for hover effects can be added here */
#consent-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: white;
	padding: 20px;
	text-align: center;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	z-index:9999;
  } 
  #consent-sidebar {
	position: fixed;
	top: 0;
	right: -300px; /* Start off-screen */
	width: 300px;
	height: 100%;
	background: white;
	box-shadow: -2px 0 5px rgba(0, 0, 0, .5);
	transition: right 0.3s ease;
  }
  
  #consent-sidebar.open {
	right: 0; /* Slide in */
  }
  

  #cookie-popup {
	position: fixed;
	bottom: -100%; /* Commencer hors de l'écran */
	left: 0;
	width: 100%;
	padding-left:5%;
	padding-right:5%;
	padding-top:2%;
	padding-bottom:2%;
	background-color: white;
	box-shadow: 0px -2px 5px rgba(0, 0, 0, 0.2);
	transition: bottom 0.3s ease;
	z-index:9999;
  }
  
  #cookie-popup.open {
	bottom: 0; /* Faire apparaître la popup */
  }
  
  .black-line {
	border-bottom: 1px solid black;
  }

  .nav-pills-custom .nav-link-active {
	color: gray;
  }
  .nav-link:focus, .nav-link:hover {
    color: #b7b7b7;
}

.idea {
	padding-left:45px;
	background: url(/static/images/icons/lightbulb-outline.png) no-repeat left center / 40px;
}
.horizontal-scroll {
    overflow-x: auto;
    white-space: nowrap;
}

.product-category a {
    display: inline-block;
    margin-right: 10px; /* Optional: Adjust spacing between items */
}
.social-list {
	margin-left:20px;
}
.social-list li {
	margin:0;
	padding:0;
}
.socials {
	display:inline-block;
	width:22px;
	height:22px;
}
.facebook {
	background: url('/static/theme/img/icons/facebook.png') no-repeat center center / 100%;
}
.linkedin {
	background: url('/static/theme/img/icons/linkedin.png') no-repeat center center / 100%;
}
.instagram {
	background: url('/static/theme/img/icons/instagram.png') no-repeat center center / 100%;
}

/* Newsletter */
.newsletter-form.d-flex {
    max-width: 300px;
    margin-top: 10px;
}

.newsletter-form input {
    border: 1px solid #ccc;
    border-radius: 5px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
    padding: 8px;
	margin-right:0;
}

.newsletter-form button {
    background-color: #ffc107;
    border: none;
    border-radius: 5px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
    padding: 0px 0px;
    color: #000;
	width:185px;
}

.newsletter-form button:hover {
    background-color: #e0a800;
    color: #fff;
}

/* Responsive rules previously shipped as a separate render-blocking file. */
@media (max-width: 767px) {
	.ftco-section {
		padding: 0;
	}
	.h1, h1 {
		font-size: calc(1.4375rem + 2.25vw);
	}
	.h2, h2 {
		font-size: calc(1.375rem + 1.5vw);
	}
	.h4, h4 {
		font-size: calc(1.3125rem + .75vw);
	}
	.lead,
	.btn-group-lg > .btn,
	.btn-lg,
	.hero-content p {
		font-size: calc(1.28125rem + .375vw);
	}
	section {
		padding: 1rem 0;
	}
	.b-sidebar {
		width: 100%;
	}
	.title {
		padding-left: 5rem;
	}
	.creation-area img {
		right: 0;
		top: 0;
		max-width: 90px;
	}
	.b-sidebar.b-sidebar-right,
	.c-sidebar.b-sidebar-right {
		left: auto;
		right: -130%;
		transition: .4s;
	}
	.b-sidebar.b-sidebar-right.active,
	.c-sidebar.b-sidebar-right.active {
		left: auto;
		right: -30%;
	}
	.step p {
		font-size: 15px;
	}
}

@media all and (orientation: portrait) {
	.b-sidebar.b-sidebar-right,
	.c-sidebar.b-sidebar-right {
		left: auto;
		right: -130%;
		transition: .4s;
	}
	.b-sidebar.b-sidebar-right.active,
	.c-sidebar.b-sidebar-right.active {
		left: auto;
		right: 0;
	}
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
	.container {
		width: 450px;
	}
	.b-sidebar {
		width: 350px;
	}
	.b-sidebar.b-sidebar-right,
	.c-sidebar.b-sidebar-right {
		left: auto;
		right: -130%;
		transition: .4s;
	}
	.b-sidebar.b-sidebar-right.active,
	.c-sidebar.b-sidebar-right.active {
		left: auto;
		right: 0;
	}
}
