/* Reset & base styles */
* {
  	margin: 0;
  	padding: 0;
  	box-sizing: border-box;
	}

html {
  	font-size: clamp(18px, 2.5vw, 24px); 
	}

body {
  	font-family: "Roboto", sans-serif;
  	line-height: 1.5;
	}

/* Header with full-width background image */
header {
  	background: url('/header/header_image.jpg') center/cover no-repeat;
  	color: white;
  	text-align: center;
	}

/* Content strip centered */
.container {
  	max-width: 1000px;
  	margin: 0 auto;
	}

h1, h2, h3 {
	margin-bottom: 0.5rem;
	margin-top: 0.5rem;
	text-align: center;
	font-weight: 500;
	}

h1 {
	font-size: clamp(23px, 2.5vw, 31px); 
	}
h2 {
	font-size: clamp(21px, 2.5vw, 29px); 
	}
h3 {
	font-size: clamp(19px, 2.5vw, 27px); 
	}

a {
	text-decoration: none;
	text-shadow: 2px 2px 2px #a6a6a6;
	color: black;
	}

a:hover {
	color: orange;
	}		
button {
	padding: 0.5em;
	margin: 0.1em;
	font-size: 1em;
	}
li {
	list-style-position:inside;
	}
.title {
	color: white;
	font-weight: 200;
	font-size: 2rem;
	text-align: center;
	}

.subtitle {
	color: white;
	font-weight: 200;
	font-size: 1.5rem;
	text-align: center;
	}

.logo {
	max-width:4rem;
	margin: 0 auto;
	}

.logo img {
	width: 100%;
	border-radius: 10%;
	margin: 0.5rem;
	}

.menu {	
	padding: 0.2rem;
	}

.btn {
	text-align: center;
	margin-right: 0.3em;
	display: inline-block;
	padding: 0.3em 0.3em;
	border-radius: 0.3em;
	background: #e6e6e6;
	}
.btn:hover {
	background: #f2f2f2;
	}
.functions {
  	background: #e6e6e6;
	border-radius: 0.2rem;
  	display: flex;
	flex-direction: column;
	padding: 0.5rem;
	margin: 0.5rem;
	}

.function_3 {
  	display: flex;
  	align-items: center;
  	max-width: 100%; /* responsive floor */
  	margin:auto;
  	padding: 0.5rem 0.2rem;
	}

.functions_2 {
  	display: flex;
  	align-items: center;
  	margin-right: 0.5rem;
  	margin-left: 0.5rem;
	}

.functions_2 img {
  	width: 20px;
  	height: auto;
	}

.functions_1 {
  	display: flex;
  	flex-direction: column;
  	justify-content: center;
  	line-height: 1.3;
	}

.main_page {
	background: #e6e6e6;
	display:inline-block;
	width:32%;
	text-align: center;
	margin: auto;
	border-radius:0.2rem;
	}
.main_page img {
	width: 95%;
	margin: 2%;
	aspect-ratio: 5/5;
	object-fit: cover;
	object-position:50% 50%;
	border-radius: 0.2rem;
	}
.main_page:hover {
	filter:brightness(1.07);
	}
.main_page_text {
	margin: 2%;
	text-align:center;
	min-height:5rem;
	}
.main_page_text:hover {
	margin: 2%;
	text-align:center;
	}
.customer {
	text-align: center;
	width: 90%;
	margin: 1% 5%;
	display: inline-block;
	}
.customer img {
	width: 100%;
	border-radius: 2%;
	aspect-ratio: 4/1;
	object-fit: cover;
	object-position:0% 100%;
	}
.customer img:hover {
	filter:brightness(1.1);
	box-shadow: 0.3rem 0.3rem 0.3rem gray;
	}
.customer_2 {
	text-align: center;
	width: 60%;
	margin: 2% 20%;
	display: inline-block;
	}
.customer_2 img {
	width: 100%;
	border-radius: 2%;
	}
.customer_2 img:hover {
	filter:brightness(1.1);
	box-shadow: 0.3rem 0.3rem 0.3rem gray;
	}
.how-it-works0 {
	background: #e6e6e6;
	border-radius: 0.3rem;
	margin:0.5rem;
	}

.how-it-works {
    	display: flex;
    	align-items: center;
    	justify-content: center;
    	gap: 1rem;
    	color: black;
    	padding: 0.5rem 0;
  }
  .step {
    	text-align: center;
    	width:30%;
  }
  .step-number {
    	font-weight: bold;
	font-size: clamp(23px, 2.5vw, 31px); 
    	display:block;
    	width:2rem;
    	height:2rem;
    	margin:auto; 
    	background: white;
    	border-radius:1rem;
	}
.me {
	display:inline-block;
	width:32%;
	margin: auto;
	text-align: center;
	vertical-align:top;
	}
.me p { font-size: 0.8em; }

.ftr {
	width: 30%; 
	display: inline-block;
	vertical-align: top;
	margin:1% 1%;
	text-align: left;
	}
.ftr a img { vertical-align: middle; filter:invert(1); margin-right: 0.7em; height: 1.4em; }

img.mySlides {
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
	object-fit: cover;
	aspect-ratio: 5/3;
	}
img.mySlides:hover {
	-webkit-filter: brightness(90%);
	box-shadow: 0 0 1em black;
	}
img.crop3 {
	width: 470px;
	margin: 5px;
	height: 295px;
	object-fit: cover;
	}
img.crop3:hover {
	-webkit-filter: brightness(90%);
	box-shadow: 0 0 1em black;
	}
div.contact {
	text-align: left;	
	width: 98%;
	margin: 1%;
	display: inline-block;
	vertical-align: top;
	}

label.contact {
	margin:0.2rem;
	}

input.contact {
	width: 96%;
	margin:0.5em;
	height: 2em;
	}

textarea.contact {
	width: 96%;
	margin:0.5em;
	height: 10em;
	}
.kydex_shop {
	background-color: #f2f2f2;
	border-radius: 0.3em;
	width: 98%;
	margin: 1%;
	padding:1%;
	text-align: left;
	display: inline-block;
	}
.kydex_shop:hover {
	filter:brightness(1.1);
	}
.kydex_shop2 {
	background-color: #f2f2f2;
	text-color: white;
	border-radius: 0.3em;
	width: 98%;
	display: inline-block;
	padding: 1%;
	font-weight: 500;
	}
.kydex_shop3 {
	display: inline-block;
	vertical-align: top;
	width: 30%;
	}
.kydex_shop3 img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	}
.kydex_shop3 img:hover {
	filter: brightness(1.1);
	}
.kydex_shop4 {
	display: inline-block;
	margin: auto;
	vertical-align: top;
	width: 67%;
	}
.kydex_shop4 p {
	font-size: 100%;
	text-align: justify;
	margin: 2%;
	}

.holster-list {
	width: 95%;
	margin: 2% 2%;
	}
.shop_align {
	width:96%;
	display:inline-block;
	position: relative;
	vertical-align: top;
	margin:2%;
}
.shop_align p {
	text-align: justify;
}
.shop_align img {
	width:100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}
.arrow {
	position: absolute;
	top: 50%;
	transform: translateY(0%);
	font-size: 2rem;
	color: black;
	background-color: #f2f2f2;
	border: 1px solid black;
	padding: 1%;
	margin: 5%;
	cursor: pointer;
	z-index: 1;
}

.arrow.left {
	left: 0;
}
.arrow.right {
	right: 0;
}
.offer0 {
	width: 98%;
	margin: 1%;
	border-radius: 0.3em;
	aspect-ratio: 1/1;
	object-fit: cover;
	}
.navigation {
	margin: 0em 0.5em;
	font-size: 0.9em;
	}
.field-group {
	display: flex;
	align-items: center;
	margin-bottom: 1em;
}

.field-group label {
	width: 8em;         
	margin-right: 10px;  
	font-weight: bold;
	text-align:left;
}

.field-group select {
	flex: 1;            
	max-width: 20em;
	background-color: #f5f5f5;
	padding: 0.4em 1em;
	border: 1px solid #ccc;
	border-radius: 0.2em;
	font-size: 1em;
}
.knowledge {
	background-color: #f2f2f2;
	border-radius: 0.3em;
	width: 98%;
	margin: 1%;
	text-align: left;
}
.knowledge p {
	text-align: justify;
	width: 96%;
	margin: 2%;
}
.knowledge img {
	width: 96%;
	margin: 2%;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 0.3em;
}
.knowledge h2, h3 {
	}
.archive {
	width: 98%;
	margin: 1%;
	}
.archive p {
	text-align:justify;
	width: 100%;
	}
.archive a {
	display: inline-block;
	vertical-align: top;
	}
.archive figure {
	width: 90%;
	margin: 2% 5%;
	text-align: center;
	}
.archive img {
	width: 98%;
	margin: 1%;
	aspect-ratio: 5/3;
	object-fit: cover;
	}
div.sold-out{
	position:absolute;
	bottom: 50px;
	right: 50px;
	background-color: white;
	color: black;
	padding: 15px;
}

.specs {
  	display: grid;
  	grid-template-columns: 1fr 2fr; 
 	gap: 0.5rem 1rem;              
	}

.specs dt {
 	font-weight: bold;
  	grid-column: 1;               
  	margin: 0;                   
	}

.specs dd {
 	grid-column: 2;             
  	margin: 0;
	}

.pagefind-ui__results {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 98% !important;
    margin-right: 1% !important;
    background: #f2f2f2;
    border: 2px solid #ccc;
    border-top: none;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
	list-style: none !important;
	font-size: 0.9em;
	text-align: left;
}

/.pagefind-ui__result {
	list-style: none !important;
	font-size: 0.8em;
	margin:1em;
}

/* Hide everything we don't want */
.pagefind-ui__result-body,
.pagefind-ui__result-thumb,
.pagefind-ui__result-excerpt,
.pagefind-ui__message {
    display: none !important;
}

/* Style the input to match dropdown width */
.pagefind-ui__search-input {
    width: 75% !important; /* Set your desired width */
    height: 2em;
    font-size: 1em;
    box-sizing: border-box;
}

.pagefind-ui__search-clear {
	margin-right: 0.2em;
	height: 2em;
	vertical-align:middle;
	font-size: 1em;
	text-align: left;
}


/* Larger screens adjustments */
@media (min-width: 768px) {
header {
    	padding: 1rem 1rem;
  	}
.functions {
	flex-direction: row;
  	}
.customer {
	text-align: center;
	width: 45%;
	margin: 1% 2%;
	display: inline-block;
	}
.customer_2 {
	width: 32%;
	margin: 1% 34%;
	}
div.contact {
	width:45%;
	}
.offer0 {
	width: 46%;
	}
.shop_align {
	width: 45%;	
	}
.knowledge {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "heading heading"
      "image   text";
    column-gap: 0; /* keep your 2% margins on children */
    align-items: start;
  }

.knowledge h3 {
    grid-area: heading;
    margin: 1%;
	}

.knowledge img {
    grid-area: image;
    width: 96%;
    margin: 2%;
	}

.knowledge p {
    grid-area: text;
    width: 96%;
    margin: 2%;
	}
.archive a {
	width: 48%;
	}
.pagefind-ui__search-input {
    width: 85% !important; /* Set your desired width */
}
  

}

