/* CSS STYLES FOR MAIN PAGE LAYOUT AND FORMATTING */


* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: calibri, sans-serif, arial;
	
}

body {
	background-color: #fff;
	font-size: 1.1rem;
}


/* Main header section contains the responsive nagivation menu */
.main-header {
	position: sticky; 
	top: 0;
/*	box-shadow: 4px 4px 10px #eff2f3; */
	z-index: 100;
}

.logo {
	font-size: 1.5rem;
	font-weight: bold;
}

.home-title {
	padding: 20px;
	max-width: 1200px;
	text-align: center;
	margin: 0 auto;
}

h1 {
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
}


.shaded-content {
	background-color: #eff2f3;
}

.main-image {
	width: 100%;
	margin: 0;
	border: 0;		
}




/* FULL PAGE WIDTH IMAGE TO BLEND SEAMLESSLY WITH SHADED BACKGROUND */
.main-image-shaded-background {
	width: 100%;
	margin: 0;
	border: 0;
	background-color: #eff2f3;
}

/* CONTENT BLOCK FOR EVEN GRID ARRANGED BOXES */
.content-block {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 20px;
	padding: 40px 10px;
}

/* STANDARD BORDERED WHITE BOX FOR TEXT CONTENT */	
.content-box {
	background-color:#fff;
	border: 1px solid;
	border-color: #eff2f3;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 4px 10px rgba(230, 100, 160, 0.1);
/*	transition: transform 0.2s ease-in-out;  */		
	margin: 10px 0 10px 0;
}

.content-box-shaded {
	background-color:#eff2f3;
	padding: 20px;		
	margin: 0;
	transition: all 0.4s ease;
	color: #000;
	
}

.content-box-shaded h3 {
		margin-bottom: 1rem;
		font-size: 1.4em;
}

.content-box-shaded p {
		margin-bottom: 1rem;
		font-size: 1.1rem;
}

.content-box-shaded:hover {
		background-color: #b0c4de;
		transition: all 0.4s ease;

}

/* CONTENT BLOCKS USE H2 FOR MAIN SECTION HEADING */
.content-block h2 {
	font-size: 2rem;
	color: #4682b4;
	text-align: left;
	
}

/* STANDARD BORDERED TEXT BOXES USE H3 FOR HEADINGS */
.content-box h3 {
	font-size: 1.2rem;
	color: #999999;
	margin-bottom: 0px;
}

.content-box p {
	
	color: #000;
	margin: 10px 0 10px 0;
}
    
.content-box:hover {
/*		transform: scale(1.02);  */
}


/* TEXT BOX WITH IMAGE THE FULL WIDTH AND ALIGNED TO TOP */	
.photo-box {
	max-width: 600px;	
	border: solid 1px #eff2f3;
	background-color: #fff;
	box-shadow: 0 5px 10px #e6e6e6;
/*	transition: transform 0.2s ease-in-out; */
	margin: 20px 10px;
}

/* PHOTO BOX IMAGE CONTAINER */
.photo-box-image {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* PHOTO BOX CAPTION/TEXT CONTAINER */
.photo-box-text {
	margin: 0;
	padding: 25px 15px;
}

/* PHOTO BOX TITLE USE H3 FOR HEADINGS */
.photo-box h3 {
	font-size: 1.4rem;
	color: #4682b4;
	margin-bottom: 10px;
}

.photo-box:hover {
/*		transform: scale(1.02); */ 
}



/* TEXT BOX WITH IMAGE THE FULL WIDTH AND ALIGNED TO TOP - STEEL BLUE */	
.photo-box-SB {
	max-width: 600px;	
/*	border: solid 1px #eff2f3; */
	background-color: #4682b4;
/*	box-shadow: 0 4px 10px #eff2f3; */
/*	transition: transform 0.2s ease-in-out; */
	margin: 20px 10px;
}

/* PHOTO BOX IMAGE CONTAINER */
.photo-box-SB-image {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* PHOTO BOX CAPTION/TEXT CONTAINER */
.photo-box-SB-text {
	margin: 0;
	padding: 15px;
	color: #fff;
}

/* PHOTO BOX TITLE USE H3 FOR HEADINGS */
.photo-box-SB h3 {
	font-size: 1.2rem;
	color: #fff;
	margin-bottom: 10px;
}




/* NARROW CONTENT BLOCK WITH VERTICAL SINGLE COLUMN DIV POSITIONING - USED FOR A SINGLE TEXT COLUMN WITH WHITESPACE*/
.content-block-narrow {
	max-width: 800px;
	margin: 0 auto;
	padding: 30px 10px 30px 10px;
	background-color: #fff;
}

/* LARGER UNBORDERED TEXT BOX USUALLY FOR PROMINENT PAGE INTRODUCTIONS OR LARGE TEXT SECTIONS - USE INSIDE CONTENT-BLOCK-NARROW FOR VERTICAL LAYOUT ON ALL SCREENS OR CONTENT-BLOCK FOR SIDE-BY-SIDE ON WIDER SCREENS*/
.intro-box {
	font-size: 1.5rem;
	color: #333;
	padding: 10px;
}

/* HEADER 2 APPEARANCE FOR LARGE TEXT INTRO BOXES */
.intro-box h2 {
	font-size: 3rem;
	color: #4682b4;
	text-align: center;
	border-bottom: 1px dotted #b0c4de;
}

/* LEFT ALIGNED HEADER 2 FOR INTRO BOXES */
.intro-box h2.left {
	font-size: 3rem;
	color: #4682b4;
	text-align: left;
	border-bottom: 1px dotted #b0c4de;
	margin-bottom: 2rem;
}


/* CONTAINER BLOCK FOR GRAPHIC ICONS */
.icons-block {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 20px;
	padding: 20px 10px;
}

/* LOGO AT THE BASE OF THE PAGE */
.baselogo {
	width: 150px;
}

/* LIST HEADER STYLE IS USED FOR FOOTER SITE MAP */
lh {
	font-weight:bold;
	font-size: 1.0rem;
}

/* PAGE BASE CONTENT */
.base {
	margin-top: 20px;
	padding: 30px;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	border-top: 1px solid #eff2f3;
}

.base-menu {
	list-style: none;
	font-size: 1.0rem;
}

.footnote-container {
	padding: 30px;
	margin: 30px;
	border-top: solid 1px #eff2f3;
}


/* TWIN PAGE COLUMNS RESPONSIVE AND MAINTAIN RATIO ON LARGE SCREEN - WIDE COLUMN ON LEFT STANDARD ~2:1 RATIO  */

/* Basic container setup */
.flex-container {
  display: flex;
  flex-wrap: wrap; /* Allows columns to wrap to the next line on mobile */
  gap: 20px;      /* Space between the columns */
  padding: 40px 10px 20px 10px;
  max-width: 1200px;
	margin: 0 auto;
}

/* Desktop First: Define widths for larger screens */
.flex-main-content {
  flex: 2; /* Takes 2 parts of the available space */
  min-width: 300px; /* Prevents it from getting too squished */
  background-color: #fff;
  padding: 10px;
  transition: all 0.3s ease; /* Smooth transition for resizing */
 
}

.flex-sidebar {
  flex: 1; /* Takes 1 part of the available space */
  min-width: 250px;
  min-height: 250px;
  background-color: #fff;
  padding: 10px;
  transition: all 0.3s ease;
  
}

/* Mobile Adjustment */
@media (max-width: 768px) {
  .flex-main-content, .flex-sidebar {
    flex: 1 1 100%; /* Force both to take up 100% width */
  }
}


/* TWIN PAGE COLUMNS RESPONSIVE AND MAINTAIN RATIO ON LARGE SCREEN - EQUAL COLUMS For IMAGE TEXT JUXTAPOSITION  */

/* Basic container setup */
.flex-container-even {
  display: flex;
  flex-wrap: wrap; /* Allows columns to wrap to the next line on mobile */
  gap: 20px;      /* Space between the columns */
  padding: 40px 10px 20px 10px;
  max-width: 1200px;
	margin: 0 auto;
}

/* Desktop First: Define widths for larger screens */
.flex-main-content-even {
  flex: 1; /* Takes 2 parts of the available space */
  min-width: 400px; /* Prevents it from getting too squished */
  background-color: #fff;
  padding: 10px;
  transition: all 0.3s ease; /* Smooth transition for resizing */
 
}

.flex-sidebar-even {
  flex: 1; /* Takes 1 part of the available space */
  min-width: 400px;
  min-height: 250px;
  background-color: #fff;
  padding: 10px;
  transition: all 0.3s ease;
  
}

/* Mobile Adjustment */
@media (max-width: 768px) {
  .flex-main-content-even, .flex-sidebar-even {
    flex: 1 1 100%; /* Force both to take up 100% width */
  }
}




/* TWIN PAGE COLUMNS RESPONSIVE AND MAINTAIN RATIO ON LARGE SCREEN - WIDE COLUMN ON LEFT STANDARD ~2:1 RATIO - COLOUR BLOCK BLUE */

/* Basic container setup */
.flex-container-steelblue {
  display: flex;
  flex-wrap: wrap; /* Allows columns to wrap to the next line on mobile */
  gap: 0px;      /* Space between the columns */
  padding: 0;
  margin: 2px 0;
 
	
}

/* Desktop First: Define widths for larger screens */
.flex-main-content-steelblue {
  flex: 2; /* Takes 2 parts of the available space */
  min-width: 300px; /* Prevents it from getting too squished */
  background-color: #4682b4;
  color: #fff;
  padding: 30px;
  transition: all 0.3s ease; /* Smooth transition for resizing */
  font-size: 1.4rem;
 
}


.flex-main-content-steelblue h3 {
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
}

.flex-sidebar-steelblue {
  flex: 1; /* Takes 1 part of the available space */
  min-width: 250px;
  min-height: 250px;
  background-color: #4682b4;
  padding: 0px;
  transition: all 0.3s ease;
  
  /* Background properties */
  	
		background-size: cover;      /* Scales image to fill container without distortion */
		background-position: left; /* Keeps the subject centered */
		background-repeat: no-repeat;
  
}

/* Mobile Adjustment */
@media (max-width: 768px) {
  .flex-main-content-steelblue, .flex-sidebar-steelblue {
    flex: 1 1 100%; /* Force both to take up 100% width */
  }
}

.text-box-steelblue {
	color: #fff;
	font-size: 1.5rem;
	padding: 20px;

}


/* STLYES FOR A TEXT BOX WITH BACKGROUND IMAGE */

.text-image-container {
	background-color: #eff2f3;

}

.text-image-content{

	padding: 20px;
	margin: 120px 0 0 0;
	background-color: rgba(0, 0, 0, 0.3);
	transition: all 0.4s ease;
}


.text-image-content:hover{

	padding: 20px;
	margin: 120px 0 0 0;
	background-color: rgba(0, 0, 0, 0.4);
	transition: all 0.4s ease;
}


.text-image-container h3{
	font-size: 2rem;
	color: #fff;
	margin-bottom: 1.0rem;
	
}

.text-image-container p{
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
}
