/* LFM Stylesheet */

html, body, ul, ol, li, p, h1, h2, h3, h4, h5, h6{
	margin: 0;
	padding: 0;
	border: 0;
	
	height: auto; /* Prevent stretching to viewport */
}

/* stops shorter pages from jumping when there is no scrollbar */
html { 
	min-height:100%; 
	margin-bottom:1px;
}

body {
	background-color: #666666; /*sets the body background colour  */
	background-image: url(images/background.gif); /*body background image */
	background-position: center; /*centres the background image */
	color: #333; /*default font colour on page*/
	font-family: Arial, Helvetica, sans-serif; /*default font on page*/
	font-size: 101%; /*default font size  set to 101% */
	margin: 0 auto;
	min-width: 786px;/*minimum width anything under you get scroll bars this prevents our page becoming smaller than the wrapper */
	padding: 0; /*padding set to zero */
	text-align: center; /* IE to make sure the layout is centred*/
}

#wrapper {
	background-color: #FFF; /*sets the background colour of our wrapper div to white */
	background-image: url(images/wrapper-background.gif);
	background-repeat: repeat-y;/* sets the wrapper padding to zero */
	margin: 0 auto;/* sets the wrapper margins to zero */
	padding: 0;/* sets the wrapper padding to zero */
	text-align: left; /* aligns the text to the left, see also the IE hack in the body where we align the text centre */
	width: 756px;
	border-bottom: 1px solid #474a6f;
	border-left: 1px solid #474a6f;
	border-right: 1px solid #474a6f;
	height: auto;
}

#logo {
	height: 60px;/*sets the height of the logo div*/
	background-image: url(images/topnavback.gif);/*the background image of the logo div*/
}

#topnav {
	width: 758px;/*sets the width for our top nav bar div*/
}

#topnav li {
	display: block;
	padding: 0;   /*padding set to zero */
	float: left;  /*positions the top nav to the left */
}

#topnav ul {
	height: 30px;     /*sets the height of the menu items */
	margin: 0;      /*margin set to zero */
	padding-left: 70px;   /*padding set to zero */
	padding-top: 10px;   /*padding set to zero */
	text-align: center;  /*aligns the link text centre */
}

#topnav ul li a {
	color: White;/*font colour for top nav text link */
	display: block;/* makes the links act like a button*/
	font-size: 0.8em;/*sets the font size */
	font-weight: bold;
	height: 15px;
	text-decoration: none;     /*removes the default underline*/
	width: 100px;      /*sets the width of the links  */
	padding-top: 10px;
}

#topnav ul li a:hover {
	color: White;
	display: block;    
	text-decoration: underline;
}

#topnav a:active {  
	color: #FFF;       /*sets the font color for the top nav state*/
	display: block;   /*displays block as to act like a button*/
}

#subNav { 
	list-style:none; 
	border-bottom: #CCCCCC solid 1px; 
	margin:10px 10px 20px 0px; 
	float:left; 
	width:520px; 
	z-index:1; 
	height:22px;
}
#subNav li {
	display: inline;
	overflow: hidden;
}
#subNav li  a, #subNav li.current  a{
	color: Black;
	text-decoration: none;
	font-size: 0.75em;
	font-weight: bold;
	background: #E2E2E2;
	padding: 0px 10px;
	border: #CCCCCC solid 1px;
	background: #E2E2E2;
	margin: 0 1px;
}
#subNav li a:hover { 
	background:#6b73c8;
	color: White;
}
#subNav li.current a{
	background: #9D4EE7;
	color: White;
	border: #694e83;
	/*border-bottom: 1px solid #FFFFFF */
}


#nav {
	background-image: url(images/logo.gif);
	background-repeat: no-repeat;
	float: left;
	margin-top: 10px;
	margin-right: 0px;
	padding-top: 220px;
	padding-left:10px; 
	width: 175px;   /*ensures the content is  placed below the logoleft divs*/
}

/*styling the right navigation*/
#nav ul {
	border-top: 1px solid White;  /*places a border on the top of the menu box*/
	font-size: 90%;   /*sets the font size for the right nav*/
	margin: 0;
	padding: 0;
	list-style-type: none;/*removes the list style*/
}

#nav ul li{
	border: 1px solid White; /*sets a border*/	
	border-width: 0 1px 1px 1px;/*sets the border width - none at top as we have already declared it on the ul element*/
	margin: 0;/*set the margin to zero*/		
	text-align: center
}

#nav a, 
#nav a:visited {
	color: #333333; /*font colour */
	display: block;   /*display set to block */
	padding: 6px;    /*gives a bit of space to our text from the block */
	text-decoration: none;    /*removes the default underline*/
	background-color: #b7a4dc;   /*background colour */
	height: 1%;   /* bug fix for IE to create the block hover effect */
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-weight: bold;
}

#nav a:hover {
	color: White;   /*hover font colour */
	background-color: #6b73c8;    /*hover background colour */
}

#nav a:active {
	color: White;
	background-color: #6b73c8;
}

#nav a:focus {
	color: #000;
	text-decoration: none;/*removes the default underline*/
	background-color: #A8A7CB;/*sets the background colour */
}
/* styles the current page navbar color */
#nav a.currentLink {
	background-color: #694e83;
	color: #FFFFFF;
}

#nav a.navIcon {
        background-color: transparent;  
	display: inline;   
}

#content {
	width: 756px;/* the content div is the same as our wrapper div and inside the content div we have placed the nav div and the contentright div*/
	clear: both; /* this is a clearer ; ensures the content is  placed below the logoleft and logoright divs*/
	
	overflow: auto; /* Contain child elements */
	min-height: 0; /* Prevent default min-height */
}

#content .contentright {
	float: right;
	margin-top: 4px;
	text-align: left;
	width: 554px;
	line-height: 120%;
	background-color: White;
	padding-top: 0;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
}

/*styles the black text portion in the headers */
.blacktext {
	color: black;
}

#content .contentright p {
	font-size: .9em;
	margin-bottom: 1em;
}

#content .contentright H1 {
	color: #4A33B7;
	font-size: 1em;
	margin-top:8px;
	margin-bottom: 8px;
	border-bottom: 1px dotted #4e5a8a; /*places a solid border under the H1*/
 }

#content .contentright H2 {
	color: #4A33B7;
	font-size: 0.9em;
	margin-top:6px;
	margin-bottom: 6px;
	border-bottom: 1px dotted #4e5a8a;   /*places a solid border under the H2*/
 }

#footer {
	color: #333333;           /*font colour for the footer div*/
	font-size: 70%;         /* font size*/
	text-align: center;      /*aligns the text centre*/
	width: 400px;           /*width of the footer div*/
    padding: 6px 0px 8px 0px;
	border-top: 1px dotted black;
	margin-left: 275px;
}

/* HEADING STYLES */
h1 {
	font-size: 100%;
}
h2 {
	font-size: 95%;
}

h3 {
	font-size: 85%;
}

	
	
/* DEFAULT LINK STYLES */
a:link{
	color: #9932CC;
	text-decoration: underline;/*removes the underline*/
}
a:visited{
	color: #9932CC;
}
a:hover{
	color: #333;
}
a:active{
	color: #333;
}

/* DIV HOLDING SMALL PIC ICONS BOTOTM OF PAGE */
#portcon {
	border-top: 1px dotted black;
	background-color: #FFFFFF;
	width:514px;
	
    margin-top: 0; /* Remove top margin */
    margin-left: 217px;
    padding: 4px;
    height: auto; /* Adjust to content */
	margin-top: 10px;
	margin-left: 217px;
	padding-left:4px;
	padding-right: 4px;
	padding-top: 10px; 
	height: 72px;    
	clear: both;  /* clears the floated div */
}

/* GIVES THE ICONS A BORDER */
#portcon a img {
	border: 2px solid #4A33B7;
}

/* form styles */
form {
	margin:0;
	padding:0;
}

.formfields {
	background-color: #FFFFA4;
	margin-left: 0px;
	font-size: 0.9em;
	line-height: 1.0em;
	padding-top: 10px;
	padding-left: 10px;
	padding-bottom: 5px;
}

input.txt{
	background-color: White;
/*	float: left;
	border: 1px solid #86869d;
	margin: 4px;  */
}

select.txt{
/*	float: left;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color: White;
	border: 1px solid #86869d;
	margin: 4px;  */
}

/* STYLES THE SUBMIT BUTTON */
input.btn {
	border: 1px solid #86869d;
	background-color: #ebeafa;
	color: #000000;
	margin-left: 130px;  /* set margin so it sits under the input fields */
}

form p {
	clear: left;
	margin:0;
	padding: 0;
	padding-top: 5px;
}

form p label{
	color:#333333;
	float: left;
	width: 30%;
	font: bold 0.9em Arial, Helvectica, sans-serif;
}

/* comments area */
form p textarea {
	float: left;
/*	background-color: #ebeafa; */
	background-color: White;
	border: 1px solid #86869d;
	margin: 4px;
	font: bold 0.9em Arial, Helvectica, sans-serif;
}

fieldset {
	padding:30px;
	border: 1px solid #c9c7e9;
	margin-bottom: 15px;
}

legend {
	font: bold 1.0em Arial, Helvectica, sans-serif;
	color: #4A33B7;
	background-color: #FFF;
}

/* STYLES THE FOCUS ON THE INPUT FIELDS */
form p textarea:focus, form p input:focus, form p select:focus {
	background-color: #FFFFFF;
	color: #000000;
	}

/* END FORM STYLES */


/* Min */
.clear {clear:both;}

#image {
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: -10px;
}

#specialpreview {
    min-height: 0; /* Override any default min-height */
    margin: 0;
    padding: 0;
    /* Add specific styling if defined elsewhere */
}

.navtext {
	margin: 0; 
	padding: 2px;
	font-size:12px; 
	font-weight: bold;
	text-align: center;
	line-height: 12px; 
	color:#333333; 
}

.navphone {
	margin: 0; 
	padding: 2px;
	font-size:13px; 
	font-weight: bold;
	text-align: center;
	line-height: 13px; 
	color:#333333; 
}

table {
	border: 0;
	padding: 0;
}

.tbltext {
	margin: 0; 
	padding: 2px;
	font-size:0.8em; 
/*	font-weight: bold;  */
	line-height: 1.0em; 
	color:#333333; 
}

#tablephoto {
	border: 0;
	width: 555px;
}

#tablephoto .tabletxt {
	font-size: 0.9em;
}

.caldaytxt {
	font-size: 0.8em;
	line-height: 1.1em; 
}

.calmontxt {
	font-size: 1.1em;	
	font-weight: bold;
	line-height: 1.2em; 
}

.lglist {
	margin-left:40px; 
	font-size: 0.9em;
	line-height: 1.1em; 
}

.mdlist {
	margin-left:40px; 
	font-size: 0.85em;
	line-height: 1.1em; 
}

.smlist {
	margin-left:20px; 
	font-size: 0.75em;
	line-height: 1.0em; 
}

* Privacy Banner - Top of Content - Wider and Shorter */
.privacy-banner-top {
    background-color: #dffacd; /* Light yellow background */
    color: #2c3e50;
    padding: 12px 30px; /* Less top/bottom padding, more side padding */
    text-align: center;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    margin: 15px 0px 15px 0px; /* No side margins for maximum width */
    font-size: 14px;
    line-height: 1.3; /* Tighter line spacing */
    position: relative;
    width: 100%; /* Full width */
    max-width: 554px; /* Even wider maximum */
    box-sizing: border-box;
}

.privacy-banner-top p {
    margin: 0 0 8px 0; /* Less space before buttons */
    padding: 0;
}

.privacy-banner-top button {
    background-color: #8e44ad; /* Purple color matching site */
    color: white;
    border: none;
    padding: 6px 12px;
    margin: 0 5px; 
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
}

.privacy-banner-top button:hover {
    background-color: #6b73c8; /* Lighter purple on hover */
}

.privacy-banner-top a {
    color: #9932CC; /* Your website's default purple color */
    text-decoration: underline;
}

.privacy-banner-top a:hover {
    color: #333;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .privacy-banner-top {
        font-size: 12px;
        padding: 10px 20px;
        width: calc(100% - 10px);
    }
    
    .privacy-banner-top button {
        padding: 5px 10px;
        font-size: 12px;
        margin: 5px 3px 0 3px;
    }
}