/* Alternating Bands */
.bands-container {
        margin-top: 100px; /* Push the first band down */
}

/* Alternating Bands */
.band
{
        height: 100px;
}

/* Responsive: Stack on smaller screens */
@media (max-width: 768px)
{
    .minipage-container
    {
        flex-direction: column;
        align-items: center;
    }

    .minipage
    {
        width: 90%; /* Makes minipages full-width */
        max-width: none; /* Removes width restriction */
    }
}

/* Header Style */
h1
{
        display: inline-block; /* Keeps width limited to text */
        border-bottom: 3px solid red; /* Underline effect */
        padding-bottom: 5px;
        background: transparent;
}

h2
{
    /* color: rgb(240, 240, 240);  */
    color: white;
    size: 36;
    text-align: center;
    text-decoration: underline;
    text-transform: uppercase;
}

h3
{
        font-family: Georgia;
        color: red;
        font-size: 36;
        font-weight: bold;
        text-align: center;
        text-decoration: underline;
        text-transform: uppercase;
        max-width: 700px;
        background: transparent;
}

h4
{
        font-family: Georgia;
        font-weight: bold;
        font-size: 20;
        color: grey;
        max-width: 700px;
        background: transparent;
        text-align: center;
}

h5
{
        font-family: Georgia;
        color: white;
        font-size: 36;
        font-weight: bold;
        text-align: center;
        text-decoration: underline;
        text-transform: uppercase;
        max-width: 700px;
        background: transparent;
}

/* Blocks container */
.blocks-container 
{
	display: grid; /* or flex, or whatever layout */
	gap: 20px;
	padding: 10px;
	background: #f8f8f8;
}


/* This is for three-cell display of affiliated organizations */
.grid-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 3 equal-width columns */
	gap: 20px; /* space between grid items */
	padding: 20px;
}

.grid-item 
{
	padding: 30px;
	text-align: center;
	border: 1px solid #ccc;
  	border-radius: 8px;
}

/* Assigned by JS */
.grid-item.white-bg 
{
	background-color: white;
}

.grid-item.transparent-bg 
{
	background-color: transparent;
}

@media (max-width: 768px) {
.grid-container {
	grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
.grid-container {
	grid-template-columns: 1fr;
	}
}

/* Social media buttons */
/* Cabin Board Style for Buttons */
.button-container {
        position: relative;
        display: inline-block;
        padding-top: 20px; /* Space for paper clip */
}

.social-button {
        position: relative;
        width: auto;
        padding: 15px 50px;
        font-size: 24px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 2px;
        text-align: center;
        font-family: 'IM Fell English SC', serif;
        color: rgba(255, 255, 255, 0.9);
        text-shadow: 2px 2px 5px rgba(0, 0, 0, 1);
        text-decoration: none;
        cursor: pointer;
        border-radius: 8px;
        border: 5px solid #6B4423; /* Dark border for depth */
        box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.5), /* Deep shadow */
        inset 0 -10px 20px rgba(0, 0, 0, 0.4); /* Worn wood depth */
        background: url('https://www.transparenttextures.com/patterns/wood-pattern.png'); /* Wood texture */
        background-color: rgb(75, 75, 75); /* Matching deep brown wood */
        background-size: 100% auto;
        background-position: center;
        display: flex;
        align-items: center;
        gap: 20px;
        justify-content: center;
        transition: transform 0.3s ease-in-out;
}

.social-button:hover {
        transform: translateY(-3px);
}
/* Create visible wooden planks */
.social-button::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: repeating-linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.3) 0px,
        rgba(0, 0, 0, 0.3) 2px,
        transparent 3px,
        transparent 50px
        );
        opacity: 0.6;
        pointer-events: none;
}

/* Rugged wood edges */
.social-button::after {
        content: "";
        position: absolute;
        top: -10px;
        left: -10px;
        right: -10px;
        bottom: -10px;
        background: url('https://www.transparenttextures.com/patterns/rough-cloth.png'); /* Rough edges */
        opacity: 0.3;
        border-radius: 12px;
        mix-blend-mode: multiply;
        pointer-events: none;
}
/* Black wash effect with wide horizontal brush strokes */
.brush-strokes {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: repeating-linear-gradient(
        to right,
        rgba(0, 0, 0, 0.15) 0px,
        rgba(0, 0, 0, 0.3) 10px,
        rgba(0, 0, 0, 0.1) 20px
        );
        opacity: 0.4;
        mix-blend-mode: multiply;
        pointer-events: none;
}
/* Extra large icons */
.icon {
        font-size: 40px; /* EVEN BIGGER */
}
.social-button i
{
        font-size: 36px; /* Larger PDF icon */
        color: #ff0000; /* Explicit RED color for the icon */
        margin-right: 12px;
}

/* Does this webpage even have a form? */
form {
	background: rgba(255, 255, 255, 0.95);
	padding: 2rem;
	border-radius: 10px;
	max-width: 500px;
	margin: 2rem auto;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

form 
{
	/* background: #fff; */
	padding: 2rem;
	border-radius: 10px;
	max-width: 500px;
	margin: auto;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.form-with-background 
{
	/* background-image: url('../PICTURES/white-wash-planks.jpg');*/
	padding: 2rem;
	border-radius: 20px;
	max-width: 700px;
	margin: 2rem auto;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	background: 'white';
	background-size: cover; /* or contain, or a fixed size */
	background-repeat: no-repeat;
	background-position: center;
	padding: 20px; /* optional */
}

label 
{
	display: block;
	margin-top: 1rem;
	font-weight: bold;
}

input, select, textarea 
{
	align: center;
	width: 80%;
	padding: 0.5rem;
	margin-top: 0.25rem;
	border: 1px solid #ccc;
	border-radius: 5px;
}

button 
{
	margin-top: 1.5rem;
	padding: 0.75rem;
	width: 100%;
	background-color: #28a745;
	color: white;
	border: none;
	border-radius: 5px;
	font-size: 1rem;
	cursor: pointer;
}

button:hover 
{
	background-color: #218838;
}

/* State select width fits the widest option */
select#state {
	font-family: Georgia;
	width: auto;
	min-width: auto; /* fallback for browsers that don't support max-content */
	max-width: 100%;
}

.phone-group {
	/* display: flex; */
	gap: 0.5rem;
	margin-top: 0.25rem;
	align: center;
}

/* Phone inputs only as wide as needed */
.phone-group input {
	width: auto;
	padding: 0.5rem;
	text-align: center;
	align: center;
}
#areaCode {
	width: 3ch;
}
#prefix {
	width: 3ch;
}
#lineNumber {
	width: 4ch;
}

/* Navbar Styling */
.navbar
{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: black;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding: 15px 20px;
    font-family: Georgia;
    z-index: 1000;
}

.navbar a {
        color: white;
        padding: 10px 15px;
        text-decoration: none;
        line-height: 1; /* prevents stretching */
        display: inline-block; /* ensures consistent layout */
}

.navbar-left
{
    width: 25%;
    text-align: left;
    font-size: 16px;
    font-weight: bold;
}

.navbar-center
{
    width: 30%;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.navbar-center a
{
    color: white;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    padding: 5px 10px;
    transition: 0.3s;
}
.navbar-center a:hover
{
    background: #555;
    color: red;
    border-radius: 5px;
}

.navbar-right
{
    width: 25%;
    display: flex;
    justify-content: flex-end;
    gap: 15px;
}

.navbar-right i
{
	color: white;
	font-size: 20px;
	cursor: pointer;
	transition: 0.3s;
}

.navbar-right i:hover
{
    color: blue;
}

/* Dropdown list for More within navbar */
.navbar .dropdown {
    position: relative;
}

.navbar .dropdown-content {
    display: none;
    position: absolute;
    right: 0;
    background-color: #444;
    min-width: 160px;
    z-index: 1;
    border-radius: 4px;
}

.navbar .dropdown-content a {
    display: block;
    padding: 10px;
    color: white;
    text-decoration: none;
}

.navbar .dropdown:hover .dropdown-content {
    display: block;
}

.navbar a:hover, .navbar .dropdown-content a:hover {
    background-color: #555;
}

/* Body Style */
body 
{
	font-family: Georgia;
	background: transparent;
}

/* Repeat PNG as the main body background */
body 
{
	font-family: Georgia;
	margin: 0;
	padding: 0;
	background-image: url('../PICTURES/etched-guns.png'); /* Replace with your repeating PNG */
	background-repeat: repeat; /* Ensures the PNG tiles instead of leaving gaps */
	background-size: auto; /* Keeps original size, or use 'contain' */
}

/* Block styling */
.block 
{
	padding: 40px;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	background-size: cover;
	background-position: center;
}

/* Odd blocks - Transparent overlay with no hard cut */
.block:nth-child(odd) 
{
	background: rgba(0, 0, 0, 0.8); /* Semi-transparent black overlay */
	color: white;
}

/* Even blocks - Another overlay */
.block:nth-child(even) 
{
	/* background: rgba(255, 255, 255, 0.5); /* Semi-transparent white overlay */
	background-image: url('../PICTURES/guns-wallpaper.png');
	color: black;
}

/* Within band two-column style */
.container 
{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

/* Adjustable widths */
.text 
{
	width: 33%; /* Change this to adjust */
	padding: 30px;
	text-align: justify;
}

.image 
{
	width: 60%; /* Change this to adjust */
	padding: 30px;
	text-align: center;
}

.image img 
{
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

img {
  max-width: 100%;       /* Responsive within container */
  height: auto;          /* Maintain aspect ratio */
  image-rendering: auto; /* Default browser scaling */
  display: block;        /* Removes inline spacing */
}

.mytext
{
	font-size: 18px;
	font-style: Georgia, serif;
	font: normal;
	text-align: justify;
}
 
/* NYSRPA Certificate Style */
.photo-frame-1
{
	position: relative;
	display: inline-block;
	/* width: 375px; /* Adjust image size */
	/* max-width: 100%; */
	/* height: auto; */
	image-rendering: auto;
	padding: 20px;
	background: #D6D0C4; /* Photo border */
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
        transform: rotate(5deg);
}

.photo-frame-2
{
	position: relative;
	display: inline-block;
 	/* width: 375px; /* Adjust image size */
	/* max-width: 100%; */
	/* height: auto; */
	image-rendering: auto;
	padding: 20px;
	background: #D6D0C4; /* Photo border */
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
        transform: rotate(-5deg);
}

.photo-frame-1 img 
{
	max-width: 100%;
	width: auto;
	height: auto;
	display: block;
	image-rendering: auto; /* or 'crisp-edges' if you want sharper graphics */
	filter: contrast(1.1) brightness(0.9); 
}

.photo-frame-1 img 
{
	max-width: 100%;
	width: auto;
	height: auto;
	display: block;
	image-rendering: auto; /* or 'crisp-edges' if you want sharper graphics */
	filter: contrast(1.1) brightness(0.9); 
}

/* Tape Effect */
.photo-frame-1::before 
{
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 25px;
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
	transform: rotate(-5deg);
	clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%);
}

/* Tape Effect */
.photo-frame-2::before 
{
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 25px;
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
	transform: rotate(-5deg);
	clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%);
}

/* Application PDF Download */
/* Paper Clip */
.paper-clip {
	position: absolute;
	top: -15px;
	left: 50%;
	width: 40px;
	height: 60px;
	border: 3px solid silver;
	border-radius: 20px;
	transform: rotate(15deg);
	background-color: transparent;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
	z-index: 10;
}

/* Inner part of the paper clip */
.paper-clip::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 6px;
	width: 28px;
	height: 44px;
	border: 3px solid silver;
	border-radius: 15px;
}
/* Social media buttons */
/* Cabin Board Style for Buttons */
.button-container {
	position: relative;
	display: inline-block;
	padding-top: 20px; /* Space for paper clip */
}

.social-button {
	position: relative;
	width: auto;
	padding: 15px 50px;
	font-size: 24px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-align: center;
	font-family: 'IM Fell English SC', serif;
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 2px 2px 5px rgba(0, 0, 0, 1);
	text-decoration: none;
	cursor: pointer;
	border-radius: 8px;
	border: 5px solid #6B4423; /* Dark border for depth */
	box-shadow:
	0 6px 20px rgba(0, 0, 0, 0.5), /* Deep shadow */
	inset 0 -10px 20px rgba(0, 0, 0, 0.4); /* Worn wood depth */
	background: url('https://www.transparenttextures.com/patterns/wood-pattern.png'); /* Wood texture */
	background-color: rgb(75, 75, 75); /* Matching deep brown wood */
	background-size: 100% auto;
	background-position: center;
	display: flex;
	align-items: center;
	gap: 20px;
	justify-content: center;
	transition: transform 0.3s ease-in-out;
}

.social-button:hover {
	transform: translateY(-3px);
}
/* Create visible wooden planks */
.social-button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(
	to bottom,
	rgba(0, 0, 0, 0.3) 0px,
	rgba(0, 0, 0, 0.3) 2px,
	transparent 3px,
	transparent 50px
	);
	opacity: 0.6;
	pointer-events: none;
}

/* Rugged wood edges */
.social-button::after {
	content: "";
	position: absolute;
	top: -10px;
	left: -10px;
	right: -10px;
	bottom: -10px;
	background: url('https://www.transparenttextures.com/patterns/rough-cloth.png'); /* Rough edges */
	opacity: 0.3;
	border-radius: 12px;
	mix-blend-mode: multiply;
	pointer-events: none;
}
/* Black wash effect with wide horizontal brush strokes */
.brush-strokes {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(
	to right,
	rgba(0, 0, 0, 0.15) 0px,
	rgba(0, 0, 0, 0.3) 10px,
	rgba(0, 0, 0, 0.1) 20px
	);
	opacity: 0.4;
	mix-blend-mode: multiply;
	pointer-events: none;
}
/* Extra large icons */
.icon {
	font-size: 40px; /* EVEN BIGGER */
}
.social-button i 
{
	font-size: 36px; /* Larger PDF icon */
	color: #ff0000; /* Explicit RED color for the icon */
	margin-right: 12px;
}

/* Whitewash cabin wood board */
@import url('https://fonts.googleapis.com/css2?family=IM+Fell+English+SC&display=swap');

/* Calendar of events */
.calendar-board {
	background: url('https://www.transparenttextures.com/patterns/wood-pattern.png'); /* Wood texture */
	/* background-image: url('images/wood-board-bg.jpg'); /* your cabin wood texture */ 
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding: 20px;
	border: 8px solid #5b3e1d;
	border-radius: 16px;
	box-shadow: 4px 6px 15px rgba(0, 0, 0, 0.5);
	margin: 20px auto;
	max-width: 900px;
}

#calendar {
  	background-color: rgba(255, 255, 240, 0.7); /* soft parchment tone */
  	border-radius: 12px;
	padding: 10px;
	box-shadow: 2px 4px 10px rgba(0,0,0,0.2);
	font-family: 'Georgia', serif;
}

/* Optional tweaks for calendar look */
.fc .fc-toolbar-title {
	font-size: 1.5em;
	color: #4a2e14;
}

.fc .fc-daygrid-event {
	background-color: #8b5e3c;
	border: none;
	color: white;
	padding: 2px 4px;
	border-radius: 6px;
	font-size: 0.9em;
}

/* Small rustic font and line wrap for calendar */
/* Smaller font and wrapping */
.fc-event {
	font-family: 'Dancing Script', cursive;
  	font-size: 0.60rem;           /* Smaller text */
	white-space: normal !important; /* Allow line wrap */
	padding: 2px 4px;
	line-height: 1.2;
}

/* Optional: rustic font style */
.fc-event-title {
  	font-family: 'Dancing Script', cursive; /* Or your cabin-typeface */
}

/* Put an axe in today's date on calendar */
.fc-day-today .fc-daygrid-day-number {
  	position: relative;
	padding-right: 22px;
}

.fc-day-today .fc-daygrid-day-number::after {
	content: '';
	position: absolute;
	top: 75;
	right: 75;
	width: 75px;
	height: 75px;
	background-image: url('../PICTURES/beretta-45.png'); /* transparent PNG */
	/*background-image: url('../PICTURES/scorch-mark.png'); /* transparent PNG */
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
}

/* Paladin Center Google Embedded Map */
.map-board {
	background: url('https://www.transparenttextures.com/patterns/wood-pattern.png'); /* Wood texture */
	background-size: cover;
	padding: 20px;
	margin: 30px auto;
	max-width: 600px;
	border-radius: 12px;
	box-shadow: 4px 6px 15px rgba(0,0,0,0.4);
}

.map-paper {
  	background-image: url('images/wrinkled-paper-texture.png'); /* optional texture */
	background-size: cover;
	padding: 12px;
	border-radius: 10px;
	box-shadow:
	-3px -3px 7px rgba(0,0,0,0.2),
	4px 6px 15px rgba(0,0,0,0.3);
	transform: rotate(-1deg);
	position: relative;
	overflow: hidden;
	border: 3px solid #d8c7aa; /* worn parchment border */
	clip-path: polygon(
	5% 3%, 95% 0%, 100% 5%, 100% 95%,
	95% 100%, 3% 95%, 0% 90%, 0% 5%
	);
}

.map-paper iframe {
	width: 100%;
	height: 400px;
	border: none;
	display: block;
	filter: sepia(10%) contrast(105%);
}

/* Wave and slam animations for some block titles to stand out */
.title-hidden {
  	opacity: 0;
  	transform: translateY(-50px);
}
@keyframes wave {
  	0%, 100% { transform: rotate(-2deg); }
  	50% { transform: rotate(2deg); }
}

.title-wave {
  	animation: wave 1.2s ease-in-out infinite;
	animation-delay: 0.8s;
	transform-origin: top center;
}

@keyframes slam {
	0% {
		transform: translateY(-300px) rotate(-5deg);
		opacity: 0;
	}
	70% {
		transform: translateY(10px) rotate(2deg);
		opacity: 1;
	}
	100% {
		transform: translateY(0) rotate(0deg);
	}
}

.title-slam {
	display: inline-block;
  	animation: slam 0.8s cubic-bezier(0.25, 1.5, 0.5, 1) forwards;
}


.footer {
	font-family: Georgia, serif;
	font-size: 16px;
	color: black;
	text-align: center;
	padding: 20px;
	background: none;
}

.footer::before {
	content: "";
	display: block;
	width: 100%;
	height: 2px; /* Line thickness */
	background: black; /* Line color */
	margin-bottom: 10px; /* Space between line and text */
}

.beating-heart {
	display: inline-block;
	font-size: 32px; /* Adjust size as needed */
	animation: heartbeat 1s infinite;
}

@keyframes heartbeat {
	0% { transform: scale(1); }
	25% { transform: scale(1.2); }
	50% { transform: scale(1); }
	75% { transform: scale(1.2); }
	100% { transform: scale(1); }
}

