@import url('https://fonts.googleapis.com/css2?family=Commissioner:wght@400;500;600;700&display=swap');

:root {
    --brand-base: #af0c07;
    --brand-light: #bd3733;

	
	--calendarPad: 2%;				/* any padding necessary to make the calendar fit nicely */
	--calendarPadSm: 2%;			/* any padding necessary to make the calendar fit nicely on small viewports */
	--calendarBkg: #fff;

	--defaultFont: "Commissioner", Arial, Helvetica, sans-serif;

	--venueDescText: #333;

	--link: #af0c07;
    --linkHover: #af0c07;
	
	--dateboxText: #333;			/* event listing day headers */
	--dateboxChevron: #af0c07;
	--dateboxBkg: #e4e4e4;
	--dateboxBrdr: #e4e4e4;
	
	--boxText: #fff;				/* calendar widget month header, day hover, tiny triangle, search button, dropdown */
	--boxBkg: #af0c07;
	
	--boxModalText: #333;			/* modal section headers */
	--boxModalBkg: #e4e4e4;

	--buttonText: #fff;				/* button colors */
	--buttonBkg: #af0c07;
	--buttonHoverBkg: #bd3733;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    background-color: #E6E6E6;
}

body,td,th {
    font-family: var(--defaultFont);
    font-weight: 400;
    font-size: 1em;
    color: #333;
}

* {box-sizing: border-box;}

h1 {
	margin: 0 0 0 0;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--brand-base);
    text-decoration: none;
    transition: text-decoration 0.2s ease, color 0.2s ease;
}

a:hover,
a:focus {
    text-decoration: underline;
    color: hsl(2, 92%, 30%); /* slightly darker than your base */
}

a.std-link {
	font-family: "open_sansregular", "Open Sans";
	font-weight: normal;
	font-size: 1em;	
	color: #af0c07;
	text-decoration: none;
}

a.std-link:hover,
a.std-link:active {
	text-decoration: underline;
}

a, button, .nav-toggle {
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* fully transparent */
}

#ATHwidget {
	display: inline-block;
	width: 100%;
	margin: 0 auto;
    font-family: var(--defaultFont);
}

main {
    display: flex;
    justify-content: center;
	flex-direction: column;
    flex-grow: 1;
    /* padding: var(--calendarPadSm); */
	background-color: var(--calendarBkg);
	line-height: normal;
}

.main-pad {
	padding: var(--calendarPadSm);
}

section {
	overflow-x: hidden !important;
}

/* ================================
   Fontawesome
================================ */
.fa-12x {font-size: 1.2em}
.fa-13x {font-size: 1.3em}
.fa-15x {font-size: 1.5em}
.fa-20x {font-size: 2em}
.fa-25x {font-size: 2.5em}
.fa-28x {font-size: 28px}
.fa-32x {font-size: 32px}
.fa-white  {color: #fff}
.fa-red    {color: firebrick}
.fa-green  {color: #1DA731}
.fa-white  {color: #fff}
.fa-orange {color: #FF8600}
.fa-grey   {color: rgba(120,116,104,1.00)}

/* ================================
   Back to top
================================ */
#backToTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: var(--brand-base);
    color: #fff;
    font-size: 22px;
	font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;

    z-index: 999;
}

#backToTop:hover {
    background: var(--brand-light);
}

#backToTop.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* ================================
   Page layout
================================ */
.page-wrap {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#content {
    width: 100%;
    border-left: none;
    border-right: none;
    padding: 0 15px; /* <-- side padding */
    background-color: #fff;
}

#content-box {
    margin-top: 20px;
	margin-bottom: 20px;
}

.container-1 {
    width: 90%;
    margin: 0px auto;
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.container-2 {
    width: 98%;
    margin: 0px auto;
    background: #fff;
    padding: 0px;
}

.container-3 {
    width: 90%;
    margin: 0px auto;
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.container-4 {
    width: 98%;
    margin: 0px auto;
    background: #fff;
    padding: 0px;
}

.tile-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.tile {
    width: 104px;
    height: 90px;

    display: flex;
    flex-direction: column;

    align-items: center;       /* center horizontally */
    justify-content: flex-start; /* align to top */

    padding: 10px 8px;         /* space from borders */
    box-sizing: border-box;    /* padding included in size */

    gap: 6px;

    text-decoration: none;
    color: #333;
    background-color: #f5f5f5;
    border-radius: 6px;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.tile span {
    font-size: 14px;
    text-align: center;
    line-height: 1.2;
}

.tile:hover,
.tile:focus {
    background-color: #ffc90a;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.tile,
.tile:hover,
.tile:focus,
.tile:active,
.tile:visited {
    text-decoration: none;
}

.tile:focus-visible {
    outline: 2px solid #333;
    outline-offset: 2px;
}

.heading1 {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-size: 1.2em;
    border-style: none none dotted none;
    border-bottom-color: #C00;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=date],
input[type=time],
select {
    width: 100%;
    height: 40px;              /* ← unified height */
    padding: 0 10px;           /* ← horizontal only */
    margin: 8px 0;
    font-family: var(--defaultFont);
    font-size: 1em;
    background-color: #f5f5f5;
    border-radius: 4px;
    border: 1px solid #CCC;
    box-sizing: border-box;    /* ← important */
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position:
        calc(100% - 18px) 50%,
        calc(100% - 13px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;

    padding-right: 34px;
}
			
input,
select {
    line-height: 40px;
}

textarea {
    width: 100%;
    padding: 10px;
    margin: 8px 0;
	font-family: var(--defaultFont);
    font-size: 1.0em;
    background-color: #f5f5f5;
    border-radius: 4px;
    border: 1px solid #CCC;
}

input[type="checkbox"] {
    appearance: none;
    width: 21px;
    height: 21px;
    border: 2px solid #cccccc;
    background-clip: content-box;
    padding: 3px;
    vertical-align: middle;
    position: relative;
    bottom: 2px;
}

input[type="checkbox"]:checked {
    background-color: #af0c07;
}

label {
    display: block;
    margin-top: 15px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    height: 39px;
    padding: 0 16px;

    font-size: 1em;
    line-height: 1;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;

    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-sm {
    display: inline-block;
    padding: 5px 8px;
    font-size: 0.8em;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    border: none;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-primary {
    background-color: var(--buttonBkg);
    color: var(--buttonText);
}

.btn-primary:hover {
    background-color: var(--buttonHoverBkg);
}

.btn-secondary {
	background-color: #afafaf;
	color: #333;
}

.btn-secondary:hover {
	background-color: #c1c1c1;
}

a.btn,
a.btn:visited,
a.btn:hover,
a.btn:active {
    color: var(--buttonText);
    text-decoration: none;
}

a.btn-sm,
a.btn-sm:visited,
a.btn-sm:hover,
a.btn-sm:active {
    color: var(--buttonText);
    text-decoration: none;
}

.required {
	font-weight: bold;
	color: #C00;
}


/* Container spacing */
.radio-group {
    margin-top: 5px;
}

/* Each stacked option */
.radio-row {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-top: 10px;
    cursor: pointer;
}

/* Hide native radio */
.radio-row input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;

    width: 18px;
    height: 18px;

    border: 2px solid #ccc;
    border-radius: 50%;

    position: relative;
    margin: 0;

    cursor: pointer;
    transition: all 0.2s ease;
}

/* Hover state */
.radio-row input[type="radio"]:hover {
    border-color: #af0c07;
}

/* Checked state (ATH red) */
.radio-row input[type="radio"]:checked {
    border-color: #af0c07;
    background-color: #af0c07;
}

/* White inner dot */
.radio-row input[type="radio"]:checked::after {
    content: "";
    position: absolute;

    width: 6px;
    height: 6px;

    background: white;
    border-radius: 50%;

    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Keyboard focus */
.radio-row input[type="radio"]:focus-visible {
    outline: 2px solid #af0c07;
    outline-offset: 2px;
}

.error, .success {
    text-align: center;
    margin: 30px 0;
    padding: 10px;
    border-radius: 5px;
}

.error {
	background: #ffe5e5;
	border: 2px solid #af0c07;
}

.success {
    background: #e5ffe5;
	border: 2px solid #1DA731;
}

#footer {
    width: 100%;
    border-left: none;
    border-right: none;
    padding: 15px; /* same side padding as content */
    background-color: #E6E6E6;
    border-top: 2px solid #666;
    text-align: center;
}

#social-box {
    width: 100%;
    margin-top: 15px;
    text-align: center;
}

.social-link {
    margin: 20px 20px 0 20px;
}

a.social-link:link, a.social-link:visited {
    color: #626262;
}

a.social-link:hover, a.social-link:active {
    color: #828282;
}

#links-box {
    float: none;
    margin-top: 20px;
}

#footer-lnk {
    width: 100%;
    float: left;
    margin-top: 10px;
    text-align: center;
}

.footer-link {
    margin: 0 12px;
}
			
a.footer-link:link, a.footer-link:visited {
    font-weight: 300;
    font-size: 1.2em;
    color: #000;
    text-decoration: none;
}
a.footer-link:hover, a.footer-link:active {
    text-decoration: underline;
}
		
#copyright-box {
    float: left;
    margin-top: 20px;
    font-size: 0.75em;
    color: #666;
}

@media (min-width: 481px) { /* small tablets */
}

@media (min-width: 768px) { /* tablets */
	#ATHwidget {
		display: inline-block;
		max-width: 1260px;
		margin: 0 auto;
	}

	main {
		display: flex;
		justify-content: center;
		flex-grow: 1;
		/* padding: var(--calendarPad); */
		background-color: var(--calendarBkg);
		line-height: normal;
	}
	
	.main-pad {
		padding: var(--calendarPad);		
	}
	
	section {
		overflow-x: visible !important;
	}

	#content {
		margin: auto;
	}
	
	.container-1 {
		width: 340px;
	}

	.container-2 {
		width: 450px;
	}

	.container-3 {
		width: 450px;
	}
	
	.container-4 {
		width: 675px;
	}
}

@media (min-width: 1025px) { /* desktop */
	body {
		background-color: #FBF386;
	}
	
	#ATHcalendar {
		display: inline-block;
		flex-direction: column;
		max-width: 1260px;
		margin: 0 auto;
	}

	main {
		display: flex;
		justify-content: center;
		flex-grow: 1;
		/* padding: var(--calendarPad); */
		background-color: var(--calendarBkg);
		line-height: normal;
	}
	
	.main-pad {
		padding: var(--calendarPad);		
	}
	
	section {
		overflow-x: visible !important;
	}

	#content {
		z-index: 900;
		position: relative;
		width: 1260px;
		max-width: 100%;
		overflow: visible !important;
		margin: auto;
		border-left: 1px solid #CCC;
		border-right: 1px solid #CCC;
	}

	#content-box {
		width: 100%;
		min-height: 450px;
		padding: 0 15px;
		margin-top: 70px;
	}
	
	.container-1 {
		width: 340px;
	}

	.container-2 {
		width: 450px;
	}

	.container-3 {
		width: 450px;
	}
	
	.container-4 {
		width: 675px;
	}

	#footer {
		width: 1260px;
		max-width: 100%;
		height: 190px;
		margin: 0 auto 40px auto;
		padding: 0;
		background-image: url(../../images/footer-lg.jpg);
		background-repeat: no-repeat;
		background-color: transparent;
		background-position: top left;
		border-top: none;
		text-align: left;
	}

    #social-box {
		width: auto;
        float: left;
		margin-top: 36px;
    }
	
    .social-link {
        margin-right: 0 36px 0 0;
    }
	
    a.social-link:link, a.social-link:visited {
        color: #CCC;
    }
	
    a.social-link:hover, a.social-link:active {
        color: white;
    }

    #links-box {
        float: right;
        margin: 38px 40px 0 0;
    }
	
    #footer-lnk {
		width: auto;
        float: left;
        margin-top: 0;
        margin-left: 0;
        text-align: center;
    }

    .footer-link {
        margin: 0 0 0 40px;
    }
			
    a.footer-link:link, a.footer-link:visited {
        font-size: 1em;
    }
    a.footer-link:hover, a.footer-link:active {
        font-size: 1em;
    }

    #copyright-box {
        padding: 20px 10px;
    }
}