@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Passion+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bona+Nova+SC:ital,wght@400,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600&display=swap');


/* RESET */

/* Resetting default styles for various HTML elements */
/* This section aims to provide consistent styling across different browsers by resetting default styles. */

html, body, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-family: inherit; /* Updated property name */
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

img {
    width: 100%;
    height: auto;
}

.visually-hidden {
	display: none;
}

body {
	perspective: 1000px; /* Perspective for 3D effect */
}


/* TABLE OF CONTENTS
    -----------------------------------

    1. BANNER
    2. CONTENT
    3. SLIDER
    4. INDEX
    5. COUPON
    6. ATTRACTIONS
    7. SCHEDULE
    8. SCHEDULE FORM
    9. FOOTER
    10. FONTS
    11. GAMES
    12. PARTY IFRAME
    13. HOURS
    14. JOBS
	15. ONLINE APPLICATION
    16. BINGO
    17. BOWLING
    18. PARTIES
    19. GIFT CARDS
    20. PINBALL
    21. DONATIONS
    22. TAVERN
    23. GROUPS
    24. PHOTOS
    25. ABOUT US
	26. GAME REPAIR
	27. MOBILE MENU
	28. DIRECTIONS
	29. RATES

    */
	
	/* TEMP */
	
	.red-box {
		width: 100%;
		box-sizing: border-box;
		margin: 0 auto;
		background-color: red;
		color: yellow;
		font: 700 14px/1.3 'Open Sans', sans-serif;
		text-align: center;
		padding: 10px;
	}

@media (min-width: 650px) {
    #head-container {
        display: none; /* Hides the head container on desktop screens in lieu of head content from the desktop site */
    }
}


/* 1. BANNER */

#banner-container {
	display: none;
}

.banner {
    width: 100%;
	max-width: 3840px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: flex-start;
    align-items: center;
    padding: 5px 0;
    background: #FFF100;
    border-bottom: 1px dotted #CC6633;
    box-sizing: border-box;
	margin: 0 auto;
}

.funspot-logo {
    width: 100px;
    margin: 10px 0 10px 10px;
}

.funspot-logo img {
    width: 100%;
    height: auto;
}

.headline {
    font: 700 14px/1.2 'Open Sans Condensed', sans-serif;
    text-align: left;
    padding-top: 2px;
}


/* 2. CONTENT */

#content {
    width: 100%;
    padding: 0 0 20px 0;
    margin: 0 auto;
}

#content .icon {
    width: 80px;
    height: 80px;
}

#wrapper {
    width: 90%;
    margin: 0 auto;
}

@media (min-width: 700px) {
    .mobile-break {
        display: none;
    }
}

@media (max-width: 500px) {
    .desktop-break {
        display: none;
    }
}


/* 3. SLIDER */

.slider-container {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-bottom: 1px solid gainsboro;
}

.slider {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    height: 100%; /* Ensure the slider takes up the full height of the container */
    scrollbar-width: none; /* Hide scrollbar for Firefox */
}

.slider::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Chrome, Safari, and Opera */
}

.slide {
    min-width: 100%;
    scroll-snap-align: start;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    height: 100%; /* Ensure each slide takes up the full height of the slider */
    position: relative;
}

.slide-title {
	font: 400 2.5em/1.3 Passion One, sans-serif;
	text-align: center;
	color: black;
}

.slide-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 650px; /* Set a max-width for the slide content */
    height: 100%;
    margin: 0 auto; /* Center the slide content within the slide */
    position: relative; /* Ensure positioning context for the image */
}

.text-content {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center align the text */
    justify-content: center;
    width: 40%;
    text-align: center; /* Center the text within the content area */
}

.slide-narrow img {
    max-width: 50%;
    max-height: 100%;
    object-fit: contain; /* Ensure the image fits within the slide */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

.slide h2 {
    font-family: 'Passion One', cursive;
    font-weight: 400; /* Change the font weight to 400 */
    font-size: 2.5em; /* Make the header font much larger */
    line-height: 1;
    margin: 10px 0;
}

@media (max-width: 500px) {
	.slide h2 {
		font-size: 2.5em
	}
}

.slide button {
    padding: 10px 20px;
    background-color: dodgerblue; /* Change background color to dodgerblue */
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 10px; /* Round the corners of the button */
	font-size: 16px;
    font-weight: bold; /* Make the button font bold */
}

.slide button a {
    color: white;
    text-decoration: none;
}

button.prev, button.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
}

button.prev {
    left: 10px;
}

button.next {
    right: 10px;
}

button.prev img, button.next img {
    width: 30px;
    height: 30px;
    opacity: 0.5;
}

@media (max-width: 767px) {
    button.prev, button.next {
        display: none;
    }
}

.slide-button {
    margin-top: 20px; /* Add some space between the text and the button */
	z-index: 22;
}

/* Background color classes */

.slide-bg-0 {
    background-image: url('https://funspotnh.com/images/bike_week_image.jpg');
	background-size: cover;
	background-position: 30% 50%;
	padding-left: 20px;
}

.strong-glow {
  text-shadow:
    0 0 5px White,   /* Inner glow (smaller blur) */
    0 0 10px White,  /* Medium glow */
    0 0 20px White,  /* Outer glow */
    0 0 40px White;  /* Even further out */
}

.slide-bg-1 {
    background-color: snow;
	padding-left: 20px;
}

.slide-bg-2 {
    background-color: #99ccff;
}

.slide-bg-3 {
    background-color: LightBlue;
}

.slide-bg-4 {
    background-color: #ffcc99;
}

.giftcards-image,
.hiring-image {
	position: relative;
	width: 60%;
	height: 100%;
	z-index: 20;
	overflow-x: hidden;
}

.giftcards-image img,
.hiring-image img {
	position: absolute;
	bottom: 0;
	width: auto;
	height: 98%;
	max-height: 400px;
}

.pac-man-image {
	position: relative;
	width: 50%;
	height: 100%
	z-index: 20;
	overflow-x: hidden;
	padding-right: 10px;
	box-sizing: border-box;
}

.no-wrap {
	white-space: nowrap;
}

.white-title {
	color: white;
}

.black-title {
	color: black;
}

.giftcards-text {
	font: 400 20px/1.3 Open Sans, sans-serif;
	text-align: center;
	color: white;
}

.hiring-text,
.party-slide-text {
	font: 400 20px/1.3 Open Sans, sans-serif;
	text-align: center;
	color: black;
	z-index: 21;
}

.party-image {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
	height: 100%;
	overflow: hidden;
}

.party-image img {
	position: absolute;
	bottom: 0;
	right: 20%;
	width: auto;
	height: auto;
	max-height: 400px;
}

.align-right {
	position: absolute;
	right: 0;
	padding-right: 40px;
}

.date-2025 {
	font: 400 100px/1 Passion One, sans-serif;
	text-align: center;
	color: Navy;
}

.bumped-left {
	padding-left: 30px;
}


/* 4. INDEX */

#social-media-icons {
	display: none;
	flex-direction: row;
	gap: 10px;
    max-width: 250px;
    margin: 30px auto 0 auto;
    text-align: center;
}

.social-media-icon {
	width: 20%;
	height: auto;
}

.social-media-icon img {
    width: 100%;
    height: auto;
}
.untapped-icon {
    width: 122% !important;
    height: auto;
}
.nav-container {
    display: flex;
    flex-direction: column;
    border-top: 1px dotted dodgerblue;
}
.nav-row-inner {
    width: 50%;
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
}
.iconlink {
    text-decoration: none;
    color: dodgerblue;
}
#nav-flex-container {
    width: 80%;
	display: none;
    margin: 20px auto 40px auto;
}

.nav-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-around;
	margin-bottom: 10px;
}

.nav-item-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: center;
    min-width: 100px;
    padding-top: 10px;
}
.nav-icon img {
    width: auto;
    height: 50px;
}

.nav-text {
    font: 400 18px/1 Oswald, sans-serif;
}
.nav-text a {
    text-decoration: none;
    color: royalblue;
}
.nav-text a:visited {
    color: seagreen;
}
.row-block {
    flex: 1;
}
.larger {
    flex: 2;
}
.iconleft {
    width: 50%;
    min-height: 30px;
    float: left;
    padding: 5px 0 0 0;
    border-top: 1px dotted #CCC;
    border-right: 1px dotted #CCC;
    font: 700 20px/120% 'Open Sans Condensed', sans-serif;
    text-align: left;
}
.iconright {
    width: 50%;
    min-height: 30px;
    float: left;
    padding: 5px 0 0 0;
    border-top: 1px dotted #CCC;
    font: 700 20px/120% 'Open Sans Condensed', sans-serif;
    text-align: left;
}
#index-divider {
	display: none;
    width: 60%;
    max-width: 400px;
    margin: 0 auto;
    opacity: .5;
}


/* 5. COUPON */

#coupon {
    width: 80%;
    font: 400 14px/120% 'Open Sans', sans-serif;
    color: #777;
    border: 3px dotted #333;
    margin: 20px auto 0 auto;
    padding: 3px;
    border-radius: 15px; /* Updated property name */
}

#coupon .subtitle {
    font: 400 16px/120% 'Oswald', sans-serif;
    color: #777;
}

#coupon .pricebreak {
    font: 400 24px/120% 'Oswald', sans-serif; /* Updated property name */
    color: #FF006E;
}

#coupon .disclaimer {
    clear: both;
    width: 90%;
    margin: 15px auto;
    font: 400 12px/130% 'Open Sans', sans-serif;
    color: #777;
}


/* 6. ATTRACTIONS */

#attractions-wrapper {
    width: 90%;
    margin: 0 auto;
}

.attractions-title {
    font: 400 36px/1 Oswald, sans-serif;
    color: tomato;
    margin: 40px auto 20px auto;
    width: 100%;
    text-align: center;
}

.attractions-subtitle {
    font: 400 16px/1 Open Sans, sans-serif;
    color: black;
    margin: 0 auto 40px auto;
    width: 100%;
    text-align: center;
}

.attractions {
    display: flex;
    flex-direction: column;
    gap: 7px;
    width: 90%;
    margin: 0 auto;
    padding-left: 20px;
    padding-bottom: 60px;
}

@media (min-width: 500px) {
    .attractions {
        width: 50%;
        padding-left: 0;
    }
}

.attractions-row {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 10px;
    font: 400 18px/1.3 Open Sans, sans-serif;
    text-align: left !important;
}

.attractions-subrow {
    width: 80%;
    padding-left: 30px;
    font: 400 16px/1.5 Open Sans, sans-serif;
    color: black;
    font-style: italic;
    text-align: left !important;
}


/* 7. SCHEDULE */

#schedule a {
    font: 400 24px/120% 'Open Sans', sans-serif;
    text-decoration: none;
    color: #0094ff;
}

#schedule .weekof {
    margin: 20px auto 0 auto;
    font: 400 16px/120% 'Open Sans', sans-serif;
    color: #06C;
}

#schedule .box {
    width: 80%;
    padding: 10px 0;
    border: 1px solid #CCC;
    border-radius: 10px;
    margin: 20px auto;
    background-color: #FFF;
}


/* 8. SCHEDULE FORM */

#scheduleForm {
    font: 400 18px/120% 'Open Sans', sans-serif;
    text-align: left;
    color: #06F;
    width: 80%;
    margin: 50px auto 0 auto;
}

#scheduleForm input,
#scheduleForm textarea {
    font: 400 18px/120% 'Open Sans', sans-serif;
    text-indent: 8px;
    color: #777;
    width: 100%;
    padding: 12px 0;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin: 5px auto 10px auto;
}

#scheduleForm .title {
    font: 400 16px/150% 'Open Sans', sans-serif;
    text-align: center;
    color: #0094ff;
    width: 100%;
    margin: 0 auto;
}

#scheduleForm .disclaimer {
    font: 400 12px/120% 'Open Sans', sans-serif;
    text-align: center;
    color: #777;
    margin: 15px auto 0 auto;
}

#scheduleForm .formButton {
    font: 400 16px/120% 'Open Sans', sans-serif;
    color: #fff;
    width: 150px;
    padding: 10px;
    border: 1px solid #005EA3;
    border-radius: 4px;
    margin: 0 auto 30px auto;
    background: rgb(59, 103, 158);
    background: -moz-linear-gradient(top, rgba(59, 103, 158, 1) 0%, rgba(43, 136, 217, 1) 50%, rgba(32, 124, 202, 1) 51%, rgba(125, 185, 232, 1) 100%);
    background: -webkit-linear-gradient(top, rgba(59, 103, 158, 1) 0%, rgba(43, 136, 217, 1) 50%, rgba(32, 124, 202, 1) 51%, rgba(125, 185, 232, 1) 100%);
    background: -o-linear-gradient(top, rgba(59, 103, 158, 1) 0%, rgba(43, 136, 217, 1) 50%, rgba(32, 124, 202, 1) 51%, rgba(125, 185, 232, 1) 100%);
    background: -ms-linear-gradient(top, rgba(59, 103, 158, 1) 0%, rgba(43, 136, 217, 1) 50%, rgba(32, 124, 202, 1) 51%, rgba(125, 185, 232, 1) 100%);
    background: linear-gradient(to bottom, rgba(59, 103, 158, 1) 0%, rgba(43, 136, 217, 1) 50%, rgba(32, 124, 202, 1) 51%, rgba(125, 185, 232, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3b679e', endColorstr='#7db9e8', GradientType=0);
}


/* 9. FOOTER */

.full-site-link:hover {
    color: #ff006e;
}

#desktop-site-link {
    width: 100%;
    text-align: center;
    margin: 20px 0 50px 0;
    font-family: 'Open Sans Condensed', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #2a87b2;
    text-decoration: none;
}


/* 10. FONTS */

.title {
    font-family: 'Oswald', sans-serif;
    font-size: 34px;
    color: #0094ff;
}

.open-sans-12 {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #999999;
}

.open-sans-14 {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #777;
}

.open-sans-16 {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    color: #333;
}


/* 11. GAMES */

#games-wrapper {
    width: 100%;
}

#games-banner {
    width: 650px;
    height: auto;
    margin: 40px auto 40px;
}

#games-banner img {
    width: 100%;
    height: auto;
}

#games-picture-1 {
    width: 90%;
    padding-top: 30px;
    margin: 0 auto;
}

#games-picture-1 img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

#games-largest-arcade {
    width: 90%;
    padding-top: 40px;
    font: 700 44px/1 Oswald, sans-serif;
    color: dodgerblue;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -1px;
    margin: 0 auto;
}

#games-text-1 {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    font: 300 20px/1.3 Open Sans, sans-serif;
    color: tomato;
    padding-top: 50px;
}

@media (min-width: 600px) {
    #games-text-1 {
        font-size: 30px;
    }
}

#games-middle-row {
    width: 90%;
    margin: 0 auto;
    padding-top: 40px;
    text-align: center;
}

#games-middle-row-photo {
    width: 100%;
    padding-bottom: 10px;
    margin: 0 auto;
}

#games-middle-row-photo img {
    width: 100%;
    height: auto;
}

#games-middle-row-text {
    width: 90%;
    font: 300 20px/1.3 Open Sans, sans-serif;
    color: dodgerblue;
    padding-top: 30px;
    margin: 0 auto;
}

@media (min-width: 600px) {
    #games-middle-row-text {
        font-size: 30px;
    }
}

#games-types {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 40px;
    font: 300 24px/1.3 Open Sans, sans-serif;
}

@media (min-width: 600px) {
    #games-types {
        flex-direction: row;
        gap: 40px;
    }
}

.gt-column {
    display: flex;
    flex-direction: column;
    width: 60%;
    align-self: center;
}

@media (min-width: 500px) {
    .gt-column {
        width: 200px;
    }
}

.gt-row {
    display: flex;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 10px;
    padding-left: 10px;
}

#games-text-2 {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    font: 400 32px/1.1 Passion One, sans-serif;
    color: tomato;
    padding-top: 40px;
}

#games-picture-2 {
    width: 90%;
    height: auto;
    margin: 30px auto;
    padding: 0;
}

#prizeland {
    width: 100%;
    background-image: url('https://www.funspotnh.com/images/Wave_Background_Horizontal.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (min-width: 600px) {
    #prizeland {
        padding: 70px 0;
    }
}

#prizeland-inner {
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    padding: 40px 0;
}

@media (min-width: 500px) {
    #prizeland-inner {
        flex-direction: row;
        gap: 20px;
    }
}

#prizeland-text {
    width: 90%;
    font: 300 24px/1.3 Open Sans, sans-serif;
    text-shadow: 0 0 5px white, 0 0 5px white, 0 0 5px white;
    text-align: center;
}

@media (min-width: 500px) {
    #prizeland-text {
        width: 40%;
        text-align: left;
    }
}

#prizeland-picture-1 {
    width: 60%;
    align-self: center;
}

#prizeland-picture-1 img {
    width: 90%;
    height: auto;
}

#bold-prizeland {
    padding-top: 8px;
    font: 700 50px/.8 Passion One, sans-serif;
}

#all-about-games {
    width: 90%;
    margin: 0 auto;
    padding: 60px 0;
    text-align: center;
}

#all-about {
    width: 90%;
    margin: 0 auto;
    font: 700 24px/.5 Passion One, sans-serif;
    text-align: center;
}

@media (min-width: 600px) {
    #all-about {
        font-size: 36px;
    }
}

#big-games {
    width: 90%;
    margin: 0 auto;
    font: 700 80px/.9 Passion One, sans-serif;
    text-align: center;
}

@media (min-width: 600px) {
    #big-games {
        font-size: 180px;
    }
}


/* 12. PARTY IFRAME */

#head-container {
    box-sizing: border-box;
}

@media (min-width: 778px) and (max-width: 782px) {
    #head-container,
    #header-strip,
    #desktop-site-link {
        display: none;
    }
}


/* 13. HOURS */

.hours-wrapper {
    width: 100%;
    height: auto;
    margin: 30px auto 0 auto;
    text-align: center;
}

.hours-title {
    font-weight: 300;
    font-size: 40px;
    line-height: 1;
    font-family: 'Open Sans', sans-serif;
    color: tomato;
    padding-top: 20px;
}

.hours-details {
    padding-top: 20px;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    font-family: 'Open Sans', sans-serif;
    color: black;
}

.season {
    font: 300 24px/1 'Open Sans', sans-serif;
    color: tomato;
    padding: 15px 0;
}

.season-dates {
    font: 700 20px/1 'Open Sans', sans-serif;
    padding-bottom: 20px;
}

@media (max-width: 800px),
(min-width: 778px) and (max-width: 782px) {
    .season-dates {
        font-size: 16px;
    }
}

.hours-listing {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(20px, 2vw, 40px);
    font-weight: 400;
    line-height: 1.5;
}

@media (min-width: 701px) {
    .hours-listing {
        font-size: 16px;
    }
}

.motorcycle-week {
    width: 90%;
    max-width: 400px;
    height: auto;
    border: 2px solid Gainsboro;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
    margin: 20px auto;
}

.mw-dates {
    width: 100%;
    text-align: left;
    margin: 0 auto;
}

.mw-date-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 0 10px;
    min-height: 50px;
    font: 400 20px/1 'Open Sans', sans-serif;
    box-sizing: border-box;
    gap: 10px;
}

@media (min-width: 701px) {
    .mw-date-row {
        font-size: 16px;
    }
}

.mw-date-row:nth-child(even) {
    background-color: WhiteSmoke;
}

.mw-date {
    width: 45%;
}

.mw-hours {
    width: 35%;
}

.close-date {
    width: 75%;
}

.close-hours { 
    width: 25%;
}

.open-late {
    border: 1px solid Red;
    border-radius: 3px;
    width: 20%;
    font: 400 18px/.8 'Passion One', sans-serif;
    color: Red;
    text-transform: uppercase;
    text-align: center;
    padding: 5px 0;
}

.no-border {
    border: 0px;
}

.off-season-hours,
.summer-hours,
.motorcycle-week-hours {
    font-weight: 400;
    font-size: 16px;
    line-height: 1;
    font-family: 'Open Sans', sans-serif;
    letter-spacing: 0;
    padding-top: 0;
}

.hours-closed {
    display: flex;
    flex-direction: column;
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(20px, 2vw, 40px);
    font-weight: 400;
    line-height: 1.5;
}

.hours-closed-light {
    font: 400 16px/1 'Open Sans', sans-serif;
    padding-bottom: 10px;
}

.full-site-link-wrapper {
    padding-top: 100px;
    margin: 10px auto 50px auto;
    text-align: center;
}

.full-site-link {
    color: dodgerblue;
    font-size: 18px;
    text-decoration: none;
    font-family: 'Open Sans', sans-serif;
}

.full-site-link:hover {
    color: tomato;
}

.holiday-flex {
    display: flex;
    flex-direction: column;
    max-width: 300px;
    text-align: center;
    margin: 0 auto;
}

.xmas-green {
    font-weight: 700;
    color: darkgreen;
}

.ny-red {
    font-weight: 700;
    color: firebrick;
}


/* 14. JOBS */

.container {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 24px;
    font-weight: 300;
    color: tomato;
    text-align: center;
}

#join-the {
    font: 400 36px/1 Passion One, sans-serif;
    color: black;
    text-align: center;
    padding: 40px 0 10px 0;
}

.jobs-banner {
    width: 100%;
}

#team {
    font: 400 100px/1 Passion One, sans-serif;
    color: black;
    text-align: center;
    padding: 0;
}

.jobs-banner img {
    width: 100%;
    height: auto;
    max-width: 400px;
}

.text-block {
    margin-top: 20px;
}

.text-block p {
	font-size: 24px;
}

.flex-container-1 {
	width: 90%;
	max-width: 600px;
    display: flex;
    flex-direction: column;
	justify-content: center;
    gap: 10px;
    margin: 20px auto 0 auto;
	text-align: center;
}

.flex-1-1 img {
    width: 60%;
	max-width: 400px;
}
@media (max-width: 767px) {
    .flex-1 img {
        width: 90%;
        margin: 0 auto;
    }
}

.flex-1-1 {
	    text-align: center;
}

.flex-1-1 p {
    font-weight: 300;
    font-size: 24px;
    line-height: 1.5;
    color: black;
}
@media (max-width: 767px) {
    .flex-1-1 {
        text-align: center;
        font-size: 24px;
    }
}

.flex-1-2 {
	width: 100%;
	text-align: center;
}

.flex-1-2 img {
	width: 70%;
	height: auto;
}

.flex-container-2 {
	width: 95%;
	display: flex;
	flex-direction: row;
	gap: 30px;
	align-items: center;
	padding-top: 40px;
}

@media (max-width: 500px) {
	.flex-container-2 {
		gap: 20px;
	}
}

.flex-2-1 {
	width: 30%;
}

.flex-2-1 img {
	width: 100%;
}

.flex-2-2 {
    padding-top: 0px;
	font: 300 20px/1 Open Sans, sans-serif;
    text-align: left;
    color: black;
}

@media (min-width: 600px) {
	.flex-2-2 {
		font-size: 24px;
	}
}

#members-enjoy {
    width: 100%;
    text-align: left;
    font: 400 30px/1 Open Sans, sans-serif;
    padding-bottom: 30px;
}

@media (max-width: 767px) {
    #members-enjoy {
        font-size: 24px;
    }
}

.flex-2-2 ul {
	list-style-type: square;
	padding-left: 40px;
}

.flex-2-2 ul li {
	padding-bottom: 10px;
}

.image-section {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
    padding-top: 50px;
}

.image-section img {
    width: 100%;
}

.footer-text {
    line-height: 1.3;
    text-align: center;
    color: black;
    padding-top: 80px;
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
}

@media (max-width: 767px) {
    .footer-text {
        font-size: 24px;
        padding-top: 50px;
    }
}

.download-button {
    display: inline-block;
    width: 280px;
    margin-top: 20px;
    padding: 20px;
    border-radius: 20px;
    background-color: skyblue;
    color: white;
    text-decoration: none;
    transition: all 0.3s;
    font-size: 28px;
}
@media (max-width: 500px) {
    .download-button {
        width: 80%;
    }
}

.download-button:hover {
    background-color: tomato;
    color: black;
}

#we-look {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
    padding: 40px 0;
}


/* 15. ONLINE APPLICATION */

.application-container {
    max-width: 98%;
    padding: 50px 10px 20px 10px;
    margin: 0 auto;
}

@media (min-width: 768px) { /* Styles for desktop devices */
    .application-container {
        max-width: 800px;
    }
}

.nh-acknowledgement {
    display: flex;
    flex-direction: row;
    gap: 10px;
	padding-bottom: 20px;
}

.florida-checkbox {
	transform: scale(1.5);  /* Increase the size of the checkbox */
	margin: 0 5px 0 0;
}

.location-disclaimer {
	font: 400 18px/1.3 Open Sans, sans-serif;
	text-align: left;
	color: black;
}

#application-form {
    text-align: left;
}

.application-radio-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px;
}

@media (min-width: 768px) { /* Styles for desktop devices */
    .application-radio-container {
        display: flex;
        flex-flow: row;
    }
}

.town-state-zip label {
    width: 7%;
    max-width: 100px;
    display: inline-block;
}

.town-state-zip input,
.town-state-zip select {
    width: 20%;
    display: inline-block;
}

@media (min-width: 768px) { /* Styles for desktop devices */
    .application-input-container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
}

.my-title {
    font: 300 24px/1.3 Open Sans, sans-serif;
    color: tomato;
    padding: 10px 0;
    text-align: center;
}

@media (min-width: 768px) { /* Styles for desktop devices */
    .my-title {
        font: 300 20px/1.3 Open Sans, sans-serif;
    }
}

@media (min-width: 768px) { /* Styles for desktop devices */
    .my-town {
        width: 40%;
        margin-right: 20px;
    }
    .my-town label,
    .my-town input {
        width: 100%;
    }

    .my-state {
        width: 25%;
        margin-right: 5px;
    }
    .my-state label,
    .my-state-input {
        width: 100%;
    }

    .my-zip {
        width: 25%;
    }
    .my-zip label,
    .my-zip input {
        width: 100%;
    }

    .my-email,
    .my-phone {
        width: 48%;
    }
}

input,
select {
    width: calc(100% - 8px);
    padding: 14px 0 14px 8px;
    margin: 5px 0 15px 0;
    border: 1px solid gray;
    border-radius: 10px;
	box-sizing: border-box;
}

@media (max-width: 767px) {
    input {
        width: calc(100% - 10px);
    }
}

.date-input-group {
    display: flex;
	flex-direction: column;
    align-items: flex-start;
    margin-bottom: 10px;
}

@media (min-width: 600px) {
	.date-input-group {
		flex-direction: row;
		align-items: center;
	}
}

.date-input-group label {
    width: 30%; /* Adjust width of the labels */
}

.date-input-group input {
    width: 70%; /* Adjust width of the input fields */
}

#employer1,
#employer2,
#employer3 {
    width: 100%;
	box-sizing: border-box;
}

#startDate1,
#startDate2,
#startDate3 {
    margin-right: 20px;
}

label {
    display: block;
    font: 400 16px/1.3 Open Sans, sans-serif;
    color: black;
	padding-top: 20px;
    padding-bottom: 0;
    padding-left: 5px;
}

.my-list-item {
	padding-top: 10px;
}

.ref_label {
    padding: 20px 0 0 0;
}

/*.question {
    padding-bottom: 30px;
}*/

input[type="radio"],
input[type="checkbox"] {
    display: inline-block;
    width: auto;
    margin-right: 10px;
}

textarea {
    width: calc(100% - 20px); /* Added a semicolon here */
    padding: 10px;
}

input[type="submit"] {
    display: block;
    background-color: #4caf50;
    color: white;
    border: none;
    cursor: pointer;
}

#ageDisclaimer {
    font: 400 12px/1.3 Open Sans, sans-serif;
    font-style: italic;
    margin-bottom: 10px;
    text-align: center;
}

.padded-label {
    margin-top: 20px;
}

.padded-sub-label {
    margin-right: 5px;
	overflow-wrap: normal;
	white-space: nowrap;
}

#relevantSkills,
#convictedCrimeExplanation {
    width: 100%;
    border-radius: 10px;
    height: 150px;
    resize: vertical;
	box-sizing: border-box;
	margin-bottom: 10px;
}

.label-padded-bottom {
	padding-bottom: 5px;
}

.section-container {
    padding: 30px 20px 15px 20px;
    border: 3px solid Gainsboro;
    border-radius: 20px;
    margin: 10px auto 30px;
    font: 400 16px/1.3 Open Sans, sans-serif;
}

.my-divider {
    width: 100%;
    border-top: 1px dashed gray;
    margin: 20px auto;
}

#my-submit-button {
    font: 400 18px/1 Open Sans, sans-serif;
    max-width: 150px;
    padding: 20px;
    margin: 20px auto;
}

#application_title {
    font: 300 36px/1 Open Sans, sans-serif;
    color: dodgerblue;
    text-align: center;
    padding-bottom: 30px;
    text-transform: uppercase;
}

#ref1Name,
#ref1Street,
#ref1Town,
#ref1State,
#ref1Zip,
#ref1Email,
#ref1Phone,
#ref2Name,
#ref2Street,
#ref2Town,
#ref2State,
#ref2Zip,
#ref2Email,
#ref2Phone,
#ref3Name,
#ref3Street,
#ref3Town,
#ref3State,
#ref3Zip,
#ref3Email,
#ref3Phone {
	margin-bottom: 0;
}

#zip,
#ref1Zip,
#ref2Zip,
#ref3Zip {
	box-sizing: border-box;
}

#ref3Phone {
	margin-bottom: 15px;
}

.invisible-spacer {
	height: 40px;
}

.work-availability {
	padding-top: 30px;
}

#signature_disclaimer {
    font: 400 14px/1.3 Open Sans, sans-serif;
    color: black;
    padding: 30px 0;
}

.signature-label {
    padding-top: 30px;
}

#florida-disclaimer {
    font: 400 24px/1.3 Open Sans, sans-serif;
    color: red;
    text-align: center;
    padding-bottom: 40px;
}

.team-image {
    max-width: 500px;
    margin: 50px auto;
}

.team-image img {
    width: 100%;
    height: auto;
}

.success-title {
    font: 300 20px/1.3 Open Sans, sans-serif;
    text-align: center;
    color: orangered;
    margin-bottom: 20px;
}

.success-text {
    font: 400 16px/1.3 Open Sans, sans-serif;
    text-align: center;
    color: black;
}


/* 16. BINGO */

#bingo {
    width: 90%;
    margin: 0 auto;
}

#bingo_girl {
    text-align: center;
    margin: 0 auto;
}

#bingo_girl img {
    width: 100%;
    max-width: 5
	450px;
    height: auto;
	border-radius: 500px;
}

.bingo-title {
    font: 900 60px/2 'Titillium Web', sans-serif;
    color: #000;
    text-align: center;
}

.bingo-subtitle {
    font: 400 24px/1.2 'Oswald', sans-serif;
    color: #FF6A00;
    text-align: center;
    padding: 20px 0;
}

@media (min-width: 500px) {
    .bingo-subtitle {
        font-size: 28px;
    }
}

.bingo-text {
    font: 400 16px/1.5 'Open Sans', sans-serif;
    color: #777;
    text-align: center;
}

@media (min-width: 500px) {
    .bingo-text {
        font-size: 18px;
    }
}

#computer_banner {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    width: 85%;
    margin: 0 auto;
}

@media (min-width: 500px) {
    #computer_banner {
        flex-direction: row;
        width: 90%;
        max-width: 1200px; /* Added a max-width for larger screens */
        margin: 0 auto;
    }
}

#computer_text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 90%;
    font: 400 18px/1.5 'Open Sans', sans-serif;
    color: gray;
    text-align: center;
    margin: 0 auto;
}

@media (min-width: 500px) {
    #computer_text {
        width: 50%;
    }
}

#bingo_computer {
    width: 90%;
}

@media (min-width: 500px) {
    #bingo_computer {
        width: 50%;
    }
}

#bingo_computer img {
    width: 100%;
    height: auto;
}

#gift_card_disclaimer {
    width: 100%;
    margin: 0 auto;
    padding: 60px 0 0;
    font: 400 16px/1.5 'Open Sans', sans-serif;
    text-align: center;
    color: firebrick;
}

#line_up_headline {
    width: 100%;
    margin: 0 auto;
    padding-top: 30px;
    font: 400 28px/1.3 'Oswald', sans-serif;
    color: steelblue;
    text-align: center;
}

.cancellations {
    width: 70%;
    margin: 10px auto 0;
    font: 400 14px/1.3 'Open Sans', sans-serif;
    text-align: center;
}

.cancellations a {
    text-decoration: none;
}

.bingo_box {
    width: 100%;
    margin: 20px auto;
    padding-bottom: 30px;
    font: 400 14px/1.3 'Open Sans', sans-serif;
    color: #000;
}

@media (min-width: 500px) {
    .bingo_box {
        font-size: 18px;
    }
}

.bingo_day {
    margin: 30px 0 5px;
    font: 400 22px/1 'Oswald', sans-serif;
    color: #369;
    text-align: center;
}

#bingo-box-row {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    align-items: center;
    width: 100%;
    border-top: 1px dotted #069;
    border-bottom: 1px dotted #069;
    background-color: #EFF4FC;
    padding: 10px 5px;
	box-sizing: border-box;
}

.b-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    box-sizing: border-box;
    margin: 5px 0;
    height: 100px;
    text-align: center;
    color: black;
}

.b-box a {
    text-decoration: none;
}

.b-box a:visited {
    color: burlywood;
}

.larger {
    flex-basis: 100%;
}

.program {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: cornflowerblue;
    border-radius: 10px;
    padding: 3px;
    font: 400 18px/1.3 Oswald, sans-serif;
    text-align: center;
}

@media (min-width: 500px) {
    .program {
        font-size: 22px;
    }
}

.program:hover {
    background-color: #FF6A00;
    transition: background-color .3s linear;
}

#bingo_box_entry .program a {
    color: #EFF4FC;
}

#rules {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 85%;
    min-height: 50px;
    padding: 5px 0;
    margin: 0 auto;
    text-align: justify;
    font: 400 16px/1.3 'Open Sans', sans-serif;
}

@media (min-width: 500px) {
    #rules {
        text-align: center;
    }
}

#bingo-holiday-box {
    width: 90%;
    margin: 20px auto;
    color: black;
    font: 400 16px/1.3 'Open Sans', sans-serif;
    text-align: center;
}

#bingo-holiday-box-header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    margin: 10px auto;
    font: 400 40px/1 'Passion One', sans-serif;
    color: darkgreen;
}

#bingo-holiday-box-header img {
    width: 80%;
}

.bingo-holiday-box-header-flex-item {
    width: 8%;
    text-align: center;
}

#bingo-holiday-box-subhead {
    font: 700 20px/1 'Open Sans', sans-serif;
    padding-bottom: 10px;
}

#bingo_calendar {
    width: 100%;
    height: 280px;
    margin: 20px auto 40px;
    border: 1px solid lightgray;
    background-image: url('/images/Bingo_Calendar.png');
    background-size: cover;
}

.features-grid {
    display: flex;
    flex-direction: column;
}

.features-row-1 {
    overflow: auto;
    width: 100%;
    border-bottom: 1px dotted steelblue;
    font: 400 14px/1 'Open Sans', sans-serif;
}

.features-row-2 {
    overflow: auto;
    width: 100%;
    font: 400 14px/1 'Open Sans', sans-serif;
}

.features-row-left {
    float: left;
    width: 33%;
    text-align: center;
    padding: 20px 0 0 0;
}

.features-row-middle {
    float: left;
    width: 33%;
    min-height: 180px;
    border-left: 1px dotted steelblue;
    border-right: 1px dotted steelblue;
    text-align: center;
    padding: 20px 0 0 0;
}

.features-row-right {
    float: left;
    width: 33%;
    text-align: center;
    padding: 20px 0 0 0;
}

.features-row-left img,
.features-row-middle img,
.features-row-right img {
    max-height: 90px;
    width: auto;
    margin-bottom: 5px;
}

.items-for-sale {
    font: 400 16px/1 'Open Sans', sans-serif;
    text-align: center;
    color: firebrick;
    padding: 60px 0;
}


/* 17. BOWLING */

.bowling-logo {
	text-align: center;
	padding-top: 40px;
}

.bowling-logo img {
	width: 80%;
	max-width: 600px;
	height: auto;
	margin: 0 auto 20px 20px;
}

.featuring-animated,
.pizza-description {
	font: 300 24px/1.5 Open Sans, sans-serif;
	text-align: center;
	color: black;
}

.featuring-animated {
		padding-bottom: 40px;
}

#bowling-pizza-picture {
    width: 80%;
    max-width: 400px;
    margin: 20px auto 5px auto;
}

.bowling-title {
    font: 300 36px/1 'Open Sans', sans-serif;
    color: black;
    text-align: center;
    padding: 20px 0;
}

.bowling-subtitle {
    font: 300 24px/1.3 'Open Sans', sans-serif;
    color: black;
    text-align: center;
    padding: 10px 0;
}

.bowling-text {
    font: 400 20px/1.3 'Open Sans', sans-serif;
    color: dimgray;
    text-align: center;
    padding: 20px 0;
}

.desktop-break {
    @media (max-width: 767px) {
        .desktop_break {
            display: none;
        }
    }
}

#bowling-mobile-spacer-1 {
    height: 50px;
}

@media (min-width: 699px) {
    #bowling-mobile-spacer-1 {
        display: none;
    }
}

.funspot-heading {
    font: 300 36px/1.1 'Open Sans', sans-serif;
    text-align: center;
    color: tomato;
    margin: 0 auto 15px auto;
}

.funspot-description {
    font: 400 16px/1.5 'Open Sans', sans-serif;
    color: black;
    margin: 0 0 20px 0;
}

.image-container{
  width: 95%;
  margin: 0 auto;
  border-radius: 16px;   /* adjust to taste */
  overflow: hidden;      /* clips the image to the rounded corners */
}

.image-container img{
  display: block;        /* removes small gap below images */
  width: 100%;
  height: auto; /* optional: ensure no distortion if you set a fixed height: object-fit: cover; */
}

.bowling-specials-header {
	font: 300 48px/1 'Open Sans', sans-serif;
	color: Tomato;
	text-align: center;
	margin: 60px auto 40px auto;
}

.open-bowling {
    width: 100%;
    margin: 40px 0 50px 0;
    text-align: center;
    font: 400 16px/1.3 'Open Sans', sans-serif;
}

.open-bowling-heading {
    font: 300 28px/1.2 'Open Sans', sans-serif;
    margin-bottom: 10px;
    color: tomato;
}

.open-bowling-info {
    font: 400 18px/1.5 'Open Sans', sans-serif;
    margin: 0;
    color: black;
}

.bowling-special {
    width: 70%;
    text-align: center;
    margin: 30px auto;
    padding: 0 0 30px 0;
    border-bottom: 1px solid tomato;
}

.special-heading {
    font: 300 28px/1 'Open Sans', sans-serif;
    text-transform: uppercase;
    color: dodgerblue;
}

.special-time {
    font: 300 22px/1.2 'Open Sans', sans-serif;
    text-transform: uppercase;
    color: dodgerblue;
    margin: 15px auto 20px auto;
}

.special-price {
    font: 400 20px/1.3 'Open Sans', sans-serif;
    text-transform: capitalize;
    color: black;
}

.wacky-wednesdays {
    width: 80%;
    text-align: center;
    margin: 30px auto;
    padding: 0;
}

.wacky-wednesdays-heading {
    font: 300 28px/1 'Open Sans', sans-serif;
    text-transform: uppercase;
    color: dodgerblue;
    margin: 0 0 10px 0;
}

.wacky-wednesdays-time {
    font: 300 22px/1.2 'Open Sans', sans-serif;
    text-transform: uppercase;
    color: dodgerblue;
    margin: 15px auto 20px auto;
}

#wacky-wednesdays-details {}

#ww-price {
    font: 400 20px/1.3 'Open Sans', sans-serif;
    color: black;
    text-transform: capitalize;
    margin: 0 auto 20px auto;
}

#pizza-details {
    font: 400 18px/1.2 'Open Sans', sans-serif;
    color: black;
    margin: 0 auto 30px auto;
}

.toppings-heading {
    font: 400 18px/1.2 'Open Sans', sans-serif;
    color: black;
    margin: 0 auto 8px auto;
}

#toppings-details {
    font: 400 16px/1.2 'Open Sans', sans-serif;
    color: black;
    margin: 0 auto 30px auto;
}

#premium-toppings-details {
    font: 400 16px/1.2 'Open Sans', sans-serif;
    color: black;
    margin: 0 auto 40px auto;
}

#pool {
    font: 400 16px/1.2 'Open Sans', sans-serif;
    color: black;
    margin: 0 auto 30px auto;
}

#special-note {
    font: 300 20px/1.3 'Open Sans', sans-serif;
    width: 90%;
    text-align: center;
    margin: 0 auto 60px auto;
    color: tomato;
}

.pizza-image {
    width: 80%;
    margin: 20px auto 5px auto;
}

.pizza-image-container {
    width: 90%;
    margin: 0 auto;
}

.bowling-rates {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
}
	

.bowling-rates-title {
    font: 300 28px/1 'Open Sans', sans-serif;
    text-align: center;
    color: dodgerblue;
    text-transform: uppercase;
    margin: 20px auto;
}

.rate-info {
    font: 300 20px/1.3 'Open Sans', sans-serif;
    text-align: center;
    color: black;
}

.discount-info {
    width: 90%;
    font: 400 20px/1.5 'Open Sans', sans-serif;
    text-align: center;
    color: tomato;
    margin: 0 auto 60px auto;
}

/* 18. PARTIES */

#header-strip {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 10px;
}

#header-strip img {
    width: 100%;
}

#party-intro-title {
    padding: 30px 0 15px 0;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    font: 400 30px/1 Passion One, sans-serif;
    color: dodgerblue;
}

.party-intro-subtitle {
    font: 400 20px/1.3 Open Sans, sans-serif;
    color: black;
    text-align: center;
}

@media (min-width: 600px) {
    .mobile-break {
        display: none;
    }
}

#party-intro {
    width: 90%;
    margin: 0 auto;
    padding: 30px 0 15px;
    font: 400 20px/1.3 Open Sans, sans-serif;
    color: black;
    text-align: center;
}

#party-types-title {
    text-align: center;
    font: 300 32px/1.3 Passion One, sans-serif;
    color: dodgerblue;
}

#party-types {
    display: flex;
    justify-content: space-between;
    width: 90%;
    text-align: left;
    margin: 0 auto;
    font: 400 22px/1.3 Open Sans, sans-serif;
    color: dodgerblue;
}

#capacity-exceptions {
    width: 80%;
    margin: 10px auto;
    text-align: center;
    font: 400 14px/1.3 Open Sans, sans-serif;
    color: dimgray;
}

#reservations {
    width: 80%;
    border: 3px solid red;
    border-radius: 20px;
    padding: 20px 10px;
    text-align: center;
    color: red;
    margin: 40px auto;
    font: 700 18px/1.3 Open Sans, sans-serif;
}

#reservations div {
    padding: 10px 0;
}

#reservations a {
    text-decoration: none;
}

#birthday-reservation-button {
    max-width: 300px;
    background-color: white;
    padding: 15px 10px;
    border-radius: 30px;
    text-align: center;
    margin: 20px auto 0;
}

#birthday-reservation-button:hover {
    background-color: moccasin;
    transition: background-color 1s;
}

#birthday-reservation-button a {
    font: 700 18px/1.3 'Open Sans', sans-serif;
}

#guidelines-title {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 30px;
    text-align: center;
    font: 400 22px/1 'Open Sans', sans-serif;
    color: orangered;
}

.party-divider {
    width: 60%;
    border-top: 1px solid lightgray;
    margin: 40px auto;
}

#guidelines {
    display: grid;
    grid-gap: 20px;
    width: 90%;
    margin: 0 auto;
    text-align: left;
}

.guidelines-heading {
    width: 100%;
    padding-top: 5px;
    font: 700 18px/1.5 'Open Sans', sans-serif;
    color: dodgerblue;
}

.guidelines-list {
    list-style-type: square;
    font: 400 14px/1.3 'Open Sans', sans-serif;
    color: dimgray;
}

.guidelines-list li {
    padding-bottom: 8px;
}

.guidelines-text {
    display: grid;
    grid-gap: 15px;
    width: 100%;
    text-align: justify;
    font: 400 16px/1.3 'Open Sans', sans-serif;
    color: dimgray;
}

#timeframe1,
#foodanddrink1 {
    padding-bottom: 20px;
}

#parties-balloon-1 {
    width: 168px;
    padding-top: 100px;
    padding-right: 20px;
}

#parties-balloon-1 img,
#parties-balloon-2 img {
    width: 100%;
}

#parties-balloon-2 {
    width: 217px;
    padding-top: 50px;
    padding-left: 20px;
}

.highlight {
    color: tomato;
    font-weight: 700;
    letter-spacing: -0.5px;
}

#date-check {
    width: 90%;
    text-align: center;
    font: 300 18px/1.3 'Open Sans', sans-serif;
    color: black;
    margin: 0 auto;
    padding: 20px;
}

#check-your-date {
    width: 90%;
    text-align: center;
    font: 400 16px/1.3 'Open Sans', sans-serif;
    color: black;
    margin: 0 auto;
    padding: 50px 20px 20px;
}

#check-your-date-title {
    font: 300 24px/1.3 'Open Sans', sans-serif;
    text-align: center;
    color: tomato;
    margin: 40px auto;
}

#message {
    width: 90%;
    text-align: center;
    font: 300 24px/1.3 'Open Sans', sans-serif;
    color: tomato;
    margin: 0 auto;
    padding: 20px;
}

#inputDate {
    padding: 15px;
    border: 2px solid dodgerblue;
    border-radius: 30px;
    font: 400 16px/1 'Open Sans', sans-serif;
    color: dimgray;
    margin-right: 5px;
    margin-bottom: 15px;
}

#my-date-button {
    padding: 15px;
    border: 2px solid black;
    border-radius: 25px;
    background-color: cadetblue;
    font: 700 16px/1 'Open Sans', sans-serif;
    color: white;
    margin-left: 5px;
    cursor: pointer;
}

#form-start {
    margin: 60px auto 30px;
    width: 80%;
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 300;
    color: #0094ff;
    text-align: center;
    line-height: 26px;
}

#party-form {
    box-sizing: border-box;
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
    padding: 30px 0 0 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #0066FF;
    text-align: left;
}

.form-entry {
    margin-top: 7px;
}

.form-entry input,
.form-entry select,
.form-entry textarea {
    margin: 5px 0 10px 0;
    width: 100%;
    padding: 10px 8px; /* Corrected padding */
    border: 1px solid #ccc;
    color: #333;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
}

.party-submit-button {
    margin: 15px auto 60px auto;
    width: 150px !important;
    padding: 10px;
    border: 2px solid #005EA3 !important;
    border-radius: 4px !important;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #fff !important;
    background-color: dodgerblue !important;
    cursor: pointer !important;
}

.reservation-form-title {
    font: 700 20px/1.3 'Open Sans', sans-serif;
    color: black;
    text-align: center;
    margin: 30px auto 0 auto;
}

.all-fields-required {
    font: 400 14px/1.3 'Open Sans', sans-serif;
    color: rgba(0, 0, 0, 0.7);
    text-align: center;
    margin: 5px auto 20px auto;
}

#reservationForm label {
    font: 400 16px/1 'Open Sans', sans-serif;
    text-align: left;
    color: black;
}

#reservationForm input,
#reservationForm select {
    font: 400 16px/1 'Open Sans', sans-serif;
    text-align: left;
    color: dimgray;
}

.button-container {
    width: 100%;
    text-align: center;
    padding: 20px 0 60px 0;
}

.reservation-form-button {
    width: 60%;
    padding: 19px 10px 20px 10px;
    border: 0px solid black;
    border-radius: 50px;
    background-color: dodgerblue;
    font: 700 18px/1 'Open Sans', sans-serif; /* Fixed font shorthand */
    text-transform: uppercase;
    text-align: center;
    color: white;
}

/* Reset styles for input[type="submit"] */
input[type="submit"] {
    /* Resetting or defining styles as needed */
    border: none;
    /* Add more specific styling here */
}

@media (min-width: 601px) {
    .mobile-break {
        display: none;
    }
}

.disclaimer-container {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.disclaimer-container input[type="checkbox"] {
    margin: 0 10px 0 0;
}

.bottom-space {
	padding-bottom: 20px;
}


/* 19. GIFT CARDS */
.top-image {
	width: 100%;
	max-width: 600px;
	height: auto;
	margin: 0 auto;
}

.buy-gift-cards {
	font: 400 24px/1 Open Sans, sans-serif;
	text-align: center;
	color: DarkGreen;
	margin: 0 auto;
	padding: 40px 0 10px 0;
}

.gc-container {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: auto;
    position: relative;
}

.gc-title {
    margin-top: 20px;
    font: 400 52px/.9 Passion One, sans-serif;
	text-align: center;
    letter-spacing: 1px;
    color: SteelBlue;
    align-self: center;
}

@media (max-width: 700px) {
    .gc-title {
        font-size: 52px
    }
}

.perfect-gift {
    font: 300 32px/1 Open Sans, sans-serif;
    color: DarkRed;
    align-self: center;
    margin: 0 auto 10px auto;
	text-align: center;
}

@media (max-width: 700px) {
    .perfect-gift {
        font-size: 30px;
    }
}

.gc-text {
    font: 300 22px/1 Open Sans, sans-serif;
    text-align: center;
    color: slat gray;
    align-self: center;
}

.garland {
	width: 95%;
	max-width: 600px;
	margin: 40px auto 0 auto;
}

.gift-card-box {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    width: 90%;
    max-width: 600px;
    margin: 10px auto 0 auto;
	background-color: rgba(173, 216, 230, .5);	
    border-radius: 20px;
    font: 400 18px/1.5 Open Sans, sans-serif;
    color: Black;
    padding: 40px 20px;
    align-self: center;
}

.number-of-cards {
    width: 150px;
    font: 400 14px/1.5 Open Sans, sans-serif;
    align-self: flex-end;
    padding: 30px 0 15px;
}

@media (max-width: 500px) {
    .number-of-cards {
        padding-right: 0;
    }
}

@media (min-width: 501px) and (max-width: 699px) {
    .number-of-cards {
        padding-right: 30px;
    }
}

@media (min-width: 700px) {
    .number-of-cards {
        padding-right: 81px; 
    }
}

.gc-bingo-disclaimer {
    font: 400 16px/1.5 Open Sans, sans-serif;
    text-align: center;
}

.my-form {
    align-self: center;
}

.gc-denomination-row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 10px;
    padding: 10px 0;
}

@media (max-width: 599px) {
    .dots {
        display: none;
    }
}

/* Adjustments to form inputs */
#qty1, #qty2, #qty3 {
    width: 100px;
    padding: 10px 0;
    color: dimgray;
    border: 0;
    border-radius: 10px;
    font: 400 22px/1 Open Sans, sans-serif;
    text-align: center;
}

#buy-button-container {
	display: flex;
	justify-content: center;
    padding-top: 20px;
    text-align: right;
}

#gc-submit {
    width: 150px;
    padding: 15px 20px;
    border-radius: 10px;
    font: 700 24px/1 'Open Sans', sans-serif;
    color: white;
    background-color: MidnightBlue;
    cursor: pointer;
	transition: all .3s ease;
}

#gc-submit:hover {
    background-color: SteelBlue;
}

.gc-ship-free {
    padding: 30px 0;
    font: 300 24px/1.5 'Open Sans', sans-serif;
    color: Black;
    text-align: center;
    margin: 0 auto;
}

#paypal-container-LRJNB73KFT3MY {
	width: 100%;
	margin: 0 auto;
}

.product-container {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 20px;
	width: 95%;
	max-width: 600px;
	margin: 0 auto;
	padding-bottom: 20px;
	border-bottom: 1px dotted LightGray;
	margin-bottom: 25px;
}

.product-container-col {
	width: 50%;
}

.product-container input {
	border: none;
}

.top-border {
	border-top: 1px dotted LightGray;
	padding-top: 25px;
}

.product-image img {
	width: 100%;
	height: auto;
}

.center {
	text-align: center;
}

.paypal-add-btn {
	background-color: Gold;
	padding: 20px 30px;
	font: 700 16px/1 'Open Sans', sans-serif;
	text-align: center;
	color: Black;
	border: none;
	border-radius: 50px;
	cursor: pointer;
}

.powered-line {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 7px;
	font: 400 14px/1 'Open Sans', sans-serif;
	color: Black;
	margin-bottom: 20px;
}

.powered-line p {
	padding-top: 5px;
}

.paypal-logo {
	width: 30%;
	max-width: 90px;
}

.paypal-logo img {
	width: 100%;
	height: auto;
	margin-bottom: 0;
}

.quantity-info {
	font: 400 14px/1 'Open Sans', sans-serif;
	margin: 10px auto 0 auto;
	}

section {
	margin: 0 auto;
}

/* Black Friday Popup */

body.giftcards-page {
    min-height: 100dvh;
}

/* Overlay: never allow horizontal scroll */
.giftcards-page .bf-overlay {
	position: fixed;
	inset: 0;
	height: 100dvh;
	display: none;
	place-items: center;
	background: rgba(0,0,0,.55);
	z-index: 9999;
	overflow-x: hidden;
}

.giftcards-page .bf-overlay.active {
	display: grid;
}

 /* Modal Container */
.giftcards-page .bf-modal {
	position: relative;
	background: #fff;
	border-radius: 26px;
	padding: 14px;
	width: 95%;
	max-width: 720px;
	max-height: min(86dvh, 720px);
	overflow-x: clip;
	overflow-y: visible;
	box-shadow: 0 10px 35px rgba(0,0,0,.25);
	font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	color: #111;
	outline: none;
	margin: 0;
	box-sizing: border-box;
}

 /* Inner Modal Panel */
.giftcards-page .bf-content {
	position: relative;
	background: #fff;
	border-radius: 18px;
	box-sizing: border-box;
	padding: 15px 30px;
	max-height: inherit;
	overflow-y: auto;
	overflow-x: clip;
	z-index: 1;
}

.giftcards-page .bf-content > * {
	max-width: 100%; 
}
  
.giftcards-page .bf-content:focus,
.giftcards-page .bf-content:focus-visible {
	outline: none;
}

/* Confetti Border: Padded SVG so dots don’t get clipped */
.giftcards-page .confetti-border {
    border: 12px solid transparent;
    border-radius: 22px;
    border-image-source: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMDAnIGhlaWdodD0nMTAwJyB2aWV3Qm94PScwIDAgMTAwIDEwMCc+CiA8cmVjdCBmaWxsPSdub25lJyB3aWR0aD0nMTAwJyBoZWlnaHQ9JzEwMCcvPgogPCEtLSBUT1AgKHk9MTQpIGFsdGVybmF0aW5nIGxhcmdlL3NtYWxsIC0tPgogPGNpcmNsZSBjeD0nMTInICBjeT0nMTQnIHI9JzUnIGZpbGw9JyNmZjRkNGQnLz4KIDxjaXJjbGUgY3g9JzMyJyAgY3k9JzE0JyByPSczJyBmaWxsPScjZmZkMjFlJy8+CiA8Y2lyY2xlIGN4PSc1MicgIGN5PScxNCcgcj0nNScgZmlsbD0nIzRjYzlmMCcvPgogPGNpcmNsZSBjeD0nNzInICBjeT0nMTQnIHI9JzMnIGZpbGw9JyM5YjVkZTUnLz4KIDxjaXJjbGUgY3g9Jzg4JyAgY3k9JzE0JyByPSc1JyBmaWxsPScjMDBjODUzJy8+CiA8IS0tIEJPVFRPTSAoeT04NikgYWx0ZXJuYXRpbmcgc21hbGwvbGFyZ2UgLS0+CiA8Y2lyY2xlIGN4PScxMicgIGN5PSc4Nicgcj0nMycgZmlsbD0nI2ZmNmQwMCcvPgogPGNpcmNsZSBjeD0nMzInICBjeT0nODYnIHI9JzUnIGZpbGw9JyM5YjVkZTUnLz4KIDxjaXJjbGUgY3g9JzUyJyAgY3k9Jzg2JyByPSczJyBmaWxsPScjNGNjOWYwJy8+CiA8Y2lyY2xlIGN4PSc3MicgIGN5PSc4Nicgcj0nNScgZmlsbD0nI2ZmZDIxZScvPgogPGNpcmNsZSBjeD0nODgnICBjeT0nODYnIHI9JzMnIGZpbGw9JyNmZjRkNGQnLz4KIDwhLS0gTEVGVCAoeD0xNCkgYWx0IGxhcmdlL3NtYWxsIC0tPgogPGNpcmNsZSBjeD0nMTQnICBjeT0nMjQnIHI9JzUnIGZpbGw9JyNmZmQyMWUnLz4KIDxjaXJjbGUgY3g9JzE0JyAgY3k9JzQ0JyByPSczJyBmaWxsPScjZmY0ZDRkJy8+CiA8Y2lyY2xlIGN4PScxNCcgIGN5PSc2NCcgcj0nNScgZmlsbD0nIzAwYzg1MycvPgogPGNpcmNsZSBjeD0nMTQnICBjeT0nODAnIHI9JzMnIGZpbGw9JyM5YjVkZTUnLz4KIDwhLS0gUklHSFQgKHg9ODYpIGFsdCBzbWFsbC9sYXJnZSAtLT4KIDxjaXJjbGUgY3g9Jzg2JyAgY3k9JzIwJyByPSczJyBmaWxsPScjZmY2ZDAwJy8+CiA8Y2lyY2xlIGN4PSc4NicgIGN5PSc0MCcgcj0nNScgZmlsbD0nIzAwYzg1MycvPgogPGNpcmNsZSBjeD0nODYnICBjeT0nNjAnIHI9JzMnIGZpbGw9JyM5YjVkZTUnLz4KIDxjaXJjbGUgY3g9Jzg2JyAgY3k9JzgwJyByPSc1JyBmaWxsPScjZmZkMjFlJy8+CiA8L3N2Zz4=");
    border-image-slice: 22;
    border-image-repeat: round;
}




/* New centered header */
.giftcards-page .bf-kicker {
	text-align: center;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: DimGray;
	font-size: 12px;
	margin: 4px 0 8px;
}

.giftcards-page .bf-title {
	font-family: Oswald, title;
	color: Tomato;
    text-align: center;
    font-weight: 800;
    font-size: clamp(32px, 6vw, 52px);
    margin: 0 0 8px;
    line-height: 1;
	text-transform: uppercase;
}
  
.giftcards-page .bf-tagline {
    text-align: center;
    font-size: clamp(20px, 3vw, 28px);
    color: #333;
    margin: 0 0 16px;
}

.giftcards-page .bf-deal {
	width: 90%;
    background: WhiteSmoke;
	border: 1px solid Gray;
	border-radius: 14px;
    padding: 16px;
	margin: 0 auto 18px auto;
	font-size: 16px;
	text-align: center;
}

.giftcards-page .bf-deal strong {
	font-weight: 800;
}
	
.giftcards-page .bf-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: baseline;
	gap: 10px;
}

.giftcards-page .bf-price {
	font-size: 18px;
	font-weight: 700;
}

.giftcards-page .bf-fine {
	font-size: 18px;
	color: FireBrick;
	margin-top: 6px;
	text-align: center;
	align-self: center;
}

/* Centered buttons */
.giftcards-page .bf-buttons {
    display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 8px;
}

.giftcards-page .paypal-add-btn.bf-large {
    display: inline-block;
    padding: 28px 44px;
    font-weight: 700;
    border-radius: 20px;
    border: 0;
    background: #ffd21e;
    font-size: 20px;
    cursor: pointer;
	transition: all .8s ease;
}

.giftcards-page .paypal-add-btn.bf-large:hover {
	background-color: Orange;
}

/* Secondary (No thanks) */
.giftcards-page .bf-close {
    appearance: none;
    border: 1px solid Gainsboro;
    background: #fff;
    color: #111;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 15px;
    cursor: pointer;
}

@media (max-width: 420px) {
    .giftcards-page .bf-content {
		padding: 20px;
	}
	
    .giftcards-page .bf-buttons {
		gap: 10px;
	}
	
    .giftcards-page .paypal-add-btn.bf-large,
	.giftcards-page .bf-close {
		width: 100%;
		text-align: center;
	}
}
 
/* Title w/emojis */
.giftcards-page .bf-title {
	line-height: 1.1;
}

.giftcards-page .bf-line {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .1em;
}

.giftcards-page .bf-line--top .bf-black {
	color: #000;
}
	
.giftcards-page .bf-line--bottom {
	color: Tomato;
	text-transform: uppercase;
	font-weight: 800;
}

.giftcards-page .bf-emoji {
	font-size: 0.9em;
	line-height: 1;
	vertical-align: middle;
}

@media (max-width: 420px) {
	.giftcards-page .bf-emoji {
		font-size: 1em;
		transform: translateY(0);
		}
	}
	
html {  /* Reserve space for the scrollbar so opening/closing modals doesn't shift layout */
	scrollbar-gutter: stable;
}

.giftcards-page .bf-overlay {  /* Prevent scroll chaining while the overlay is up (nice on mobile) */
	overscroll-behavior: contain;
}
		
.giftcards-page .black-friday-list-item-title {
	font: 700 32px/1.2 Oswald, title;
	text-align: center;
	color: SteelBlue;
	margin: 10px auto;
}
		
.giftcards-page .black-friday-list-item-subtitle {
	font: 400 20px/1.3 'Open Sans', sans-serif;
	text-align: center;
	color: FireBrick;
	margin: 0 auto 20px auto;
}


/* 20. PINBALL */

.pinball {
    width: 600px;
    margin: 0 auto;
    padding: 0;
}

.pinball-text {
    font: 400 22px/1.5 Open Sans, sans-serif;
}

#pinball-banner {
    min-height: 55px;
    margin: 50px auto 35px;
    background-image: url('https://mobile.funspotnh.com/pinball/images/Pinball_Header.png');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
}

.pinball-text {
    width: 80%;
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 10px;
    font: 400 20px/1.5 Open Sans, sans-serif;
    color: black;
    text-align: center;
}

#featured-pinballs-container {
    margin-top: -10px;
    padding-bottom: 30px;
}

.featured-pinballs li {
    display: block;
    float: none;
    text-align: center;
    padding: 0 0 15px 0;
}

.jaws {
	font: 900 36px/1 Archivo Black, sans-serif;
	color: red;
}

.mandalorian {
	font:400 30px/1 Orbitron, sans-serif;
	color: tomato;
}

.tmnt {
	font:400 28px/1 Oswald, sans-serif;
	color: green;
}

.jb007 {
	font:400 30px/1 Bona Nova, serif;
	color: dimgray;
}

.featured-pinball-logos {
	width: 70%;
	max-width: 450px;
	margin: 20px auto 40px auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
}

.featured-pinball-row {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.alien img {
	width: 70%;
	height: auto;
	margin: 0 auto 0 30px;
}

.toy-story img {
	width: 60%;
	height: auto;
	margin: 0 auto 0 30px;
}

.content-container {
    display: flex;
    flex-flow: column;
    grid-row-gap: 60px;
}

#nepl-mobile {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: flex-start;
    width: 95%;
    height: auto;
    font: 400 20px/1.3 Open Sans, sans-serif;
    color: black;
    text-align: center;
    background: linear-gradient(rgba(255,255,255,.97), rgba(255,255,255,.75)), url('https://mobile.funspotnh.com/pinball/images/king_kong.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 20% top;
	padding: 0 0 40px 0;
	border-radius: 30px 30px 0 0;
	margin: 0 auto;
}

@media (min-width: 1024px) {
	#nepl-mobile {
		display: none;
	}
}

#nepl-desktop {
    width: 100%;
    height: 400px;
    font: 400 20px/1.3 Open Sans, sans-serif;
    color: black;
    text-align: center;
    background: linear-gradient(rgba(255,255,255,.97), rgba(255,255,255,0.75)), url('https://mobile.funspotnh.com/pinball/images/king_kong.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
}

@media (max-width: 1023px) {
	#nepl-desktop {
		display: none;
	}
}

#nepl-title {
    width: 95%;
    margin: 0 auto;
    font: 400 32px/1.2 Oswald, sans-serif;
    text-align: center;
    color: black;
    padding: 40px 0 10px 0;
}

@media (min-width: 1024px) {
	#nepl-title {
		font: 400 60px/1 Oswald, sans-serif;
		padding: 50px 0 10px 0;
	}
}

.nepl-row {
	width: 90%;
	margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    justify-content: center;
	align-items: center;
	padding: 100px 0 0 0;
}

@media (min-width: 1600px) {
	.nepl-row {
		padding: 0;
		align-items: top;
	}
}

#nepl-text {
    width: 90%;
    margin: 0 auto;
    font: 400 18px/1.5 Open Sans, sans-serif;
	padding: 0;
}

@media (min-width: 1024px) {
	#nepl-text {
		width: 70%;
		padding: 0 0 0 50px;
		font-size: 22px;
		text-align: left;
	}
}

#nepl-logo {
    width: 100%;
    text-align: center;
}

@media (min-width: 1024px) {
    #nepl-logo {
        width: 30%;
        text-align: center;
        padding: 0;
    }
}

#nepl-logo img {
    max-width: 50%; /* Image will not exceed its container's width */
    height: auto; /* Maintain aspect ratio */
    margin: 0 auto; /* Center image within its container */
}

@media (min-width: 600px) and (max-width: 700px) {
	#nepl-logo img {
		max-width: 40%;
	}
}

@media (min-width: 701px) and (max-width: 1023px) {
	#nepl-logo img {
		max-width: 40%;
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	#nepl-logo img {
		max-width: 100%;
		margin: 0 auto;
	}
}

@media (min-width: 1200px) {
	#nepl-logo img {
		max-width: 100%;
		margin: 0 auto;
	}
}

.weekly-scores {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 95%;
    margin: 0 auto;
    padding: 15px 0;
    background-color: rgb(95, 158, 160, .5);
	border-radius: 0 0 30px 30px;
}

@media (min-width: 1023px) {
	.weekly-scores {
		max-height: 150px;
		width: 100%;
		border-radius: 0;
	}
}

.trophy {
    width: 30%;
}

.trophy img {
    width: 80%;
    height: auto;
}

@media (min-width: 701px) and (max-width: 1023px) {
	.trophy img {
		width: auto;
		max-height: 230px;
	}
}

@media (min-width: 1024px) {
	.trophy img {
		width: auto;
		max-height: 300px;
	}
}

.stats-link {
    width: 50%;
}

.stats-link a {
    color: Navy;
    font: 400 20px/1.3 Open Sans, sans-serif;
    text-decoration: none;
}

.stats-link a:visited {
    color: darkred;
}

.variable-divider {
    display: none;
}

.static-divider {
	width: 80%;
	max-width: 300px;
    margin: 0 auto;
    opacity: 0.3;
}

.upcoming-tournaments {
    width: 90%;
    margin: 0 auto;
    color: black;
    text-align: center;
}

.ifpa-flex-container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.my-tournament-title {
    font: 400 36px/1 Passion One, sans-serif;
    text-align: center;
    color: black;
    padding-bottom: 15px;
}

.my-tournament-subtitle {
    width: 90%;
    font: 400 16px/1.5 Open Sans, sans-serif;
    text-align: center;
    color: black;
    margin: 0 auto 20px auto;
}

.ifpa-logo img {
	width: 100%;
	height: auto;
	max-width: 250px;
}

.tournament-schedule-2025 {
	font: 400 18px/1 Open Sans, sans-serif;
	text-align: left;
	color: steelblue;
	max-width: 450px;
	margin: 0 auto;
}

.tournament-schedule-2025 li {
	width: 90%;
	margin: 0 auto;
	padding: 10px 0;
	line-height: 1.2;
}

.tournament-date-2025 {
	font-size: 16px;
	color: tomato;
}

.tournaments-2025 {
	width: 90%;
	margin: 0 auto;
	font: 400 30px/1 Oswald, sans-serif;
	text-align: center;
	color: tomato;
	padding: 40px 0 20px 0;
}

.nepl-finals {
	font-size: 20px;
	max-width: 450px;
	border: 1px solid seagreen;
	border-radius: 20px;
	margin: 10px 0;
	padding: 10px 0;
}

#endorsed-by {
    font: 400 14px/1 Open Sans, sans-serif;
    margin: 30px auto 5px auto;
}

#nepl-scores-title {
    margin: 20px auto;
}

#nepl-scores-logo {
    width: 40%;
    margin: 10px auto;
}

#ifpa-scores-title {
    font: 700 30px/1.2 Oswald, sans-serif;
    text-align: center;
    color: black;
    padding-bottom: 20px;
}

#funspot-tournament-scores {
    font: 700 30px/1 Oswald, sans-serif;
    color: black;
    margin: 0 auto;
    width: 100%;
}

.tournament-scores {
    color: black;
}

#tournaments-text {
    font: 400 12px/1.3 Open Sans, sans-serif;
}

#tournaments-2023 {
    font: 700 20px/1 Open Sans, sans-serif;
}

.current-tournament {
    width: 90%;
    margin: 30px auto 15px auto;
    max-width: 600px;
}

.current-tournament img {
    width: 100%;
    height: auto;
}

#current-tournament-text {
    font: 400 24px/1.3 Open Sans, sans-serif;
    text-align: center;
    color: tomato;
}

#current-tournament-button {
    display: block;
    max-width: 250px;
    margin: 25px auto 40px auto;
    padding: 20px;
    font: 700 18px/1 Open Sans, sans-serif;
    text-align: center;
    text-decoration: none;
    background-color: LightSeaGreen;
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

#current-tournament-button:hover {
    background-color: PaleTurquoise;
    color: black;
}

#tournaments-list {
    width: 100%;
    margin: 0 auto;
    display: flex;
    font: 400 20px/1 Open Sans, sans-serif;
    color: black;
}

.tournaments-list-column {
    flex: 1;
    flex-flow: column;
    color: black;
}

#tlcolumn2 {
    display: flex;
    flex-flow: column;
    text-align: center;
    width: 100%;
}

.tlitem {
    margin: 5px 0;
}

#tournament-results {
    align-items: center;
    justify-items: center;
    width: 80%;
    margin: 0 auto;
}

#pinball-map-link {
    margin: 0 auto 50px auto;
    font: 400 18px/1 Open Sans, sans-serif;
    text-align: center;
    color: black;
}

#pinball-map-logo {
    height: 150px;
    width: auto;
    border-radius: 50%;
    margin: 0 auto 60px auto;
    background-image: url('https://mobile.funspotnh.com/pinball/images/Pinball_Pinball_Map_Logo.jpg');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
}

.current-tournament-text {
    font: 300 36px/1.3 Open Sans, sans-serif;
    text-align: center;
    color: Tomato;
    padding-bottom: 30px;
}

.current-tournament-button {
    width:50%;
    display: block;
    max-width: 180px;
    margin: 25px auto 50px auto;
    padding: 20px;
    font: 700 18px/1 Open Sans, sans-serif;
    text-align: center;
    text-decoration: none;
    background-color: LightSeaGreen;
    color: white;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.current-tournament-button a {
    text-decoration: none;
    color: white;
}

.current-tournament-button:hover {
    background-color: PaleTurquoise;
}

.current-tournament-button:hover a {
    color: LightSeaGreen;
}

.more-tournaments {
    font: 400 30px/1 Passion One, sans-serif;
    text-align: center;
    color: black;
}

.tournament-line-up {
    display: none;
}

.tournament-link {
    font-size: 20px;
    color: dodgerblue;
    text-decoration: none;
}

.tournament-link:visited {
    color: seagreen;
}

.tournament-link:hover {
    color: steelblue; /* Change color to steelblue on hover */
}

@media (max-width: 650px) {
	.tournament-list-container {
		display: none;
	}
}
@media (min-width: 651px) {
	.tournament-list-container {
		display: flex;
		justify-content: space-between;
		width: 100%;
		max-width: 700px;
		margin: 0 auto;
	}
}

.list-left {
    text-align: left;
}

.list-center {
    text-align: left;
}

.list-right {
    text-align: center;
}

.mobile-list-item,
.mobile-register {
    padding-bottom: 10px;
    font: 400 18px/1 Open Sans, sans-serif;
}

.mobile-tournament-name {
    font: 400 22px/1 Open Sans, sans-serif;
    text-align: center;
    color: tomato;
    padding: 10px 0 10px 0;
}

.mobile-register {
    padding-bottom: 20px;
}

.last {
    padding-bottom: 0;
}

.mobile-register a {
    color: dodgerblue;
    text-decoration: none;
}

.mobile-register a:hover {
    color: tomato;
}

.mobile-register a:visited {
    color: lightseagreen;
}

.date-title,
.register {
    padding-bottom: 20px;
    font: 400 16px/1 Open Sans, sans-serif;
    color: black;
}

.tourn-name {
    padding-bottom: 20px;
    font: 700 16px/1 Open Sans, sans-serif;
    color: black;
}

.register a {
    color: dodgerblue;
    text-decoration: none;
}

.register a:hover {
    color: tomato;
}

.register a:visited {
    color: lightseagreen;
}

.ifpa-scores-link {
    text-align: center;
}

.ifpa-scores-link a {
    font: 400 24px/1 Open Sans, sans-serif;
	text-decoration: none;
	color: dodgerblue;
}

.ifpa-scores-link a:visited {
	color: seagreen;
}

.tournament-results {
    width: 80%;
    max-width: 500px;
    margin: 0 auto;
}

.tournament-scores-banner {
    font: 400 18px/1 Open Sans, sans-serif;
    text-align: center;
    color: black;
    padding-bottom: 20px;
}

.tournament-scores-banner a {
    color: dodgerblue;
    text-decoration: none;
}

.tournament-scores-banner a:hover {
    color: steelblue;
}

.tournament-scores-banner a:visited {
    color: seagreen;
}

.pinball-map-link {
    width: 80%;
    max-width: 600px;
    text-align: center;
    font: 400 18px/1.3 Open Sans, sans-serif;
    padding-bottom: 30px;
    margin: 0 auto;
}

.pinball-map-logo {
    height: 130px;
    width: auto;
    border-radius: 50%;
    margin: 0 auto 20px auto;
    background-image: url('https://mobile.funspotnh.com/pinball/images/Pinball_Pinball_Map_Logo.jpg');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
}

.play-your-favorites {
	font: 400 18px/1 Open Sans, sans-serif;
	text-align: center;
	color: black;
	padding: 20px 0;
}

.logos-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 90%;
	margin: 0 auto 60px auto;
}

@media (min-width: 600px) {
	.flex-row-1,
	.flex-row-2 {
		display: flex;
		flex-direction: row;
		gap: 10px;
	}
}

.pinball-photo-container {
	display: flex;
	flex-direction: row;
	gap: 2px;
	justify-content: center;
	width: 95%;
	max-width: 650px;
	margin: 0 auto;
}

.pinball-photo {
	width: 80%;
}
	

.sci-fi-element-1 {
	width: 9.6%;
	transform: scaleX(-1);
}

.sci-fi-element-2 {
	width: 6.5%;
}

.collage-container {
	width: 95%;
	max-width: 650px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 auto 40px auto;
}

.collage-row {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 10px;
}

.row-1-img-1 {
	width: 54%;
}

.row-1-img-2 {
	width: 46%;
}

.collage-row img {
	height: auto;
	width: 100%;
}

/* spinning NEPL logo */
.logo-container {
    display: inline-block; /* Allows the logo to be centered */
    animation: spin 3s linear infinite; /* Animation properties */
	margin: 0 auto;
}

@keyframes spin {
    0% {
        transform: rotateY(0deg) rotateX(0deg); /* Start position */
    }
    50% {
        transform: rotateY(180deg) rotateX(0deg); /* Rotate to the top */
    }
    100% {
        transform: rotateY(360deg) rotateX(0deg); /* Complete the rotation */
    }
}

.logo {
    width: 150px; /* Adjust the size of the logo as needed */
    height: auto; /* Maintain aspect ratio */
}

.logo-shadow {
	text-align: center;
	margin: -40px auto 0 auto;
	width: 80px;
	height: auto;
	opacity: .7;
}

@media (min-width: 1024px) {
	.logo-shadow {
		margin: -10px auto 0 auto;
	}
}
/* spinning NEPL logo */


	/* NEPL Finals Announcement */
	
		.nepl-announce-container {
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			align-items: center;
			gap: 10px;
			width: 95%;
			margin: 0 auto;
			max-width: 650px;
			border: 2px solid Tomato;
			border-radius: 30px;
			padding: 30px 40px;
			box-sizing: border-box;
			margin-bottom: 40px;
			text-align: center;
		}
		
		.nepl-announce-title {
			font: 400 48px/.8 'Passion One', sans-serif;
			color: SteelBlue;
			margin-block-start: 0;
			margin-block-end: 0;
		}
		
		.nepl-announce-subtitle {
			font: 400 36px/1 'Passion One', sans-serif;
			color: SeaGreen;
			margin-block-start: 0;
			margin-block-end: 0;
		}
		
		
		.details-container {
			display: flex;
			flex-direction: row;
			justify-content: center;
			align-items: center;
			gap: 20px;
		}
		@media (min-width: 601px) {
			.details-container {
				padding-left: 30px;
				box-sizing: border-box;
			}
		}
		
		.details-text {
			width: 50%;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			align-items: left;
			gap: 10px;
		}
		
		.nepl-announcement {
			font: 400 24px/1.3 'Open Sans', sans-serif;
			color: black;
			text-align: left;
		}
		
		.nepl-finals-logo {
			width: 50%;
		}
		.nepl-finals-logo img {
			width: 100%;
			height: auto;
			margin: 0 auto;
		}
		@media (min-width: 601px) {
			.nepl-finals-logo img {
				max-height: 300px;
				width: auto;
			}
		}
		
		.register-links-container {
			display: flex;
			flex-direction: column;
			justify-content:
			flex-start;
			align-items: center;
			gap: 10px;
		}
		
		.register_nepl {
			font: 700 18px/1 'Open Sans', sans-serif;
			color: black;
			text-align: center;
			margin: 20px auto 10px auto;
		}
		
		.pre-tournament-date {
			font: 400 22px/1 'Passion One', sans-serif;
			text-align: center;
			color: Black;
			margin: 5px auto;
		}
		
		.pre-tournament a {
			font: 400 20px/1 'Open Sans', sans-serif;
			color: DodgerBlue;
			text-decoration: none;
			margin: 0 auto;
		}
		
		
		.enjoy_finals {
			font: 400 28px/1.2 'Passion One', sans-serif;
			text-align: center;
			color: Tomato;
			margin: 20px auto 10px auto;
		}


/* 21. DONATIONS */

.below-banner-content {
    width: 100%;
    max-width: 970px; /* Changed to max-width for responsiveness */
    margin: 0 auto;
}

.donations-wrapper {
    margin: 50px auto 0;
    font: 400 18px/1.3 'Open Sans', sans-serif;
    color: dodgerblue;
    text-align: left;
}

.donations-instructions {
    font: 300 28px/1.3 'Open Sans', sans-serif;
    color: darkorange;
    text-align: center;
}

.donations-declaration {
	font: 300 20px/1.3 'Open Sans', sans-serif;
	text-align: center;
	color: Black;
	padding: 20px 0;
}

.required-fields {
    font: 400 14px/1.3 'Open Sans', sans-serif;
    color: dodgerblue;
    text-align: center;
    margin: 20px auto 30px auto;
}

.donations-form-wrapper {
    max-width: 500px;
    margin: 30px auto 0;
    font: 400 18px/1.3 'Open Sans', sans-serif;
    color: dodgerblue;
    text-align: left;
}

.donations-form-field,
.additional-info {
    margin: 5px 0 30px 0;
    width: 100%;
    padding: 10px 8px; /* Changed padding to be more consistent */
    border: 1px solid #ccc;
    color: darkslategray;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    box-sizing: border-box; /* Added box-sizing to include padding in width */
}

.additional-info {
    margin-bottom: 20px;
}

.donations-form-button {
    margin: 0 auto 60px auto;
    width: 150px;
    padding: 10px;
    background-color: dodgerblue !important;
    border-radius: 4px;
    font: 400 16px/1.3 'Open Sans', sans-serif;
    color: white;
    cursor: pointer; /* Added cursor pointer for button */
}

.inner-donations-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 30px;
    margin: 0 auto;
    width: 90%;
    max-width: 600px; /* Adjusted max-width for responsiveness */
}

.topsnuf-image,
.topsnuf-image img {
    width: 100%;
    max-width: 300px;
    height: auto;
    margin: 0 auto;
}

.donations-text {
    font: 300 24px/1.5 'Open Sans', sans-serif;
    text-align: center;
    color: dodgerblue;
}

.donation-form-row {
    padding-top: 7px;
}

.address-city-st-zip {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.city,
.st,
.zip {
    flex: 1;
    padding: 10px 8px; /* Changed padding to be consistent */
    border: 1px solid lightgray;
    border-radius: 4px;
    margin-top: 5px;
}

.larger {
    flex: 2;
}

.donations-button-container {
    text-align: center;
}

/* 22. TAVERN */

.tavern-container {
    width: 95%;
    max-width: 1200px; /* Adjusted max-width for larger screens */
    margin: 40px auto 30px;
    padding: 0 0 20px;
    text-align: center;
}

.tavern-header img {
    max-width: 100%;
}

.tavern-intro {
    max-width: 700px;
    margin: 40px auto;
    font: 400 18px/1.3 Open Sans, sans-serif;
    color: black;
    text-align: center;
}

#tavern-images {
    display: flex;
    flex-direction: row;
    gap: 10px;
    margin: 10px auto;
}

@media (max-width: 600px) {
    #tavern-images {
        width: 90%;
        flex-direction: column;
        gap: 20px;
        justify-content: center;
    }
    .tavern-img {
        width: 100%;
        margin-bottom: 10px;
    }
}

#tavern-history {
    max-width: 600px;
    margin: 0 auto;
    width: 95%;
}

#denny-title {
    font: 300 24px/1.3 Open Sans, sans-serif;
    color: dodgerblue;
    padding: 50px 0 30px;
}

#denny-text {
    font: 400 16px/1.3 Open Sans, sans-serif;
    text-align: left;
    color: black;
}

@media (min-width: 600px) {
    #denny-text {
        text-align: justify;
    }
}

#while-visiting {
    font: 300 24px/1.3 Open Sans, sans-serif;
    color: dodgerblue;
    padding: 50px 0 30px;
}

.tavern-to-do {
    max-width: 400px;
    width: 80%;
    margin: 0 auto 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tavern-item {
    font: 400 16px/1.3 Open Sans, sans-serif;
    color: black;
    margin: 15px auto;
}

.tavern-divider {
    border: 1px solid lightgray;
    width: 100%;
    margin: 20px auto;
}

.tavern-cta {
    float: none; /* Clear float */
    width: 100%;
    text-align: center;
    margin: 30px auto 0;
}

.tavern-cta img {
    max-width: 60px; /* Adjusted max-width for responsiveness */
    margin: 0 auto 20px;
}

.tavern-features {
    max-width: 1000px;
    width: 95%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    column-gap: 20px;
    margin: 0 auto 40px;
}

.tavern-feature-1,
.tavern-feature-2 {
    flex: 1;
    text-align: center;
    margin: 0 auto;
}

.tavern-feature-1 img,
.tavern-feature-2 img {
    max-height: 120px;
    width: auto;
}

@media (min-width: 600px) {
    .tavern-feature-1 img,
    .tavern-feature-2 img {
        max-height: 300px;
    }
}

@media (min-width: 651px) and (max-width: 800px) {
    .tavern-feature-2 img {
        max-width: 220px;
    }
}

@media (min-width: 801px) {
    .tavern-feature-2 img {
        max-width: 300px;
    }
}

.tavern-untappd {
    max-width: 500px;
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: center;
    margin: 0 auto 50px;
    padding-top: 20px;
}

@media (min-width: 600px) {
    .tavern-untappd {
        width: 50%;
    }
}

.tavern-center {
    text-align: center;
}

.giant-link {
    font: 300 22px/120% 'Open Sans', sans-serif;
    color: #0066FF;
}

.beer-text,
.pizza-text,
.untappd-text {
    font: 400 18px/1.3 Open Sans, sans-serif;
    text-align: center;
    color: black;
}

/* 23. GROUPS */

.groups-wrapper {
    width: 90%;
    font: 400 16px/1.2 'Open Sans', sans-serif;
    color: rgba(0, 0, 0, 0.6);
    text-align: center;
	margin: 0 auto;
}

.groups-title {
    margin: 0 auto;
    padding: 20px 0 40px 0;
    font: 300 36px/1.2 'Open Sans', sans-serif;
    text-align: center;
    color: #0094ff;
}

@media (min-width: 768px) {
    .groups-title {
        font-size: 48px;
    }
}

.party-types-title { /* Begin party types */
    font: 400 32px/1 Passion One, sans-serif;
    text-align: center;
    color: #0094ff;
}

.party-types {
    width: 90%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font: 400 20px/1.2 Open Sans, sans-serif;
    color: dodgerblue;
    margin: 35px auto 60px auto;
    gap: 20px;
}

@media (min-width: 768px) {
    .party-types {
        max-width: 700px;
        padding-left: 50px;
        font-size: 24px;
        flex-direction: row;
        justify-content: flex-end;
    }
}

.party-types-left,
.party-types-right {
    width: 80%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: left;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .party-types-left,
    .party-types-right {
        width: 47%;
    }
}

.party-types-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}

.checkmark-icon {
    width: 30px;
}

.checkmark-icon img {
    width: 100%;
    height: auto;
}

.party-types-row-text {
    width: 80%;
    font: 400 18px/1 Open Sans, sans-serif;
}

.extra-long {
    width: 120%;
}

.we-offer { /* Begin attractions section */
    width: 100%;
    text-align: center;
    font: 300 32px/1 Passion One, sans-serif;
    color: dodgerblue;
    padding-bottom: 40px;
}

.attractions-list {
    width: 90%;
    max-width: 700px; /* Added max-width for larger screens */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    margin: 0 auto 80px auto;
    font: 400 16px/1.3 Open Sans, sans-serif;
    text-align: left;
    color: black;
}

.attractions-list-row {
    display: flex;
    flex-direction: row;
	gap: 10px;
    justify-content: space-between;
    align-items: center;
}

.attractions-icon {
    width: 50px; /* Adjusted width for larger icons */
    height: 50px; /* Added height for consistency */
    text-align: left;
}

.attractions-icon img {
    width: 100%;
    height: auto;
}

.attractions-content {
    width: 90%; /* Adjusted width for larger screens */
}

.attractions-headline {
    font-weight: 700;
}

/* 23. GROUPS */

.booking { /* Begin birthday box */
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    background-color: red;
    border-radius: 20px;
    padding: 20px 30px 40px 30px;
    color: white;
}

@media (min-width: 768px) {
    .booking {
        max-width: 700px;
        padding: 20px 50px 40px 50px;
    }
}

.booking h2 {
    font: 700 32px/1 'Open Sans', sans-serif;
    text-align: center;
    margin: 10px auto 20px auto;
}

.booking h3 {
    font: 700 20px/1 'Open Sans', sans-serif;
    text-align: center;
    padding: 10px 0;
}

.booking p {
    font: 400 18px/1.4 'Open Sans', sans-serif;
    text-align: center;
    margin: 10px auto 30px auto;
}

.booking-link {
    max-width: 300px;
    background-color: white;
    padding: 15px 5px;
    border-radius: 30px;
    text-align: center;
    margin: 0 auto;
}

.booking-link a {
    font: 700 20px/1 'Open Sans', sans-serif;
    color: steelblue;
    text-decoration: none;
    letter-spacing: -1px;
}

.booking-link a:visited {
    color: seagreen;
}

.best-visit { /* Begin section below red birthday box */
    padding: 80px 0 60px 0;
    margin: 0 auto;
    width: 90%;
    font-family: 'Open Sans', sans-serif;
    font-size: 36px;
    font-weight: 300;
    color: #0094ff;
    text-align: center;
    line-height: 36px;
}

.florida-disclaimer {
    margin: 0 auto;
    width: 90%;
    font: 400 20px/1.2 Open Sans, sans-serif;
    color: red;
    text-align: center;
}

@media (min-width: 768px) {
    .florida-disclaimer {
        max-width: 700px;
        padding-bottom: 30px;
    }
}

.twenty-or-more {
    width: 90%;
    margin: 0 auto;
    padding: 40px 0 40px 0;
    text-align: center;
    font: 400 18px/1.3 Open Sans, sans-serif;
}

@media (min-width: 768px) {
    .twenty-or-more {
        padding: 10px 0 40px 0;
    }
}

.bowling-blackouts {
    width: 95%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font: 400 20px/1.2 Open Sans, sans-serif;
    color: black;
    margin: 20px auto 60px auto;
    gap: 20px;
    border: 2px solid gray;
    border-radius: 20px;
    padding: 20px 0;
}

@media (min-width: 600px) {
    .bowling-blackouts {
        max-width: 350px;
    }
}

.bowling-blackout-times {
    font: 400 28px/1.2 Passion One, sans-serif;
    text-align: center;
}

@media (min-width: 768px) {
    .bowling-blackouts-inner {
        padding-left: 70px;
        font-size: 24px;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }
}

.bowling-blackouts-left,
.bowling-blackouts-right {
    width: 80%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: left;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .bowling-blackouts-left,
    .bowling-blackouts-right {
        width: 47%;
    }
}

.not-available,
.available {
    width: 100%;
    text-align: center;
    font-weight: 700;
}

@media (min-width: 768px) {
    .not-available,
    .available {
        width: 100%;
        text-align: left;
    }
}

.space-down {
    padding-top: 20px;
}

@media (min-width: 768px) {
    .space-down {
        padding-top: 0;
    }
}

.bowling-blackouts-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}

.x-icon {
    width: 30px;
    text-align: center;
}

.x-icon img {
    width: 85%;
    height: auto;
    margin: 0 auto;
}

.bowling-blackouts-row-text {
    width: 80%;
    font: 400 18px/1 Open Sans, sans-serif;
}

.checkmark-icon-2 {
    width: 40px;
    text-align: center;
}

.checkmark-icon-2 img {
    width: 65%;
    height: auto;
}

.reservation-info {
    font: 400 16px/1.2 Open Sans, sans-serif;
    width: 80%;
    margin: auto;
}

.bowling-additional-info {
    font: 400 14px/1.2 Open Sans, sans-serif;
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.form-wrapper { /* Begin form section */
    display: flex;
    flex-direction: column;
    gap: 15px;
    justify-content: center;
    width: 90%;
    margin: 30px auto 0 auto;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #0066FF;
}

@media (min-width: 768px) {
    .form-wrapper {
        max-width: 700px;
    }
}

#groups-form {
    margin-top: 7px;
}

#groups-form label {
    display: block;
    margin-bottom: 10px;
	text-align: left;
}

#groups-form input,
#groups-form textarea {
    width: 100%;
    padding: 10px 0 10px 8px;
    border: 1px solid #ccc;
    color: #333;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    color: #777;
    margin: 0 auto 30px auto;
}

#groups-form textarea::placeholder { /* Reset text indent on first line of placeholder text */
    text-indent: 0;
}

#groups-form .submit-button {
    margin: 10px auto 60px auto;
    width: 150px;
    padding: 10px;
    border: 2px solid #005EA3;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #fff;
    background-color: dodgerblue;
}

/* 24. PHOTOS */

.funspot-photos {
    padding: 20px 0 18px 0;
}


/* 25. ABOUT US */

.about-us-inner {
    width: 90%;
    margin: 0 auto;
}

.about-us-header {
    display: none;
}

@media (min-width: 600px) {
    .about-us-header {
        display: block;
        padding-top: 40px;
    }
}

.about-us-tagline {
    font: 400 20px/1 Open Sans, sans-serif;
    text-align: center;
    color: tomato;
    padding-top: 30px;
}

@media (min-width: 600px) {
    .about-us-tagline {
        padding-top: 10px;
    }
}

.about-us-intro {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding-top: 40px;
}

@media (min-width: 600px) {
    .about-us-intro {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.intro-item img {
    width: 100%;
    height: auto;
}

.intro-item figcaption {
    font: 400 14px/1.3 Open Sans, sans-serif;
    text-align: center;
    color: dimgray;
    padding: 5px 0 0 0;
}

@media (min-width: 600px) {
    .intro-item {
        width: 47%;
    }
}

.au-intro-text {
    font: 400 16px/1.5 Open Sans, sans-serif;
    text-align: justify;
    color: black;
}

.about-us-hero {
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: flex-start;
    align-items: center;
    padding-top: 40px;
}

@media (min-width: 600px) {
    .about-us-hero {
        flex-direction: row;
        justify-content: space-between;
    }
}

.about-us-hours {
    font: 400 24px/1.3 Passion One, sans-serif;
    text-align: center;
    color: dodgerblue;
    flex: 1;
}

@media (min-width: 600px) {
    .about-us-hours {
        width: 47%;
    }
}

.au-hours-button {
    padding: 20px;
    margin: 10px auto 0 auto;
    background-color: tomato;
    border: none;
    border-radius: 20px;
}

.au-hours-button a {
    font: 400 24px/1 Passion One, sans-serif;
    text-align: center;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
}

.au-hours-button a:hover {
    color: black;
}

.about-us-directions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: flex-start;
    align-items: center;
    flex: 1;
    text-align: center;
}

.about-us-directions img {
    width: 50%;
    height: auto;
}

.about-us-directions a {
    font: 400 24px/1 Passion One, sans-serif;
    text-decoration: none;
    text-align: center;
    color: dodgerblue;
    transition: all 0.3s ease;
}

.about-us-directions a:hover {
    color: tomato;
}

@media (min-width: 600px) {
    .au-map-icon {
        target-name: "_parent";
    }
}

.blue-text {
    font: 400 24px/1 Passion One, sans-serif;
    text-align: center;
    color: dodgerblue;
}

.lockers {
    padding-top: 20px;
}

.details-title {
    font: 400 20px/1 Open Sans, sans-serif;
    text-align: left;
    color: dodgerblue;
    padding: 30px 0 10px 0;
}

.lockers p,
.restrooms p,
.lost-and-found p {
    font: 400 16px/1.3 Open Sans, sans-serif;
    text-align: justify;
    color: black;
}

.closing-text {
    font: 700 28px/0.8 Passion One, sans-serif;
    text-align: center;
    color: black;
    padding-top: 60px;
}

.stop-in {
    padding-bottom: 20px;
}

.weve-got {
    font-size: 36px;
    padding-bottom: 3px;
}

.big-fun {
    font-size: 100px;
    line-height: 0.7;
}

.big-every {
    font-size: 80px;
}

.big-one {
    font-size: 80px;
    padding-bottom: 60px;
}

/* 26. GAME REPAIR */

.dashboard-last {
	margin-bottom: 80px;
}

.index-content-wrapper {
    text-align: center;
}

@media (min-width: 600px) {
    .repair-index-mobile-break {
		display: none;
    }
}

.game-repair-header {
    font: 300 36px/1.3 Open Sans, sans-serif;
    text-align: center;
    color: dodgerblue;
    padding: 30px 0 0 0;
}

.view-out-of-service-container,
.report-problem-container,
.manage-games-container	{
    width: 95%;
	max-width: 600px;
    box-sizing: border-box;
    border: 2px solid gainsboro;
    padding: 20px;
    margin: 0 auto 20px auto;
    border-radius: 10px;
    background-color: #f9f9f9;
}

.manage-games-wrapper {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
}

.search-section,
.repair-status-section,
.level-filter-section {
    width: 95%;
	max-width: 600px;
    box-sizing: border-box;
    border: 2px solid gainsboro;
    padding: 20px;
    margin: 30px auto;
    border-radius: 10px;
    background-color: #f9f9f9;
    font: 400 14px/1 Open Sans, sans-serif;
    text-align: center;
}

#search {
	box-sizing: border-box;
    padding: 10px;
    border: 2px solid lightgray;
	border-radius: 10px;
}

.manage-games-container label {
	font: 400 18px/1 Open Sans, sans-serif;
	text-align: left;
	color: black;
	padding: 0 0 10px 0;
}

.repair-status-section,
.level-filter-section		{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.repair-status-section form,
.level-filter-section form		{
	text-align: center;
}

@media (min-width: 768px) {
    .search-section,
    .repair-status-section,
    .level-filter-section {
        max-width: 600px;
	}
}

#searchForm {
    text-align: center;
}

#search-form-text {
    font: 400 18px/1 Open Sans, sans-serif;
}

.search-games-button {
    background-color: dodgerblue;
    border: none;
    border-radius: 50px;
	padding: 10px 20px;
	font: 700 16px/1 Open Sans, sans-serif;
	color: white;
	width: 150px;
}
		
.search-games-button:hover {
	background-color: #357EC7;
	cursor: pointer;
}

@media (min-width: 768px) {
	.view-out-of-service-container,
    .report-problem-container,
	.manage-games-container			{
		max-width: 600px;
	}
}

.section-head {
	font: 400 20px/1.3 Open Sans, sans-serif;
	text-align: center;
	color: black;
	margin: 0 auto 20px auto;
}

.view-out-of-service-button,
.report-problem-button,
.manage-games-button		{
	box-sizing: border-box;
	padding: 10px 20px;
	font: 700 16px/1 Open Sans, sans-serif;
	color: white;
	border: none;
	border-radius: 50px;
	cursor: pointer;
	width: 150px;
	max-width: 300px;
	margin: 0 auto;
}

.view-out-of-service-button {
	background-color: dodgerblue;
	}
		
.view-out-of-service-button:hover {
	background-color: #357EC7;
}

.manage-games-button {
	background-color: dodgerblue;
	width: 200px;
}
		
.manage-games-button:hover {
	background-color: #357EC7;
	cursor: pointer;
}

.manage-games-button a {
	color: white;
	text-decoration: none;
}

.report-problem-button {
	background-color: tomato;
	width: 150px;
}
		
.report-problem-button:hover {
	background-color: #F62817;
	cursor: pointer;
}

.report-problem-button a {
	color: white;
	text-decoration: none;
}

.view-out-of-service-results {
	display: none; /* Initially hidden */
	margin-top: 20px;
}

.game-details-table {
	width: 90%;
	max-width: 900px;
	border-collapse: collapse;
	margin: 20px auto;
	font: 400 14px/1.3 Open Sans, sans-serif;
	border: 1px solid gainsboro;
}

.game-details-table th,
.game-details-table tr,
.game-details-table td {
	border: 1px solid gainsboro;
}

.game-details-header,
.game-details-data {
	padding: 8px;
	text-align: center;
}

.game-details-data a {
	text-decoration: none;
}

.game-details-table tr:nth-child(even) {
	background-color: #f2f2f2;
}

.games-out-of-service {
	font: 700 28px/1 Open Sans, sans-serif;
	margin: 50px auto -10px auto;
}

.search-results-header {
	font: 700 22px/1 OpenSans, sans-serif;
	margin: 20px auto;
}
.left {
	text-align: left;
}

.checkbox-container {
	display: flex;
	flex-direction: column;
	gap: 15px;
	justify-content: flex-start;
	width: 35%;
	margin: 0 auto;
}

@media (min-width: 500px) {
	.checkbox-container {
		flex-direction: row;
		justify-content: center;
		gap: 30px;
		width: auto;
	}
}

.checkbox-row {
	display: flex;
	flex-direction: row;
	gap: 5px;
	font: 400 16px/1 Open Sans, sans-serif;
	text-align: left;
	white-space: nowrap;
}
		
.large-checkbox {
	transform: scale(1.5); /* Adjust the scale factor as needed */
	margin: 0 5px 0 0;
}

.manage-games-subhead {
	margin-top: 0;
	padding-bottom: 10px;
	font: 400 16px/1.5 Open Sans, sans-serif;
	color: black;
}

.search-games-title,
.add-game-title,
.delete-game-title,
.add-repair-title {
	font: 300 28px/1 Open Sans, sans-serif;
	text-align: center;
	color: dodgerblue;
	padding: 40px 0 20px 0;
}

.search-games-input,
#game_name,
#delete_game_name {
	font: 400 18px/1 Open Sans, sans-serif;
	border: 2px solid Gainsboro;
}

#search_results {
	font: 400 22px/1 Open Sans, sans-serif;
}

#search_results p {
	padding-bottom: 15px;
}

#search_results a {
	color: dodgerblue;
	text-decoration: none;
}

.add-button,
.delete-button {
	width: 200px;
	margin: 0 auto 40px auto;
	font: 700 22px/1 Open Sans, sans-serif;
	padding: 10px;
	border: none;
	border-radius: 50px;
	background-color: dodgerblue !important;
	color: white;
}

.red-button {
	background-color: tomato !important;
}

.dashboard-link {
	text-align: center;
}

.dashboard-link a {
    font: 400 18px/1 Open Sans, sans-serif;
    color: dodgerblue;
	text-decoration: none;
}

.manage-games-title {
	font: 400 16px/1.5 Open Sans, sans-serif;
	text-align: center;
	color: black;
	margin: 40px auto;
}

.login-section {
	width: 95%;
	margin: 0 auto;
	max-width: 600px;
	border: 2px solid Gainsboro;
	border-radius: 20px;
	padding: 20px;
	box-sizing: border-box;
}

#username,
#password {
	border: 1px solid Gainsboro;
}

.login-button {
	width: 130px;
	padding: 10px;
	background-color: dodgerblue;
	border: none;
	border-radius: 50px;
	color: white;
	font: 700 16px/1 Open Sans, sans-serif;
	margin: 0 auto;
}

.login-button-container {
	text-align: center;
}

.manage-games-subtitle {
	font: 400 14px/1.5 Open Sans, sans-serif;
	text-align: center;
	color: black;
	margin: 0 auto 20px auto;
}

.logout-title {
	font: 300 28px/1 Open Sans, sans-serif;
	text-align: center;
	color: dodgerblue;
	padding: 40px 0 0 0;
}

.logout-button {
	width: 150px;
	border: none;
	border-radius: 50px;
	background-color: dodgerblue;
	font: 700 22px/1 Open Sans, sans-serif;
	text-align: center;
	color: white;
	padding: 10px;
}

.logout-button:hover {
	cursor: pointer;
}

.logout-button-container {
	text-align: center;
	padding: 40px 0;
}

.bottom-padding {
	padding-bottom: 40px;
}

.dbl-padding {
	padding: 40px 0;
}

.register-container {
	width: 95%;
	max-width: 600px;
	border: 2px solid  Gainsboro;
	border-radius: 20px;
	padding: 20px;
	margin: 0 auto;
}

.already-registered {
	font: 400 14px/1 Open Sans, sans-serif;
	text-align: center;
	padding: 40px 0 20px 0;
}

 .popup-message {
            display: none; /* Hidden by default */
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            padding: 10px 20px;
            background-color: white;
            color: #fff;
			border: 2px solid Gainsboro;
            border-radius: 5px;
            z-index: 1001;
            font: 400 16px/1 Open Sans, sans-serif;
			text-align: center;
			color: black;
        }
		
        .overlay {
            display: none; /* Hidden by default */
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 1000;
        }
		
.add-repair-container {
	width: 95%;
	max-width: 600px;
	border: 2px solid Gainsboro;
	border-radius: 20px;
	padding: 20px;
	margin: 0 auto;
	box-sizing: border-box;
}

.add-repair-container input {
	border: 2px solid Gainsboro;
}

.add-repair-container input::placeholder {
	font: 400 16px/1 Open Sans, sans-serif;
	color: gray;
}

.add-repair-container textarea {
	border-radius: 10px;
}

.add-repair-button {
	width: 150px;
	margin: 0 auto;
	background-color: dodgerblue !important;
	border: none !important;
	border-radius: 50px;
	font: 700 22px/1 Open Sans, sans-serif;
	color: white;
}

#game-search input::placeholder {
	font: 400 14px/1 Open Sans, sans-serif;
	color: gray;
}

.problem {
	margin-bottom: 0;
	padding-bottom: 0;
}

.problem-textarea {
	border: 2px solid Gainsboro;
}

.tutorial {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 80%;
	max-width: 600px;
	height: auto;
	margin: 20px auto;
}

.tutorial-image {
	width: 50px;
	min-width: 50px;
	height: auto;
}

.tutorial-image img {
	width: 100%;
	height: auto;
}

.tutorial-link {
	width: auto;
}

.tutorial-link a {
	font: 400 18px/1 Open Sans, sans-serif;
	text-align: left;
	color: dodgerblue;
	transition: all .3s ease;
	text-decoration: none;
}

.tutorial-link a:hover {
	color: gray;
}

.tutorial-title {
	width: 95%;
	max-width: 600px;
	margin: 0 auto;
	padding: 50px 0 30px 0;
	font: 300 36px/1.3 Open Sans, sans-serif;
	text-align: center;
	color: dodgerblue;
}

.video-container {
	width: 95%;
	max-width: 600px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 20px 20px 0 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	overflow: hidden;
}

.introduction,
.report-problem,
.check-repair-status {
	padding-left: 20px;
}

.video-container a {
	font: 400 18px/1 Open Sans, sans-serif;
	text-align: left;
	color: dodgerblue;
	text-decoration: none;
}

.tutorial-girl {
	margin-top: 20px;
	padding: 20px 0 0 0;
	text-align: center;
}


/* 27. MOBILE MENU */

/* RESET */

.mobile-menu-container div,
.mobile-menu-container span,
.mobile-menu-container applet,
.mobile-menu-container object,
.mobile-menu-container iframe,
.mobile-menu-container h1,
.mobile-menu-container h2,
.mobile-menu-container h3,
.mobile-menu-container h4,
.mobile-menu-container h5,
.mobile-menu-container h6,
.mobile-menu-container p,
.mobile-menu-container blockquote,
.mobile-menu-container pre,
.mobile-menu-container a,
.mobile-menu-container abbr,
.mobile-menu-container acronym,
.mobile-menu-container address,
.mobile-menu-container big,
.mobile-menu-container cite,
.mobile-menu-container code,
.mobile-menu-container del,
.mobile-menu-container dfn,
.mobile-menu-container em,
.mobile-menu-container img,
.mobile-menu-container ins,
.mobile-menu-container kbd,
.mobile-menu-container q,
.mobile-menu-container s,
.mobile-menu-container samp,
.mobile-menu-container small,
.mobile-menu-container strike,
.mobile-menu-container strong,
.mobile-menu-container sub,
.mobile-menu-container sup,
.mobile-menu-container tt,
.mobile-menu-container var,
.mobile-menu-container b,
.mobile-menu-container u,
.mobile-menu-container i,
.mobile-menu-container center,
.mobile-menu-container dl,
.mobile-menu-container dt,
.mobile-menu-container dd,
.mobile-menu-container ol,
.mobile-menu-container ul,
.mobile-menu-container li,
.mobile-menu-container fieldset,
.mobile-menu-container form,
.mobile-menu-container label,
.mobile-menu-container legend,
.mobile-menu-container table,
.mobile-menu-container caption,
.mobile-menu-container tbody,
.mobile-menu-container tfoot,
.mobile-menu-container thead,
.mobile-menu-container tr,
.mobile-menu-container th,
.mobile-menu-container td,
.mobile-menu-container article,
.mobile-menu-container aside,
.mobile-menu-container canvas,
.mobile-menu-container details,
.mobile-menu-container embed, 
.mobile-menu-container figure,
.mobile-menu-container figcaption,
.mobile-menu-container footer,
.mobile-menu-container header,
.mobile-menu-container hgroup, 
.mobile-menu-container menu,
.mobile-menu-container nav,
.mobile-menu-container output,
.mobile-menu-container ruby,
.mobile-menu-container section,
.mobile-menu-container summary,
.mobile-menu-container time,
.mobile-menu-container mark,
.mobile-menu-container audio,
.mobile-menu-container video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
.mobile-menu-container article,
.mobile-menu-container aside,
.mobile-menu-container details,
.mobile-menu-container figcaption,
.mobile-menu-container figure, 
.mobile-menu-container footer,
.mobile-menu-container header,
.mobile-menu-containerh group,
.mobile-menu-container menu,
.mobile-menu-container nav,
.mobile-menu-container section {
	display: block;
}

.mobile-menu-container ol,
.mobile-menu-container ul {
	list-style: none;
}
.mobile-menu-container blockquote,
.mobile-menu-container q {
	quotes: none;
}
.mobile-menu-container blockquote:before,
.mobile-menu-container blockquote:after,
.mobile-menu-container q:before,
.mobile-menu-containerq:after {
	content: '';
	content: none;
}
.mobile-menu-container table {
	border-collapse: collapse;
	border-spacing: 0;
}


/* MOBILE MENU */

.mobile-menu-container #handbook-body {
    padding: 0;
    margin: 0;
}

.mobile-menu-container .mobile-menu-icon {
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 100;
  cursor: pointer;
}

.mobile-menu-container .mobile-menu-icon i {
  font-size: 30px;
  color: firebrick;
}

.mobile-menu-container .mobile-menu {
  position: fixed;
  top: 15px;
  right: -100%;
  z-index: 1000;
  width: 15%;
  height: 100%;
  font: 400 20px/1 Open Sans, sans-serif;
  background-color: white;
  transition: right 0.5s ease-in-out;
}

@media (max-width: 768px) {
  .mobile-menu-container .mobile-menu {
    font: 400 18px/1.2 Open Sans, sans-serif;
    width: 65%;
  }
}

.mobile-menu-container .mobile-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-menu-container .mobile-menu li {
  padding: 8px;
  border-bottom: 1px dotted tomato;
}

@media (max-width: 768px) {
  .mobile-menu-container .mobile-menu li {
    padding: 20px;
  }
}

.mobile-menu-container .mobile-menu a {
  text-decoration: none;
  color: black;
}

.mobile-menu-container .mobile-menu.open {
  right: 0;
}

.mobile-menu-container .mobile-menu.hidden {
  display: none;
}

.mobile-menu-container .mobile-menu-close {
  position: absolute;
  top: 0px;
  right: 12px;
  z-index: 1001;
  padding: 15px 12px 13px 12px;
  font: 400 30px/.5 Nunito, sans-serif;
  background-color: lightskyblue;
  border-radius: 50%;
  border: none;
  cursor: pointer;
}

.mobile-menu-container .mobile-menu-close:hover {
  color: red;
  transition: all .3s;
}

.mobile-menu-container .submenu-parent {
  position: relative;
}

.mobile-menu-container .submenu {
    position: absolute;
    top: 100%;
    right: 0;
    width: 120%;
    display: none;
    z-index: 1002;
    border: 1px solid tomato;
    background-color: white; /* Set a background color for the submenu */
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); /* Add a subtle box shadow for depth */
  }

.mobile-menu-container .last {
    border-bottom: none;
  }
  
.mobile-menu-container .submenu-parent:hover .submenu {
  display: block;
}

.mobile-menu-container .submenu-parent .my_down_menu {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-100%);
}

.mobile-menu-container .mobile-menu-icon img {
	width: 35px;
	height: auto;
}

.mobile-menu-container .my_down_menu {
	width: 20px;
	height: auto;
}


/* DIRECTIONS */

.directions-header {
	width: 90%;
	max-width: 600px;
	height: auto;
	margin: 20px auto 14px auto;
}

.directions-header img {
	width: 100%;
	height: auto;
}

.map-container {
	margin: 0 auto 20px auto;
}

.directions-text {
	width: 85%;
	max-width: 800px;
	font: 300 20px/1.3 Open Sans, sans-serif;
	text-align: justify;
	color: black;
	margin: 0 auto;
}


/* RATES */

.rates-header {
	display: none;
}
@media (min-width: 700px) {
	.rates-header {
		display: block;
		max-width: 580px;
		margin: 0 auto;
	}
}

.rates-headline {
	width: 90%;
	max-width: 600px;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
	color: DodgerBlue;
	margin: 50px auto;
}
@media (min-width: 700px) {
	.rates-headline {
		margin: 0 auto 50px auto;
	}
}

.tokens-container {
	width: 80%;
	max-width: 600px;
	border: 2px solid LightSkyBlue;
	border-radius: 20px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 30px;
	font-family: 'Open Sans', sans-serif;
}

.tokens-text {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
	color: Gray;
}

.token-pricing-container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	width: 90%;
	margin: 20px auto;
	font-family: 'Open Sans', sans-serif;
	font-size: 20px;
	line-height: 1.5;
	color: DodgerBlue;
}

.tokens {
	width: 60%;
}
@media (min-width: 700px) {
	.tokens {
		width: 40%;
	}
}

.prices {
	width: 20%;
}
@media (min-width: 700px) {
	.prices {
		width: 40%;
	}
}

.equals {
	width: 20%;
}

.tokens p,
.equals p,
.prices p {
	margin-block-start: 0em;
    margin-block-end: 0em;
}

.other-attractions-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: left;
	gap: 30px;
	width: 80%;
	max-width: 600px;
	margin: 50px auto;
}

.bowling-rates-2025,
.mini-golf-rates,
.group-rates,
.also-offers {
	text-align: left;
}

.bowling-rates-title-2025,
.mini-golf-rates-title,
.group-rates-title,
.also-offers-title {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	color: DodgerBlue;
}

.other-attractions-text,
.rates-list {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	color: Gray;
}

.other-attractions-text a {
	text-decoration: none;
}

.rates-list {
	list-style-type: square;
	padding-left: 30px;
}

.rates-list li {
	margin-bottom: 10px;
}

.rates-list a {
	font-weight: 700;
}

.rates-credit-cards {
	width: 50%;
	max-width: 300px;
	margin: 0 auto;
}

.rates-credit-cards img {
	width: 100%;
	height: auto;
}

