/*
	Font Imports
*/
@font-face
{
	font-family: "Ubuntu";
	src: url("../media/fonts/Ubuntu-L.ttf") format("truetype");
	font-weight: 100;
    font-style: normal;
}
@font-face
{
	font-family: "Ubuntu";
	src: url("../media/fonts/Ubuntu-R.ttf") format("truetype");
	font-weight: 400;
    font-style: normal;
}
@font-face
{
	font-family: "Ubuntu";
	src: url("../media/fonts/Ubuntu-B.ttf") format("truetype");
	font-weight: 900;
    font-style: normal;
}
@font-face
{
	font-family: "Bellevue";
	src: url("../media/fonts/Bellevue.ttf") format("truetype");
	font-weight: 400;
    font-style: normal;
}
@font-face
{
	font-family: "BBWVIcons";
	src: url("../media/fonts/bbwv_icons.ttf") format("truetype");
	font-display: block;
}
/*
	CSS vars
*/
:root
{
	--lrg-max-w: 1200px;
	--lrg-nav-w: 240px;
    --lrg-cont-w: 920px;
	/*	Colors	*/
	--color-black1: #000;
	--color-white1: #fff;
    --color-grey1: #222;
    --color-grey2: #444;
    --color-grey3: #777;
    --color-grey4: #aaa;
    --color-grey5: #d4d4d4;
	--color-brown1: #643200;
	--color-brown2: #402a00;
	--color-green1: #74a18e;
	--color-green2: #116411;
	--color-red1: #c41212;
	--color-orange1: #cd4823;
	--color-yellow1: #fcf0e9;
	--color-blue1: #3366cc;
	--color-trn-white: rgba(255, 255, 255, 0.85);
	--color-trn-black: rgba(0, 0, 0, 0.65);
	/*	Base style vars		*/
	--font-default: "Ubuntu", sans-serif;
	--font-fancy: "Bellevue", serif;
	/*  Icon references     */
	--icon-leaf: "B";
	--icon-menu-open: "M";
	--icon-menu-close: "N";
}
/*
	Imports

@font-face
{
	font-family: "nimbus";
	src: url("../fonts/NimbusMonL-Regu.ttf") format("truetype");
	font-weight: normal;
    font-style: normal;
}


text-shadow: -4px -4px 0 var(--color-orange1), 4px -4px 0 var(--color-orange1), -4px 4px 0 var(--color-orange1), 4px 4px 0 var(--color-orange1);
*/
/*
	Macro Structual Styles
*/
html
{
	background-color: var(--color-green1);
	background: linear-gradient(0deg, var(--color-green2) 0%, var(--color-green1) 30%, var(--color-green1) 70%, var(--color-green2) 100%);
}
html,
body
{
	padding: 0;
	margin: 0;
	font-family: var(--font-default);
}
header
{
	height: 160px;
	max-width: var(--lrg-max-w);
	margin: 24px auto 0;
	text-align: center;
	position: relative;
	overflow: hidden;
	border: solid 8px var(--color-orange1);
	border-radius: 72px 24px 0 0;
}
footer
{
	color: var(--color-white1);
	max-width: var(--lrg-max-w);
	margin: 0 auto 24px;
	position: relative;
	text-align: left;
	min-height: 160px;
	overflow: hidden;
	border: solid 8px var(--color-orange1);
	border-radius: 0 0 72px 24px;
	background-image: url("../images/layout/bottom_banner_bushes.jpg");
	background-position: center bottom;
	background-size: cover;
}
/*	
	Header Styles
*/
.page_title
{
	margin: 0;
	padding: 0;
	width: 600px;
	height: 80px;
	right: 0px;
	bottom: 0px;
	position: absolute;
	z-index: 1000;
	font-weight: lighter;
	border-radius: 48px 0 0 0;
	background-color: var(--color-trn-black);
}
.page_title h1
{
	padding: 0;
	margin: 0;
	color: #fff;
	position: relative;	
	right: 0px;
	bottom: -16px;
	font-size: 42px;
	font-family: var(--font-fancy);
	font-weight: lighter;
	text-shadow: 2px 2px 2px var(--color-orange1);
}
header img
{
	position: absolute;
	z-index: 1100;
	left: -4px;
	top: -4px;
	width: 144px;
	height: 144px;
	border-radius: 72px;
}
h2
{
	font-family: var(--font-fancy);
	font-size: 32px;
    font-weight: 400;
	margin: 8px 0 16px 0;
	color: var(--color-green2);
}
h3
{
	color: var(--color-green2);
	font-size: 21px;
	font-weight: 100;
	margin: 12px 0;
}
h4
{
	color: var(--color-orange1);
	margin: 4px 0;
}
#header_banner_slides
{
    height: 100%;
    position: relative;
    background: var(--color-black1);
    
}
#header_banner_slides div
{
    width: 100%; 
    height: 100%; 
    position: absolute; 
    top: 0; 
    left: 0; 
	background-position: center;
	background-size: cover;
	transition: opacity 1.4s ease;
}
#main_nav_toggle
{
	display: none;
}

/*	
	Main Menu Styles
*/
.main_menu
{
	display: table-cell;
	width: var(--lrg-nav-w);
	position: relative;
}
.main_menu ul
{
	margin: 0;
	padding: 0;
	top: 0;
	margin: 0 0 16px 0;
	position: relative;
}
.main_menu ul li
{
	margin: 2px 0;
	padding: 0;
	display: block;
	list-style: none;
	overflow: hidden;
	border-right: solid 4px var(--color-orange1);
	border-bottom: solid 4px var(--color-orange1);
	border-radius: 0 12px 12px 0;
}
.main_menu ul li a
{
	width: 100%;
	height: 100%;
	display: inline-block;
	box-sizing: border-box;
	padding: 12px;
	color: white;
	text-decoration: none;
	background-color: var(--color-green2);
	text-shadow: 1px 1px 0 var(--color-black1), 0, 1px 1px 0 var(--color-black1), 0;
	transition: background-color 0.4s, color 0.4s;
}
.main_menu ul li a:hover,
.main_menu ul li a:focus,
.main_menu ul li a:active
{
	
	text-decoration: underline;
	background-color: var(--color-orange1);
}
/*	
	Main Content Styles
*/
.main_wrapper
{
	width: 100%;
	max-width: var(--lrg-max-w);
	margin: 0 auto;
	position: relative;
	display: table;
    color: var(--color-grey1);
	background-color: var(--color-yellow1);
	border-left: solid 8px var(--color-orange1);
	border-right: solid 8px var(--color-orange1);
}
.main_content_wrapper
{
	display: table-cell;
	position: relative;
	top: 0;
	margin: 0 0 0 0;
	padding: 12px 36px;
}
.main_content
{
	font-size: 16px;
	line-height: 32px;
}
.main_content iframe
{
	width: 100%;
}
.main_content button
{
	font-size: 16px;
	font-weight: 600;
	padding: 0 16px;
	height: 34px;
	color: var(--color-white1);
	border: solid 3px var(--color-orange1);
	border-radius: 12px;
	background-color: var(--color-green2);
	cursor: pointer;
	transition: background-color 0.4s;
}
.main_content button:hover,
.main_content button:active,
.main_content button:focus
{
	background-color: var(--color-orange1);
}
.main_content button[disabled]
{
	background-color: var(--color-grey2);
	border-color: var(--color-grey1);
	cursor: not-allowed;
}
.main_content input
{
	font-size: 16px;
	border: solid 3px var(--color-orange1);
	border-radius: 12px;
	padding: 0 16px;
	height: 34px;
	box-sizing: border-box;
}
.main_content label
{
	font-size: 18px;
	color: var(--color-orange1);
	padding-right: 16px;
	display: inline-block;
	width: 100px;
	max-width: 180px;
}
.main_content textarea
{
	min-height: 160px;
	width: 100%;
	box-sizing: border-box;
	font-size: 14px;
	border: solid 3px var(--color-orange1);
	border-radius: 12px;
	padding: 8px 16px;
}
.main_content select
{
	font-size: 16px;
	background-color: var(--color-white1);
	border: solid 3px var(--color-orange1);
	border-radius: 12px;
	padding: 0 16px;
	height: 34px;
	box-sizing: border-box;
	min-width: 120px;
	cursor: pointer;
}
.main_content img
{
	max-width: 100%;
}
/*
	Footer Styles
*/
.footer_screen
{
	position: absolute;
	background: linear-gradient(0deg, #000a 0%, #0003 100%);
	width: 100%;
	height: 100%;
}
#footer_phone_numbers
{
	position: relative;
	z-index: 100;
	left: 100px;
	top: 16px;
	font-weight: 900;
}
#footer_phone_numbers h5
{
	margin: 2px 0;
	font-size: 16px;
}
#footer_phone_numbers ul
{
	margin: 0;
	padding: 0;
	list-style: none;
}
#cmd_credit
{
	position: absolute;
	z-index: 110;
	margin: 0 auto;
	left: 0;
	right: 0;
	bottom: 12px;
	text-align: center;
}
#cmd_credit a
{
	font-weight: 900;
	color: var(--color-grey4);
}
/*	
	Core Layout Styles
*/
.cms_text
{
	white-space: pre-line;
}
.cms_text img
{
	margin: 12px;
}
.cms_text img.float_left
{
	margin-left: 0;
}
.cms_text img.float_right
{
	margin-right: 0;
}
.splash_text
{
	margin: 4px 24px 24px;
	padding: 24px;	
	border: solid 4px var(--color-orange1);
	border-radius: 72px 24px;	
	background-color: white;
	text-align: center;
	font-family: var(--font-fancy);
}
.splash_text h3
{
	
	text-align: center;
	font-size: 28px;
	margin: 0 auto 12px;
    font-weight: 400;
	padding: 0;
	color: var(--color-green2);
}
.splash_text p
{
	margin: 0;
	font-size: 18px;
	color: var(--color-brown2);
}
.img_block
{
    display: block;
    position: relative;
    max-width:100%;
    max-height:100%;
    max-width: var(--lrg-cont-w);
    object-fit: contain;
}
.img_block img
{
    max-width:100%;
    max-height:100%;
}
.float_right
{
    float: right;
}
.float_left
{
    float: left;
}
.main_nav_toggle
{
	display: none;
}
.emergency_message
{
	background-color: var(--color-white1);
	border: solid 3px var(--color-red1);
	position: relative;
	padding: 8px;
}
.emergency_message::before
{
	content: "!";
	font-size: 21px;
	font-weight: 900;
	text-align: center;
	color: var(--color-white1);
	display: inline-block;
	position: relative;
	background-color: var(--color-red1);
	width: 42px;
	height: 32px;
	margin-right: 8px;
}
/*
	Events Styles
*/
.event_wrapper
{
	margin: 12px 0 16px;
	clear: both;
}
.event_wrapper hr
{
	margin-top: 0;
	clear: both;
}
.event_date
{
	font-size: 18px;
	font-weight: 400;
	font-style: oblique;
	color: var(--color-blue1);
}
.event_image
{
	text-align: center;
	margin: auto;
	max-width: 60%;
	padding : 0 12px 12px 0;
}
.event_tags
{
	clear: both;
	background-color: var(--color-grey5);
}
.event_tags a
{
	padding: 8px 12px;
}
/*
	Links Styles
*/
.links_list
{
	margin: 40px 0 20px;
}
.link_wrapper
{

}
.link_tags
{
	clear: both;
	background-color: var(--color-grey5);
}
.link_tags a
{
	padding: 8px 12px;
}
/*
	News Styles
*/
.news_list
{
	margin: 40px 0 20px;
}
.news_wrapper
{

}
.news_description
{
	white-space: pre-line;
}
.news_description img
{
	margin: 12px;
}
.news_description img.float_left
{
	margin-left: 0;
}
.news_description img.float_right
{
	margin-right: 0;
}
.news_image
{
	text-align: center;
	margin: auto;
	max-width: 60%;
	padding : 0 12px 12px 0;
}
.news_date
{
	font-size: 18px;
	font-weight: 400;
	font-style: oblique;
	color: var(--color-blue1);
}
.news_link
{
	font-style: oblique;
	margin: 20px 0;
}
.news_tags
{
	clear: both;
	background-color: var(--color-grey5);
}
.news_tags a
{
	padding: 8px 12px;
}
/*
	Ordinances Styles
*/
.ordinances_list
{
	margin: 40px 0 20px;
}
.ordinance_wrapper
{

}
.ordinance_tags
{
	clear: both;
	background-color: var(--color-grey5);
}
.ordinance_tags a
{
	padding: 8px 12px;
}
/*
	Business Styles
*/
.business_wrapper
{
	margin: 0 0 24px 0;
}
.business_wrapper h4
{
	margin: 4px 0 0 0;
}
.business_type
{
	color: var(--color-green2);
	font-style: italic;
	line-height: normal;
}
.business_owner
{
	line-height: normal;
}
.business_phone
{
	line-height: normal;
}
.business_address
{
	line-height: normal;
}
.business_url
{
	line-height: normal;
}
/*
	Form Styles
*/
.input_row
{
	display: row;
	position; relative;
	width: 100%;
	box-sizing: border-box;
	margin: 16px 0;
}
/*
    Icons
*/
.icon_leaf::after
{
    display: inline-block;
    position: relative;
    font-family: "BBWVIcons";
    content: var(--icon-leaf);
}
/*
	CPanel Styles
*/
.c_panel_edit_menu
{
	display: flow-root;
	padding: 0;
}
.c_panel_edit_menu li
{
	display: inline-flex;
}
.c_panel_edit_menu li a
{
	padding: 4px 12px;
	color: var(--color-white1);
	border: 1px solid var(--color-orange1);
	background: var(--color-green2);
	text-decoration: none;
}
.c_panel_edit_menu li a:hover,
.c_panel_edit_menu li a:focus,
.c_panel_edit_menu li a:active
{
	background-color: var(--color-orange1);
	text-decoration: underline;
}
/*
	Small Desktop Specific Styles - medium
	992px - 991px
*/
@media screen and (max-width: 1280px) 
{
    body
    {
        margin: 0 40px;
    }
    .main_wrapper
    {
        box-sizing: border-box;
    }
}
/*
	Tablet Specific Styles - small
	480px - 991px
*/
@media screen and (max-width: 1031px) 
{
    body
    {
        margin: 0 20px;
    }
    .main_menu
    {
        width: 200px;
    }
    .main_menu ul li a
    {
        font-size: 14px;
    }
    .page_title
    {
        width: 500px;
        height: 72px;
    }
    .page_title h1
    {
        font-size: 38px;
    }
    .main_content
    {
        font-size: 14px;
        line-height: 28px;
    }
    .splash_text
    {
    	margin: 28px 0;
    }
    .splash_text h3
    {
        font-size: 21px;
    }
    .splash_text p
    {
        font-size: 16px;
    }
    .c_panel_table
    {
    	word-break: break-word;
    	max-width: 100%;
    }
    .c_panel_table button
    {
    	word-break: initial;
    }
/*
	Phone Specific Styles - xsmall
	480px - 479px
*/
@media screen and (max-width: 700px)
{
	html
	{
		margin: 0;
	}
	body
	{
		margin: 0;
	}
	header
	{
		border: none;
		border-radius: 0;
		margin: 0;
		height: 200px;
	}
	footer
	{
		border: none;
		border-radius: 0;
		margin: 0;
	}
	header img
	{
		display: none;
	}
	#main_nav_toggle
	{
		display: block;
	}
	.main_wrapper
	{
		border: none;
	}
	.main_content_wrapper
	{
		padding: 42px 24px;
		display: block;
	}
	.main_content
	{
		padding-top: 12px;
	}
	.page_title
	{
		width: 100%;
		font-size: 18px;
		border: none;
		border-radius: 0;
	}
	.page_title h1
	{
		font-size: 32px;
	}
	.main_menu
	{
		width: 100%;
		position: absolute;
		background: transparent;
		z-index: 2000;
		display: block;
	}
	.main_menu #main_menu_toggle
	{
	
	}
	.main_menu ul
	{
		display: none;
	}
	.main_menu ul.show
	{
		display: block;
	}
	.main_menu ul
	{
		margin: 0;
	}
	.main_menu ul li
	{
		margin: 0;
		border: none;
		border-radius: 0;
		border-bottom: solid 1px var(--color-orange1);
	}
	#main_nav_toggle
	{
		display: block;
		border: none;
		width: 100%;
		font-size: 21px;
		font-weight: 900;
		height: 42px;
		cursor: pointer;
		color: var(--color-white1);
		background-color: var(--color-green2);
		transition: background-color 0.4s, color 0.4s;
	}
	#main_nav_toggle:hover,
	#main_nav_toggle:active
	{
		background-color: var(--color-orange1);
	}
	#main_nav_toggle.open
	{
		background-color: var(--color-orange1);
	}
	.#main_menu ul.show
	{
		display: block;
	}
	#main_nav_toggle .nav_toggle_up:after
	{
		font-family: "BBWVIcons";
		content: "M";
	}
	#main_nav_toggle.open .nav_toggle_up:after
	{
		font-family: "BBWVIcons";
		content: "N";
	}
	#footer_phone_numbers
	{
		left: 16px;
	}
}
@media screen and (max-width: 400px)
{
	.page_title h1
	{
		font-size: 28px;
	}
}
/*
	State based size
*/
.hide
{
	display: none;
}
