/* ^^^^**** STYLES FOR SHAMAN.NET.NZ ****^^^^^ */
/* ^^^^**** JULY 2025 ****^^^^^ */

@font-face {
	font-family: 'Open Sans';
	src: url("/public/assets/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf");

}
@font-face {
	font-family: Caveat;
	src: url("/public/assets/fonts/Caveat/Caveat-VariableFont_wght.ttf");

}
:root {
	--text-color: #333333;
	--primary-color: #c3272b;
	--hover-color: #f9acae;
	--font-secondary: Caveat, 'Open Sans', Montserrat, Verdana, Geneva, Tahoma, sans-serif;
}
* {
	margin: 0;
	padding:0;
	box-sizing: border-box;
}
html {
	font-family: 'Open Sans', Montserrat, Verdana, Geneva, Tahoma, sans-serif;
	font-size: 20px;
	color: var(--text-color);
}
header { 
	margin-top: 2rem;
	max-width: 100%;
}
.container {
	margin: .5rem clamp(.5rem, 5vw, 4rem);
}
iframe {
	max-width: 95%;
}
.noTopImg {
	margin-top:3rem;
}
.inlineLink {
	color: var(--text-color);
	text-decoration-color: var(--primary-color);
	-moz-text-decoration-color: var(--primary-color);
}
.suggestions {
	margin-top: 2rem;
}
strong {
	color: var(--primary-color);
}
footer {
	text-align: center;
	margin-top: 2rem;
}
/* Text Format */
.content p {
	line-height: 150%;
	margin-bottom: .75rem;
}
/* Headings */
header h1, header h2, header h3, .content .sectionHeading, .content .subHeading {
	color: var(--primary-color);
	font-weight: 400;
}
header h1, header h2, header h3 {
	font-family:  var(--font-secondary) !important;
}
header h1, header h3 {
	font-size: 4.5rem;
	margin-left: 1.5rem;
	margin-bottom: 0;
}
header h2 {
	font-size: calc(4.5rem / 3 * 2);
	font-weight: 300;
	margin-left: 5rem;
	margin-bottom: 1rem;
}
header h3 {
	font-size: 5.5rem !important;
	text-align: center;
}
.content .sectionHeading {
	font-size: 2rem;
	margin-top: 10rem;
	margin-bottom: .5rem;
	margin-left: .5rem;
	transition: all 1s;
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	-o-transition: all 1s;
}
.content .sectionHeading.noslide {
	margin-top: 2rem !important;
}
.content .subHeading {
	font-size: 1.66rem;
	margin-left: 1.5rem;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
}
.content .minorHeading {
	color: var(--primary-color);
	margin-top: 1.75rem;
	margin-bottom: .75rem;
}
.content .notification h2, .content .notification p {
	text-align: center;
}
.noTopImg .sectionHeading {
	margin-bottom: 2rem;
}
/* Page specific */
.media audio {
	margin-bottom: 2rem;
}
.contact p {
	font-size: 1.25rem;
}
/* Images */
.topImg {
	display: block;
	width: 100%;
	margin: auto;
	height: auto;
	object-fit: cover;
	aspect-ratio: 3/1;
}
.tallImg {
	display: none;
	padding: .33rem;
}
.narrowImg {
	display: block;
	margin: auto;
	width: 70vw;
	height:auto;
}
/* Flex Container */
.twins {
	display:flex;
	flex-direction: row;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-top: 2rem;
	align-items: start;
}
.tweedledee {
	width: 100%;
}
.tweedledee p {
	font-size: inherit;
}
/* Grid Container */
.details {
	display: grid;
	grid-template-columns: max-content auto;
	row-gap: .25rem;
	column-gap: .5rem;
	margin-bottom: 1.5rem; /* keeps payment details separated */
}
.details .item {
	font-weight: bold;
}
/* Buttons */
.linkButton {
	display: block;
	width: 9rem;
	height: 3rem;
	text-decoration: none;
	background-color: var(--primary-color);
	color: #fff;
	text-align: center;
	font-size: 2rem;
	padding: .25rem;
	margin: 3rem auto;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	cursor:pointer;
}
.linkButton:hover {
	background-color: var(--hover-color);
	color: #fff;
	border: none;
}
.btnCustom, .login input[type="submit"] {
	border: none;
	height: 3rem;
	width: 7rem;
	background-color: var(--primary-color);
	color: #fff;
	font-family: inherit;
	font-size: 1.25rem;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	cursor: pointer;
}
.btnCustom:hover, .login input[type="submit"]:hover {
	background-color: var(--hover-color);
	color: var(--primary-color);
	border: 2px solid var(--primary-color);
}
.mediaButton {
	display: block;
	width: 8rem;
	background-color: var(--primary-color);
	color:#fff;
	padding: 1rem .5rem;
	text-decoration: none;
	text-align: center;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
}
.mediaButton:hover {
	font-weight: 800;
	text-decoration:underline;
	text-decoration-color: #fff;
	-moz-text-decoration-color: #fff;
	text-decoration-style: wavy;
	-moz-text-decoration-style: wavy;
}
/* Forms */
form, input, textarea {
	max-width: 98vw;
}
/*ADMIN STYLES */
 .admin h2 {
	text-align: center;
}
.admin .linkButton {
	width: 15rem;
	height: 5rem;
	padding-top: 1.25rem;
}
.admin .sectionHeading {
	margin-bottom: 2rem;
}
	/* Admin Tables */
.admin table {
	table-layout: fixed;
	border-collapse: collapse;
	min-width: 100%;;
}
.admin table th {
	color:var(--primary-color);
	font-size: 1.33rem;
	font-weight: 400;
	padding-bottom: .5rem;
}
.admin table tr {
	outline: 1px solid #f0f0f0;
}
.admin table th:nth-child(2) {
	text-align: left;
}
.admin table td {
	vertical-align: text-top;
	padding: .5rem;
	cursor: pointer;
}
.admin table td input {
	cursor: pointer;
}
.admin table td.nameRow {
	width: 10rem;
}
.admin table td.dateRow {
	width: 7rem;
}
.admin .cellHeightLimit {
	max-height: 4rem;
	overflow-y: auto;
}
	/* Admin Forms */
.standardForm input[type=text], .standardForm input[type=email], .standardForm label, .standardForm input[type=date], .standardForm select, .standardForm textarea {
	display: block;
	font-size: 1rem;
	width: 30rem;
	height:auto;
	margin: 1rem 0;
	padding: .5rem .25rem;
	border: solid 1px #e0e0e0;
}
.standardForm input[type=text], .standardForm input[type=email] {
	height: 3rem;
}
.standardForm label {
	border: none;
}
.standardForm textarea {
	font-size: inherit;
	font-family: inherit;
	width:30rem;
}
.standardForm .checkbox {
	display: flex;
	flex-wrap: nowrap;
}
.standardForm .checkbox input {
	width: 3%;
	background-color: var(--primary-color);
}
.standardForm .checkbox p {
	margin-top: .75rem;
	margin-left: .5rem;
}
.submitButton {
	font-size: inherit;
	background-color: var(--primary-color);
	color: #fff;
	border: solid 1.5px var(--primary-color);
	cursor: pointer;
	width: 7rem;
	height: calc(7rem/3);
	margin-top: 1.5rem;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
}
.submitButton:hover {
	background-color: #fff;
	color: var(--primary-color);
	border: 2px solid var(--primary-color);
}
.admin table .tableButton {
	width: 3rem;
}
.admin table .tableButton input[type=submit] {
	width: 2.33rem;
	height:2.33rem;
	background-color: inherit;
	border: none;
	font-size: 1rem;
	color: #198754;
	font-weight: bold;
}
.admin table .tableButtonWide input[type=submit] {
	width: 4rem;
}
	/* Client page */
.clientTable td:first-child {
	width: 20%;
}
/* Home Page */
.admin .linkButton {
	margin: 0;
}
.grid-container {
	display:grid;
	width: 60%;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 1rem;
	margin: 0 auto;
}
.homeButton {
	position: absolute;
	top: 1rem;
	right: 1rem;
	font-size: 1.33rem;
	text-align: center;
	text-decoration: none;
	background-color: var(--primary-color);
	color: #fff;
	border: solid 1.5px var(--primary-color);
	cursor: pointer;
	width: 7rem;
	height: calc(7rem/3);
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px; 
}
/* Media Queries */
@media only screen and (min-width: 800px) {
	.tallImg {
		display: block;
		width: 20vw;
		height: auto;
		float: right;
	}
}
@media only screen and (max-width: 800px) {
	header {
		margin-top: 0;
	}
	header h1 {
		display:block;
		max-width: 100%;
		font-size: 3.5rem;
		margin-left: .33rem;
	}
	header h2 {
		display:block;
		max-width: 100%;
		font-size: calc(3.5rem / 3 * 2);
		text-align: right;
		margin-left:0;
		margin-right: 1rem;
	}
	header h1, header h2, .content .sectionHeading, .content .subHeading {
		text-align: center;
	}
	.container {
		margin:0;
	}
	p {
		margin-left: 1rem;
		margin-right: .75rem;
	}
	.topImg {
		width: 100vw;
		aspect-ratio: 2/1;
	}
	.narrowImg {
		width: 100%;
	}
	.standardForm {
		margin-left: 1rem;
	}
}
@media screen and (min-width: 1200px) {
	.tweedledum {
		max-width: 60%;
}
	.tweedledee {
		margin-top: 4rem;
		max-width:35%;	
		min-width: 35%;
		height: auto;
		border: 1px solid #909090;
		padding: 0 .75rem;
		font-size: 18px;
	}
}
@media screen and (min-width: 1400px) {
	body {
		margin: 0 5rem;
	}
	.container {
		margin: 2.5rem 0;
	}
	.tallImg {
		padding: 2rem;
		width: 25vw;
	}
}


/*
576px
768px
992px
1200px
1400px
*/