@charset "UTF-8";

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v16/ieVl2ZhZI2eCN5jzbjEETS9weq8-19K7DQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	scroll-behavior: smooth;
	
	--optc-red: #72001a; 
	--optc-red-lt: #b9808d;
	--optc-yellow: #ffad00; 
	--optc-yellow-mid:#ffce66;
	--optc-yellow-ltr: #fff6ea;	
	--optc-yellow-lt: #ffefcc;
	
	--bluegrey: #435363;
	--grey-dk:  #333333 ;
	--grey-mid: #777777 ;
	--grey-lt:  #d9d9d9 ;
	--grey-lt1: #f0f0f0 ;
	
	--ta-bluegrey: #435363; 
	--ta-bluegrey-mid: #a1a9b1;
	--ta-bluegrey-lt: #e3e5e8;
}

/* for screen width <400px */

*, 
*:before, 
*:after {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
}

html, body {
  	width: 100%;
  	height: 100%;
  	font-family: 'Roboto', sans-serif;
 /* overflow-x: hidden; */
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	-ms-text-size-adjust: none;
	-moz-text-size-adjust: none;	
}

body {
  	background-color: white;  
  	font-size: 18px;
	line-height: 1.6;
  	color: #333;
}

h1 {
	color: var(--optc-yellow);
	font-family: 'Roboto Condensed', "sans-serif";
	font-weight: bold;
	font-size: 2.5em;
	padding: 10px 0 15px;
	text-align: center;
	}

h2, h3 {
	color: var(--optc-yellow);
	text-align: left;
	font-weight: 500;
}

.facilities h2 {
	text-align: center;
	font-size: 1.9em;
}
.adults-text h2 {
	font-size: 1.9em;
}
.introIndex h2, .intro h2 {
	padding: 0;
	font-family: 'Roboto', sans-serif;
	color: var(--optc-yellow);
	text-align: center;
	font-size: 2.1em;
	font-weight: bold;
}

.introIndex h3 {
	font-family: 'Roboto Condensed', sans-serif;
	color: var(--optc-yellow);
	text-align: center;
	font-size: 1.8em;
	font-weight: 500;
}

h3.committee {
	color: var(--optc-red);
}
.intro h3 {
	text-align: center;
}
.history h4 {
	padding: 25px 0 7px;
	font-weight: bold;
}
h3.sponsors {
color: var(--optc-red); 
padding-bottom: 30px;
text-align: center;
}
.history h4:first-of-type {
	padding-top: 0;
}
.committee h4 {
	color: var(--optc-red);
	font-weight: bold;
	font-size: 1.2em;
}
.patron h4 {
	color: var(--optc-yellow);
	padding-top: 20px;
	text-align: left;
}

p {
  margin: 0.9em 0;
  line-height: 1.5;
}
p.smallprint {
	font-size: 0.8em;
}

ol, ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

a.link-yellow {
	text-decoration: none;
	color: var(--optc-yellow);
}
a.link-red {
	text-decoration: none;
	color: var(--optc-red);
	font-weight: 500;
}
a.btn {
	border-radius: 16px;
	background-color: var(--optc-red);
    border: 2px solid var(--optc-red);
    color: white;
    padding: 8px 16px;
    text-align: center;
    text-decoration: none;
    font-size: 18px;	
}
a.btn:hover {
	background-color: grey;      /*fallback for IE which doesn't support CSS variables*/
    background-color: var(--bluegrey);
	border: 2px solid var(--bluegrey);
    color: white;
	cursor: pointer;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	display: block;
}

hr {
	height:1px; 
	border-width:0; 
	color:lightgrey; 
	background-color: lightgrey; 
	width: 80%; 
	margin-left: auto; 
	margin-right: auto;
}

a.btn {
	border-radius: 16px;
	background-color: var(--optc-yellow);
    border: 2px solid var(--optc-yellow);
    color: white;
    padding: 8px 16px;
    text-align: center;
    text-decoration: none;
    font-size: 18px;	
}
a.btn:hover {
	background-color: grey;      /*fallback for IE which doesn't support CSS variables*/
    background-color: var(--bluegrey);
	border: 2px solid var(--bluegrey);
    color: var(--optc-yellow);
	cursor: pointer;
}

.banner-container a.btn {
	display: block;
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translate(-50%, 0);
	font-family: Roboto, "sans-serif";
	background-color: var(--optc-red);
	color: white;
	font-weight: 500;
	font-size: 16px;
	border: none;
	border-radius: 5px;
    padding: 10px 25px;
	opacity: 1;
}

.banner-container a.btn:hover {
	background-color: #333;
	color: white;
}

.row {
	display: flex;
	flex-direction: row;	
	flex-wrap: wrap;
	justify-content: center;	
}

.col {
	padding: 0px;
	height: auto;     
	margin: 10px;
	background-color: white;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;   /*flex-dir column means justify refers to vertical direction*/												
}

.banner-container {
  	position: relative;
 	margin: 0px;
}

.banner-with-text {
  	position: relative;
  	text-align: center;
  	color: white;
}

.centred-text-high, .centred-subtext, .centred-text{
	display: none;
	position: absolute;
	width: 100%;
	padding: 0;
	margin: 0;
	top: 45%;
 	left: 50%;
 	transform: translate(-50%, -50%);
	color: white;
	font-family: 'Roboto', 'sans-serif';
	font-weight: 500;
	font-size: 3.5em;
}
.centred-text {
	top: 50%;
	font-size: 4.5em;
}
.centred-subtext {
	top: 65%;
	font-weight: normal;
	letter-spacing: 0.05em;
	font-size: 2em;
}

section.introIndex, section.intro {
	padding: 20px 30px 30px;
	}
section.intro.committee {
	padding-bottom: 0;
}
.introIndex p {
	text-align: center;
	padding: 30px 0;
	margin: 0 auto;
	font-size: 1.1em;
	line-height: 1.8em;
	}
.intro p {
	font-size: 1.1em;
}

.page-content {
	padding: 0 20px 40px;
}

.row.facilities, .row.adults, .row.awards {
	margin: 0;	
	padding: 0;
	background-color: var(--optc-red);
	color: white;
	font-size: 1.1em;
}
.row.adults .link-ad {
	color: var(--optc-yellow);
	font-weight: bold;
}
.row.facilities:nth-child(even), .row.adults:nth-child(even), .row.awards:nth-child(even) {
	background-color: var(--optc-yellow-lt);
	color: #333;
}
.row.facilities:nth-child(even) h2, .row.adults:nth-child(even) h2, .row.awards:nth-child(even) h3 {
	color: var(--optc-red);
	font-weight: bold;
}
.row.adults:nth-child(even) .link-ad {
	color: var(--optc-red);
	font-weight: bold;
}
.facilities-text, .awards-text {
	padding: 40px 30px;
	text-align: center;
	}
.facilities-text h3 {
	font-size: 1.3em;	
	font-weight: bold;
}
.awards-text.club h3, .awards-text.volunteer h3 {
	color: var(--optc-yellow);
	font-size: 1.4em;
	font-weight: bold;
}
.adults-text {
	padding: 40px 30px;
	text-align: left;
}
p.gap {
	height: 7px;
}

section.photo-buttons {
	background-color: var(--optc-yellow-lt);	
}
section.photo-buttons.news{
	background-color: var(--grey-lt);	
}
.photo-buttons h2, .photo-buttons h3, .awards h3 {
	color: #666;
	text-align: center;
	font-family: 'Roboto Condensed', "sans-serif";
	font-size: 3em;
	font-weight: 500;
	padding: 20px 0 0 0 ;
}
.photo-buttons.news h2 {
	color: var(--optc-red);
}
.photo-buttons h3 {
	font-size: 2em;
	color: var(--optc-red);
}

.awards h3 {
	font-size: 2em;
	color: #333;
	padding-bottom: 20px;
}
.row.photo-buttons {
	justify-content: center;
	padding: 0 0 40px 0;
	margin: 0;
}

.col.photo-button {
	display: block;
	position: relative;
	min-width: 250px;
	max-width: 260px;
	text-align: center;
	color: white;
	font-size: 2em;
	font-weight: bold;
	margin: 30px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.3), 0 6px 20px 0 rgba(0, 0, 0, 0.27);
	border-radius: 20px;
}
.col.photo-button.media {
	color: #333;
	font-size: 0.8em;
	border-radius: 10px;
	font-weight: bold;
}

.ph-button-text {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: bold;
	padding: none;
	position: absolute;
	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);
}
.photo-button {
	position: relative;
}

.photo-button img {	
	opacity: 0.8;
	border-radius: 20px;
}
.photo-button.media img {
	border-radius: 10px 10px 0 0;
}

.photo-button img:hover {
	opacity: 1;	
}

.row.info {
	margin: 0 0 50px 0;
	padding: 30px 0 0 0 ;
	justify-content: center;
}
.col.info {
	flex: 1;
	justify-content: space-evenly;
	align-items: center;
	min-width: 250px;
	max-width: 260px;
	height: 200px;
	margin: 30px;
	background-color: var(--ta-bluegrey-mid);
	color: var(--optc-red);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.3), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	border-radius: 15px;
}
.col.info div {
	text-align: center;
	padding: 0 20px;
	font-size: 17px;
}
.col.info h3 {
	text-align: center;
	font-size: 1.6em;
}
.col.info a {
	width: 100%;
	height: 100%;
}
.col.info a:hover {
	background-color: var(--bluegrey);
	border-radius: 15px;
	color: var(--optc-yellow)
}
.info-icon {
	height: 20px; 
	width: auto; 
	margin: 20px auto 5px;
}

.row.sponsors {
	align-items: center;
	padding: 0px;
	margin: 0;
}
.col.sponsors {
	padding: 10px 20px 0;
	background-color: white;
	max-width: 250px;
}
.col.partners {
	padding: 0px 20px;
	background-color: white;
	max-width: 300px;
}
.row.shellabears {
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	padding: 0;
}
.col.shellabears {
	align-items: flex-start;
}

.calendar tr {
	vertical-align: top;
}
td.calendar-date {
	padding: 0px 20px 10px 0; 
	min-width: 150px;
}
	
td.calendar-event {
	padding: 0 0 10px 0;
}

/*.row.events {
	justify-content: center;
}
.col.events {
	margin-bottom: 50px;
	flex: none;
}*/

/*.events img {
	height: 300px; 
	width: auto; 
	border: 1px solid var(--grey-lt);
}*/
img.soc-event {
	height: 300px; 
	width: auto; 
	max-width: 100%;
	border: 1px solid var(--grey-lt);
	margin: 20px;
}

.tf img {
	max-width: 60%;
	margin: 20px auto 40px;
}

.coaching-logo {
	order: 2;
}
.coaching-text {
	order: 1;
}

.map {
	width: 100%;
	height: 400px;
}

.sft1 {
	font-size: 1.3em;
	color: var(--optc-yellow);
	font-weight: bold;
	text-align: center;
}
.sft3 {
	font-size: 0.8em;
	color: black;
}

footer {
	background-color: maroon;      /*fallback for IE which doesn't support CSS variables*/
	background-color: var(--optc-red);
	margin: 0;
	padding: 0px;
}

footer .col {
	background-color: maroon;      /*fallback for IE which doesn't support CSS variables*/
	background-color: var(--optc-red);
	color: white;
	padding: 0px 0px 25px 15px;
	display: inline-block;
	text-align: left;
}

.row.footer-menu {
	margin: 0 ;
	padding-top: 20px;
	justify-content: flex-start;
}

.footer-menu h4 {
	color: var(--optc-yellow);
}

div.col.footer-info, div.col.footer-quicklinks, div.col.footer-contact {
	min-width: 300px;
	padding: 0 25px 30px 25px;
}
.footer-info h4, .footer-quicklinks h4, .footer-contact h4 {
	font-size: 18px;
	padding-bottom: 5px;
}
.footer-info li, .footer-quicklinks li  {
	padding: 8px 0 0 0;
}
.footer-contact li {	
	padding: 10px 0;
}
.footer-info li:first-child, .footer-quicklinks li:first-child, .footer-contact li:first-child {
	padding-top: 10px;
}

.footer-quicklinks a:hover, .footer-contact a:hover {
	color: var(--optc-yellow);
}

img.email {
	height:16px;
	width: auto;
	padding-right: 12px;
}
.footer-contact li a img {
	height: 25px; 
	width: auto;
	padding: 0px;
}
.footer-contact li a img:hover {
	opacity: 60%;
}
.row.social-media {
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	padding: 0px;
}
.row.social-media div {
	padding-right: 25px;
}
.footer-copyright {	
	padding: 20px 0px 0px 0px;
	font-size: 12px;	
}

td.contact-icon {
	padding-right: 10px;
}
td.contact-icon img {
	min-width: 20px;
	max-width: 20px;
	height: auto;
}

td.contact-table {
	padding: 50px 0 15px;
	color: var(--optc-yellow);
	font-weight: 500;
	font-size: 1.2em;
}
td.contact-table.one {
	padding-top: 20px;
}
.locn-map {
	width: 100%; 
	height: 600px; 
	margin: 40px auto 40px auto; 
	border: 0;
}

h3.committee {
	color: var(--optc-red);
	text-align: center;
	font-size: 1.8em;
	padding-bottom: 40px;
}

.col.committee {
	align-items: center;
	min-width: 350px;
	padding-bottom: 15px;
}
	img.mpio {
		width: 300px; 
		height: auto; 
		padding: 0;
	}


/*table.sponsors {
	width: 100%;
}*/
/*.sponsors td {
	vertical-align: top;
	height: 150px;
	width: 100px;
	padding-left: 20px;
}
.sponsors tr {
	margin-bottom: 100px;
}*/

/*.membership-table td {
	font-size: 14px;
	vertical-align: top;
	padding: 0 10px;
}*/

/*screen width 400-500px*/
@media screen and (min-width: 400px) {
	
	.introIndex p {	
		padding: 40px 15% 50px;
	}
	.intro p {
		padding: 0 5%;
		font-size: 1em;
	}

	.col.committee {
		align-items: flex-start;
		min-width: 300px;
		max-width: 350px;
	}
	.intro.committee h2 {
	font-size: 2.5em;
	}
}

/* screen width 500px-600px */
@media screen and (min-width: 500px) {
	section.intro {
	padding: 30px 30px 60px;
	}
	.row.facilities, .row.awards {
		margin-bottom: 20px;
	}
	.facilities-pic, .awards-pic {
		margin-top: 20px;
		max-width: 50%;
	}
	.facilities-text, .awards-text {
		padding-left: 80px;
		padding-right: 80px;
	}
	.adults-text {
		font-size: 18px;
	}
	
	.tf img {
	width: 30%;
	}
	
	td.contact-icon img {
	height: 30px;
	width: auto;
	}
	
	p.sft2 {
	font-size: 1.5em ;
}
}

/*screen width 600px-720px*/
@media screen and (min-width: 600px) {

	.page-content {
	padding: 0 50px 70px;
	}
	.row {
		flex-direction: row;	
		flex-wrap: wrap;
		justify-content: center;
		padding: 0px 15px;
		}	
	
	.col {
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
		}	
	
	.row.facilities, .row.awards{
		flex-wrap: nowrap;
		align-items: center;
		padding: 0;
		margin: 0;
	}
	.facilities-text, .awards-text {
		flex: 1;
		padding: 30px 40px 30px 0;
		min-width: 30%;
		max-width: 50%;
	}
	.facilities-pic, .awards-pic {
		flex: none; 
		max-width: 30%;
		margin-top: 0;
		padding: 0 ;
	}
	.row.facilities:nth-child(odd) .facilities-text, .row.awards:nth-child(odd) .awards-text {
		order: 1;
	}
	.row.facilities:nth-child(odd) .facilities-pic, .row.awards:nth-child(odd) .awards-pic {
		order: 2;
	}
	.row.facilities:nth-child(even) .facilities-text, .row.awards:nth-child(even) .awards-text {
		padding: 30px 0 30px 30px;
	}
	
	.awards-pic.volunteer.tw {
		display: none;
	}
	.awards-pic {
		margin-top: 200px;
		margin-bottom: auto;
	}
	
	.row.photo-gallery {
		flex-direction: row;
		margin: 0px 0px 100px;
	}	
	.photo-gallery img {
		margin: 0px 10px 20px 10px;
		height: 300px;
		width: auto;
		max-width: 100%;
		box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
		border-radius: 5px;
	}
	
	.footer-info li, .footer-quicklinks li  {
		padding: 5px 0 0 0;
	}

	/*table.sponsors {
		width: 70%;
		margin: 0 auto;
		}*/
	.membership-table td {
	font-size: 18px;
	}
}

/*screen width 790px-890px*/
@media screen and (min-width: 790px) {
	
	h2 {
	font-size: 1.9em;
	}
	
	footer .col {
		font-size: 15px;
	}	
/*	.row.events {
	justify-content: space-between;
	}*/
	img.mpio {
		width: 300px; 
		height: auto; 
		padding: 70px 0px 0px 30px;
	}
}

/* screen width 890px-1200px */
@media screen and (min-width: 890px) {
	
	.centred-text-high, .centred-subtext, .centred-text {
		display: block;
	}
	.introIndex h2, .intro h2, .introIndex h3 {
		display: none;
	}
	.intro h3 {
		font-size: 2em;;
	}
	section.intro {
		padding: 50px 15%;
	}
	section.intro.contactus {
		padding: 0px 50px 40px;
	}
	.intro p {
		text-align: center;
		padding: 0;
	}
	.intro.tf p, .intro.visitors p {
		text-align: justify;
	}
	h3.committee {
		padding-top: 0px;
		padding-bottom: 40px;
	}
	.awards-text.club h3 {
	font-size: 1.5em;	
}
	.row.adults {
		flex-wrap: nowrap;
		align-items: flex-start;
		padding: 0;
		margin: 0;
	}
	.adults-text {
		flex: 1;
		padding: 30px 60px 30px 0;
		min-width: 30%;
		max-width: 55%;
	}
	.adults-pic, .juniors-pic {
		flex: none; 
		max-width: 30%;
		margin-top: 85px;
		padding: 0 ;
	}
	.adults-pic.coaching, .juniors-pic.coaching {
		margin-top: 30px;
		padding-bottom: 30px;
	}
	.adults-text {
		order: 1;
	}
	.adults-pic, .juniors-pic {
		order: 2;
	}
	.row.facilities , .row.awards {
		padding: 0 20px;
		margin: 0 auto;
		font-size: 1em;
	}
	.facilities-pic, .awards-pic {
		max-width: 30%;
		padding: 30px 0;
	}

	p.gap {
		display: none;
	}
	table.contact-table, table.calendar {
	margin-left: 100px;
	}
	
	.tf img {
	width: 35%;
	margin: 0 auto 20px;
	}
	.coaching-logo {
	order: 1;
	}
	.coaching-text {
	order: 2;
	}
	.awards-pic {
		margin-top: 100px;
		margin-bottom: auto;
	}
}


@media screen and (min-width: 1000px) {

	.introIndex p {	
		padding: 50px 20% 50px;
	}
	.juniors-pic.tournaments {
		margin-top: 30px;
		padding-bottom: 30px;
	}
/*	.row.events {
	margin-left: 5%;
	margin-right: 5%;
	}*/
	
	h3.sponsors {
	text-align: left;
	margin-left: 140px;
	}
}


@media screen and (min-width: 1200px) {
	
	.introIndex p {	
		padding: 50px 25% 50px;
	}
	section.intro {
		padding: 40px 20%;
	}
	section.intro.join {
		padding: 50px 10%;
	}
	.facilities-text, .adults-text {
		max-width: 55%;
	}
	.facilities-pic, .adults-pic, .juniors-pic, .awards-pic {
		max-width: 25%;
	}

}

@media screen and (min-width: 1440px) {
	
	.centred-text-high {
	font-size: 5.5em;
	}
	.col.photo-button, .col.info {
	max-width: 350px;
	height: auto;
	}
	.col.photo-button {
	font-size: 2.5em;	
	}
	.col.info div {
	padding: 30px;
	font-size: 1.3em;
	}
	.col.info h3 {
	font-size: 2.2em;
	}
	.info-icon {
	height: 30px; 
}
	
}