/*
@import url('https://fonts.googleapis.com/css?family=Lato:100,300,400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Sacramento');
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --fixedtopbgcolor     : #3c3731;  /* headers and footers background */
    --footerbgcolor       : #3c3731;
    --footertextcolor     : white;
    
    --sitewidebgcolor     : #ffffff;
    --maintextcolor       : #606060;  
    --mainbgcolor     : white;

    --datapage-h2-color          : #37371c;
    --datapage-p-color          : #484848;
    
    --site-brand            : #ffd229;
    --top-phone-numbers         : var(--site-brand);
    --top-phone-numbers-hovered : white;
    
    --site-radius  : 0px;
}

.white-text { color : white; }
.white-background { background-color : white; }
.white-trans-background { background-color : rgba(255,255,255,.88); }

.black-text { color : black; }
.black-background { background-color : black; }


/* Set root element font size */
html {
	font-size: 15px;
}

/* Body global settings */
body {

/*    background-image : url('/images/backgrounds/bg2sm.png'); 
    background-attachment: fixed; */
    background-color : var(--sitewidebgcolor);
    font-family: 'Raleway', sans-serif;
	-webkit-font-smoothing: antialiased; 
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
	font-smooth: always;
	font-smoothing: antialiased;
	padding-top : 46px;
	overflow-x : hidden;
	opacity : 1;
    transition : opacity 2s;
    -webkit-transition : opacity 2s;	
}
HR {margin-bottom : 40px;}

UL { list-style : none; }

H1, H2
{
	display : inline;
	margin : none;
	padding : none;
	border : none;
}


.bg-white
{
	background-color : white;
}

/* WEBSITE SPECIFIC FORMATTING SECTION */

.gallery-wrapper {
	border : 1px solid #d1d1d1; 
	border-radius : 0px; 
	padding : 20px;
	text-align : center;
	background-color : #e1e1e1;
}


.gallery-descriptor {
	border : 1px solid #f0f0f0; 
	border-radius : 0px; 
	padding : 20px 10px 20px 10px;
	text-align : center;
	margin : 15px 15px 15px 15px;
	background-color : #fbfbfb;
	font-size : 1.2rem;
	font-weight : 400;
}

.gallery-image-wrapper {
	display : inline-block;
	border-radius : 0px;
	margin : 15px 15px 15px 15px;
	overflow : hidden;
	border : 5px solid #f8f8f8;
	transition : border .4s;

}

.gallery-image-wrapper:hover 
{
	border : 5px solid #589fd5;
}


.datapage-h2
{
	display : inline-block;
	font-size : 1.7rem;
    font-weight : 600;
    color : var(--datapage-h2-color);
	margin : 0px 0px 8px 0px;
	padding : 0px;
/*	text-shadow : 1px 1px 1px #939393; */
	
}


.datapage-h2-for-block-of-3
{
	display : inline-block;
	font-size : 1.3rem;
    font-weight : 600;
    color : var(--datapage-h2-color);
	margin : 24px 4px 14px 4px;
	padding : 0px;
/*	text-shadow : 1px 1px 1px #939393; */
	
}
.datapage-block-of-3-background
{
	background-color : #f7f8fb;
	padding : 8px;
}

.datapage-img-for-block-of-3
{
	max-width : 80%;
	border : 2px solid var(--site-brand);
	margin : 30px auto 30px auto;
	
}
.datapage-p-for-block-of-3
{
	display : inline-block;	
	font-size : 1.1rem;
    font-weight : 400;
    color : var(--datapage-p-color);
	margin : 8px 8px 8px 8px;
	padding : 0px;
    text-align : left;	
}

.datapage-lhh3
{
	display : inline-block;	
	font-size : 1.2rem;
    font-weight : 500;
    color : var(--datapage-p-color);
	margin : 20px 20px 5px 20px;
	padding : 0px;
    text-align : left;	
}

.datapage-li {
  list-style-type: square;
}

.datapage-p
{
	display : inline-block;	
	font-size : 1.15rem;
    font-weight : 400;
    color : var(--datapage-p-color);
	margin : 20px 20px 35px 20px;
	padding : 0px;
    text-align : left;	
}


.datapage-intro-p
{
	display : inline-block;
	font-size : 1.2rem;
    font-weight : 400;
    color : var(--datapage-p-color);
	margin : 20px 20px 30px 20px;
	padding : 0px;
    text-align : left;	
}
.datapage-img 
{
	width : 100%;
	border : 2px solid var(--site-brand);
	margin-bottom : 10px;
}

.datapage-text-wrapper
{
	background-color : white;
	margin : 0px;
	padding : 40px;
	border : 2px solid var(--site-brand);
}

.alt-font
{
    font-family: 'Architects Daughter', cursive;
}

.map-background
{
    background-image: url('/siteimages/cloud-background.jpg');
    background-size : 100vw 100vh;
}



a, a:hover, a:visited, a:link, a:active {
    text-decoration: none;
}

.phone-number-links
{
	font-family: 'Montserrat', sans-serif;
	color : var(--top-phone-numbers);

}
.phone-number-links:hover
{
	font-family: 'Montserrat', sans-serif;
	color : var(--top-phone-numbers-hovered);

}

.phone-number-links-no-shadow
{
	font-family: 'Montserrat', sans-serif;
	color : var(--top-phone-numbers);
}
.phone-number-links-no-shadow:hover
{
	font-family: 'Montserrat', sans-serif;
	color : var(--site-brand);
}


.must-complete
{
	display : none;
}


.tick-styling
{
	margin-right : 20px;
	min-height : 30px;
}

.img-cover
{
	width : 100%;
	height : 100%;
	min-height : 335px;
	object-fit : cover;
}

.main-button
{
	display : inline-block;
	position : absolute;
	right : 20px;
    bottom : 20px;
    background-color : rgba(0,0,0,.4);
    padding : 4px 4px 4px 4px; 
    width : 230px;
    text-align : left;
	transition : background-color .3s;
	border : 2px solid #ffffff;
	border-radius : 2px 2px 2px 2px;
}


.main-button-text
{
	display : inline-block;
	width : 100%;
	font-size : 1.2rem;
	font-weight : 300;
    background-color : rgba(255, 255, 255, .95);
	color : #6f6f6f;
    padding : 6px 8px 10px 0px; 
    text-align : center;
	transition : background-color .3s;
	border-radius : 2px 2px 2px 2px;
}


.main-button-text:hover
{
    background-color : rgba(52, 73, 94,.8);
	color : white;
	cursor : pointer;
	border : 1px 0px 1px 1px solid #002d42;
}


.top-img-gray
{
	opacity : 1;
}


.top-image-overlay
{
	display : block;
	position : absolute;
	left : 0px;
    right : 0px;
    bottom : 0%;
    height : 50%;
    width : 100%;
/*    background-color : rgba(0, 0, 0,.4); */
  background-image: linear-gradient(to left, rgba(0,0,0,.1), rgba(0,0,0,.8));    
    padding : 40px 0px 20px 0px;
}


.top-image-overlay-padding
{
	padding : 0px 14px;
}


.top-image-overlay-text-h1
{
	display : block;
	font-size : 2.9rem;
	font-weight : 700;
	color : white;
    text-align : left;
    margin-top : 4px;
    text-shadow : 2px 2px 4px black;
}


.top-image-overlay-text-right-standard
{
	display : block;
	font-size : 2.8rem;
	font-weight : 700;
	color : #ffffff;
	text-align : right;
	margin-bottom : 5px;
    text-shadow : 2px 2px 4px black;	

}


.top-image-overlay-text-left-colored
{
	display : block;
	font-size : 2rem;
	font-weight : 700;
    text-align : left;
    margin-top : 10px;
}

.top-image-overlay-text-right-colored
{
	display : block;
	font-size : 2.5rem;
	font-weight : 700;
	text-align : right;
	margin-bottom : 0px;
}



.width-push
{
	display : block;
    padding : 0px 270px 0px 270px; 
}

.no-border
{
	border : none;
	border-radius : 0;
}

.no-margin
{
	margin : 0px;
}

.no-padding
{
	padding : 0px;
}

.no-edge
{
	display : block;
	width : 100%;
    overflow : hidden;
	margin: 0px;
	padding: 0px;
}

.white-text-shadow 
{
	text-shadow: 1px 1px #c0c0c0;
}


.box-shadow
{
-webkit-box-shadow: 3px 3px 7px -1px rgba(173,170,173,1);
-moz-box-shadow: 3px 3px 7px -1px rgba(173,170,173,1);
box-shadow: 3px 3px 7px -1px rgba(173,170,173,1);
}


.site-fixed-top
{
  position: fixed;
  position: -webkit-fixed;
  top: 0;
  left: 0;
  width : 100%;
  min-width : 220px;  
  z-index : 100;
  height : 45px;
  max-height : 45px;
  vertical-align : bottom;
  
}

.site-fixed-top-menu-area-wrapper  /* tick */
{
	display : inline-block;
	width : 100%;
	background-color : var(--fixedtopbgcolor);
	  height : 45px;
  max-height : 45px;
}

.site-fixed-top-menu-area  /* tick */
{
    float : right;
	display : block;
    vertical-align : bottom;
    height : 45px;
    max-height : 45px;
}

.site-fixed-top-logo-area   /* tick */
{
    position : fixed;
    position: -webkit-fixed;
    top: 0;
    left: 0;
    z-index : 100;
}



.site-logo 
{
    position : fixed;
    position: -webkit-fixed;    
	top : 0;
	left : 0;
	margin : 10px 10px 10px 10px;
	max-height : 120px;
	border : 2px solid var(--site-brand);
	z-index : 105;
}

.site-logo-in-footer
{
    margin : 0px;
    max-height : 100px;
    border-radius : 3px;
    border : 5px solid var(--sitewidebgcolor);
}

a { cursor : pointer; }

.site-radius 
{
	border-radius : 0px;
}

.fflogo { cursor : pointer; max-height : 50px; border-radius : 20px;}
.ff-link-text { color : white; }
.ff-link-text:hover { color : yellow; }

p 
{
	margin : 0px;
	padding : 0px;
}



.site-no-padding {
	padding-left: 0px;
  	padding-right: 0px;
}

.site-raise-5 {
	position : relative;
	z-index : 5;
}
.site-no-margin {
	margin-left: 0px;
  	margin-right: 0px;
}


.site-full-row {
	margin : 0px 0px 0px 0px;
	padding : 0px 0px 0px 0px;
	background : #ffffff;
}

.site-full-col {
	margin : 0px 0px 0px 0px;
	padding : 0px 0px 0px 0px;
	background : #ffffff;
}





.site-social {

}


.site-social-icon-wrapper
{
    display : inline-block;
    max-height : 42px;
}

.site-social-icons-group-wrapper
{
	margin : 29px 15px 5px 0px;
	display : inline-block;
	float : right;
	background : white;
}


.site-footer-background
{
	text-align : center;
	padding : 50px 30px 50px 30px;
	background-color : var(--footerbgcolor);
	margin : 120px 0px 30px 0px;
}


.site-footer-type-large
{
	font-size : .9rem;
	color : var(--footertextcolor);
}

.site-footer-type-small
{
	font-size : .9rem;
	color : var(--footertextcolor);
}


.pdf-wrapper
{
	width : 100%; 
	border : none;
    height : 2200px;
}

@media (max-width: 1850px) 
{
    .width-push
    {
        padding : 0px 150px 0px 150px; 
    }
}

@media (max-width: 1650px) 
{
    .top-image-overlay
    {
        height : 70%;
    }
	
}


@media (max-width: 1500px) 
{
    .width-push
    {
        padding : 0px 50px 0px 50px; 
    }
    .top-image-overlay
    {
        height : 80%;
    }

}


@media only screen and (max-width: 1200px) 
{
    .width-push
    {
        padding : 0px 2px 0px 2px; 
    }
    .main-image-overlay-paratext-extra
{
	min-height : 380px;
}
        .top-image-overlay
    {
        height : 100%;
    }
    
}


@media only screen and (max-width: 992px) 
{



}


@media only screen and (max-width: 767px) 
{
    .top-image-overlay
    {
        height : 100%;
        padding : 10px 0px 20px 0px;
    }
    
    .top-image-overlay-text-h1
    {
	    font-size : 1.8rem;
	    text-align : center;
	    font-weight : 900;
    }

    .top-image-overlay-text-right-standard
    {
    	font-size : 1.8rem;
    	font-weight : 900;
	    text-align : center;
	    margin-bottom : 20px;
	    margin-top : 20px;
    }

    .top-image-overlay-text-left-colored
    {
    	font-size : 1.8rem;
	    font-weight : 900;
        text-align : center;
    }

    .top-image-overlay-text-right-colored
    {
    	font-size : 1.8rem;
	    font-weight : 900;
	    text-align : center;
	    margin-top : 20px;
    }

    .main-image-overlay-title, .main-image-overlay-para
    {
    	left : 10px;
    	right : 10px;
    }
	
	.datapage-text-wrapper
	{
		background-color : white;
		margin : 5px;
		padding : 15px;
	}
}


@media only screen and (max-width: 576px) 
{
	.top-text-justify-standard 
    {
    	padding : 30px 15px;
    }
	.site-social-icons-group-wrapper
    { 
	    margin : 5px 15px 5px 0px;
	    float : right;
    }
	
    .site-logo
    {
        max-height : 70px;
    }
    
    .main-image-overlay-paratext, .main-image-overlay-paratext-extra
    {
        padding : 20px 15px 20px 15px; 
    }
}



