/*
 *
 */

@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700');
@import url('https://fonts.googleapis.com/css?family=Montserrat:500,600,700');

body {
	/* padding-top: 4.5rem; */
	/* min-height: 75rem; */
	font-size: 1rem;
	font-family: 'Source Sans Pro', sans-serif;
	background-color: #240c00;
}

#top-logo {
	z-index: 9999;
}

#top-logo div.brand {
	font-size: 2.2rem;
	font-family: 'Montserrat', sans-serif;
	color: #fff;
	font-weight: bold;
	letter-spacing: -1px;
	margin: 0 4px;
}

header > .navbar.fixed-top.bg-smso,
	main .bg-smso {
	--bs-bg-opacity: 1;
	background-color: #240c00;
}

header > .navbar.fixed-top ul li {
	font-size: 1.2rem;
	text-transform: uppercase;
	padding: 0 1rem;
	border-radius: 4px;
	text-align: center;
}

header > .navbar.fixed-top ul li a {	
	color: white;
}

header > .navbar.fixed-top ul li:hover {
	background-color: #b47f41;
}

main .container.content h1,
main .container.content h2,
main .container.content h3 {
	font-family: 'Abril Fatface', cursive;
	color: #cccccc;
}

main .container.content h1 { font-size: 3rem; margin-top: 1.8rem; margin-bottom: 2.4rem; }
main .container.content h2 { font-size: 1.8rem; margin-top: 1.8rem; margin-bottom: 1.6rem; }
main .container.content h3 { font-size: 1.6rem; margin-top: 0rem; margin-bottom: 1.2rem; }
main .container.content h4 { font-size: 1.4rem; margin-top: 0rem; margin-bottom: 1.2rem; }

@media (max-width: 767px) {
	main .container.content h1 { font-size: 2rem; margin-top: 0.6rem; margin-bottom: 1.4rem; }
	main .container.content h2 { font-size: 1.4rem; margin-top: 0.4rem; margin-bottom: 0.8rem; }
	main .container.content h3 { font-size: 1rem; margin-top: 0rem; margin-bottom: 0.2rem; }
}

/* -------------------------------------------------------------------------- */

main > .container {
	padding: 80px 15px 0;
}

main .container.content {
	padding-bottom: 4rem;
	color: #c0c0c0;
}

main .container.content p {
	text-align: justify;
}

main .container.content p,
main .container.content ul {
	font-size: 1.4rem;
	line-height: 1.8rem;
	/* color: white; */
	color: #cccccc;
}

@media (max-width: 767px) {
	main .container.content p,
	main .container.content ul {
		font-size: 1.2rem;
		line-height: 1.6rem;
	}
}

main .container.content ul li {
	margin-bottom: 0.6rem;
}

main .container.content p a {
	color: rgba(167, 118, 60, 1);
}

main .container.content p a:hover {
	color: rgba(114, 76, 36, 1);
}

main .container.content p .small {
	font-size: 1rem;
	color: rgba(167, 118, 60, 1);
}

main .container.content .btn {
	font-family: 'Source Sans Pro', sans-serif;
}

main .container.content .btn.btn-smso,
.modal-content .btn.btn-smso {
	background-color: rgba(167, 118, 60, 1);
	font-weight: bold;
	color: #fff;
	/* transition: all .7s; */
}

main .container.content .btn.btn-smso:hover,
.modal-content .btn.btn-smso:hover {
	background-color: rgba(114, 76, 36, 1);
	color: #fff;
}

/* -------------------------------------------------------------------------- */

body#home {
	background-color: unset;
	background-image: url('../images/bg-home-90.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

body#home header > .navbar.fixed-top.bg-smso {
	background-color: rgba(0, 0, 0, 0.8) !important;
}

body#home main > .container.content {
}

@media (max-height: 800px) {
	body#home main > .container.content img.smso-logo { height: 300px; }
}

@media (max-width: 767px) {
	body#home main > .container.content .next-concert h2 { font-size: 2rem !important; }
	body#home main > .container.content .next-concert p { font-size: 1.4rem !important; line-height: 1.8rem !important; }
}

@media (max-height: 750px) {
	body#home main > .container.content img.smso-logo { height: 280px; }
}

@media (max-height: 700px) {
	body#home main > .container.content img.smso-logo { height: 260px; }
}

@media (max-height: 650px) {
	body#home main > .container.content img.smso-logo { height: 240px; }
}

@media (max-height: 600px) {
	body#home main > .container.content img.smso-logo { height: 220px; }
}

@media (max-height: 550px) {
	body#home main > .container.content img.smso-logo { height: 180px; }
}

@media (max-height: 500px) {
	body#home main > .container.content img.smso-logo { height: 140px; }
}

body#home main .container.content .next-concert {
	font-family: 'Abril Fatface', cursive;
}

body#home main .container.content .next-concert h2 {
	font-size: 2.6rem;
	color: white;
}

body#home main .container.content .next-concert p {
	font-size: 1.6rem;
	line-height: 2.4rem;
}

body#home main .container.content .bg-smso-light {
	background-color: rgba(167, 118, 60, 0.2);
}

body#home main .container.content .card:hover {
	background-color: rgba(167, 118, 60, 0.6);
}

body#home main .container.content .card .card-title {
	font-size: 2rem;
	color: white;
	text-align: center;
	margin-bottom: 0.8rem;
}

body#home main .container.content .card .card-body {
	font-size: 1.2rem;
	text-align: center;
}

body#home main .container.content .card .card-body a {
	color: white;
	text-decoration: none;
}

/* -------------------------------------------------------------------------- */

body#concerts main .container.content p.concert-date,
body#concerts main .container.content p.concert-location {
	font-family: 'Abril Fatface', cursive;
	line-height: 2rem;
	text-align: center;
}

body#concerts main .container.content p.concert-date {
	font-size: 2rem;
	color: white;	
}

body#concerts main .container.content p.concert-location {
	font-size: 1.6rem;
}

@media (max-width: 767px) {
	body#concerts main .container.content p.concert-date {
		font-size: 1.6rem;
	}
	body#concerts main .container.content p.concert-location {
		font-size: 1.2rem;
	}
}

body#concerts main .container.content div.programme div.row {
	margin-bottom: 0.8rem;
}

body#concerts main .container.content div.programme p {
	margin-bottom: 0;
}

body#concerts main .container.content .bg-smso-light {
	background-color: rgba(167, 118, 60, 0.2);
	color: white;
}

body#concerts main .container.content .card {
	font-size: 1.6rem;
}

body#concerts main .container.content .concerts-this-year .card .card-body {
	font-size: 1.2rem;
}

body#concerts main .container.content .recent-concerts {
}

body#concerts main .container.content .recent-concerts > div {
}

body#concerts main .container.content .recent-concerts > div a {
	background-color: rgba(167, 118, 60, 0.2);
	color: white;
	font-weight: bold;
	text-align: center !important;
	padding: 1rem 0;
}

body#concerts main .container.content .recent-concerts > div a:hover {
	background-color: rgba(114, 76, 36, 1);
}

body#concerts main .container.content .google-map {
	max-height: 60%;
}

@media (min-width: 992px) {
	body#concerts main .container.content .google-map .greyscale {
		opacity: 0.8;
		/* filter: url(filters.svg#grayscale); */
		filter: gray;
		-webkit-filter: grayscale(1);
		-webkit-transition: all .6s ease-in-out;
	}

	body#concerts main .container.content .google-map .greyscale:hover {
		opacity: 1;
		filter: none;
		-webkit-filter: grayscale(0);
	}
}

body#concerts main .container.content .google-map a {
	background-color: rgba(0, 0, 0, 0.5);
	font-size: 1.2rem;
	font-weight: bold;
	color: white;
	text-decoration: none;
	padding: .2rem 3rem;
	width: 95%;
	text-align: center;
}

@media (max-width: 992px) {
	body#concerts main .container.content .google-map a {
		font-size: 1rem;
		padding: 0.8rem;
	}
}

/* -------------------------------------------------------------------------- */

.modal-content {
	background-color: #240c00;
}

.modal-content p,
.modal-content ul {
	font-size: 1.4rem;
	line-height: 1.8rem;
	/* color: white; */
	color: #cccccc;
}

/* -------------------------------------------------------------------------- */

.footer {
	background-color: #b47f41 !important;
}

.footer .footer-top-bar {
	background-color: #d8d8d8;
	border-top: 1px solid #bbbbbb;
	color: #666666;
	font-size: 1.2rem;
	letter-spacing: 0.8px;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
}

@media (max-width: 992px) {
	.footer .footer-top-bar {
		font-size: 1rem;
	}
}

@media (max-width: 767px) {
	.footer .footer-top-bar {
		font-size: 0.6rem;
	}
}

.footer .footer-top-bar a {
	color: black;
}

.footer .footer-top-bar a:hover {
}

.footer .footer-bottom-bar {
	font-size: 0.8rem;
	color: #fff;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
}

@media (max-width: 767px) {
	.footer .footer-bottom-bar {
		font-size: 0.6rem;
	}
}

.footer .footer-bottom-bar a {
	color: #fff;
}

.footer .footer-bottom-bar a:hover {
	text-decoration: underline;
}

/* -------------------------------------------------------------------------- */

.vh-80 { height: 80vh !important; }
.vh-60 { height: 60vh !important; }
.vh-50 { height: 50vh !important; }
.vh-40 { height: 40vh !important; }
.vh-20 { height: 20vh !important; }

/* -------------------------------------------------------------------------- */
