/*critical.css

Contains css that is critical to loading the site.
*/

/*reset*/
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td, button {
  margin:0px;
  padding:0px;
}
table{
	border-spacing:0px;
}
body, html{
	width:100%;
	height:100%;
}
fieldset, img {
  border:0px;
}
address, caption, cite, dfn, th, var {
  font-style:normal;
  font-weight:normal;
}
caption, th {
  text-align:left;
}
h1, h2, h3, h4, h5, h6 {
  font-size:100%;
  font-weight:normal;
}
q:before, q:after {
  content:'';
}
abbr, acronym {
  border:0px;
}
button
{
	appearance:none;
	-moz-appearance: none;
	-webkit-appearance: none;
	padding:0;
	margin:0;
	background-color: transparent;
}


/*Additional Changes*/
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }

figure, figcaption
{
  margin:0;
}
input:not([type=checkbox])
{
	height: 1.5em;
}
input:focus, textarea:focus, button:focus, a:focus
{
	outline: 0;
}
input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible
{
	outline: solid 1px var(--lt);
}
table
{
  font-size: 1em;
}
menu
{
	margin-block-start: 0;
	margin-block-end: 0;
}

/* end reset */


/*@import url('https://fonts.googleapis.com/css?family=DM+Sans&display=swap');*/
@font-face {
    font-family: 'Entypo';
    font-display: auto;
	src: url('/fonts/entypo-webfont.woff') format('woff');
}


*, *:before, *:after
{
 	-webkit-box-sizing: border-box; 
	-moz-box-sizing: border-box; 
	box-sizing: border-box;
}
body
{
	/*begin global css variables*/
	--dk: rgb(0,53,48);
	--dk_a: rgba(0,53,48,.85);
	--dk_text: rgb(255,255,255);
	--lt: rgb(114,147,139);
	--lt_a: rgba(114,147,139,.85);
	--lt_text: rgb(0,53,48);
	--bg_dk: rgb(86,86,86);
	--bg_dk_a: rgba(86,86,86,.85);
	--bg_dk_text: rgb(255,255,255);
	--bg_lt: rgb(255,255,255);
	--bg_lt_a: rgba(255,255,255,.85);
	--bg_lt_text: rgb(0,53,48);
	--bg_imp: rgb(194,34,44);
	--bg_imp_a: rgba(194,34,44,.85);
	--bg_imp_text: rgb(255,255,255);
	--gray_dk: rgb(100,100,100);
	--gray_lt: rgb(200,200,200);
	--golden: rgb(249, 230, 124);
	--win: rgb(27,27,27);
	--win_text: rgb(255,255,255);
	--font_family: Helvetica, sans-serif;
	/*end global css variables*/

	width:100%;
	height:100%;
	margin:0;
	font-size:1.25vw;
	font-family: var(--font_family);
	background-color: var(--win);
	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
	overscroll-behavior: none;
}
body.selectable
{
	-webkit-user-select: auto;
	-moz-user-select: auto;
	-o-user-select: auto;
	user-select: auto;
}
*[contenteditable=true]{
	-webkit-user-select: all;
	-moz-user-select: all;
	-o-user-select: all;
	user-select: all;
}
*[contentEditable=true]:focus {
	outline: dashed 1px;
}
@media (prefers-reduced-motion: reduce), (update: slow) {
  *, ::before, ::after {
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
}
.site-background
{
	position: fixed;
	top:0;
	z-index: 0;
	width:100%;
	height:100%;
	margin:0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/*extra low res*/
@media (-webkit-max-device-pixel-ratio: 1) and (max-device-width: 1000px),
    (-webkit-max-device-pixel-ratio: 1.6) and (max-device-width: 750px),
    (-webkit-min-device-pixel-ratio: 1.6) and (max-device-width: 500px),
    (max-resolution: 96dpi) and (max-device-width: 1000px),
    (max-resolution: 145dpi) and (max-device-width: 750px),
    (min-resolution: 145dpi) and (max-device-width: 500px),
    (max-resolution: 1dppx) and (max-device-width: 1000px),
    (max-resolution: 1.6dppx) and (max-device-width: 750px),
    (min-resolution: 1.6dppx) and (max-device-width: 500px)
{
    .site-background
    {
        background-image:url(/images/main-1000.jpg);

    }

}
/* low res */
@media (-webkit-max-device-pixel-ratio: 1) and (min-device-width:1001) and (max-device-width: 1500px),
    (-webkit-max-device-pixel-ratio: 1.6) and (min-device-width:751px) and (max-device-width: 1125px),
    (-webkit-min-device-pixel-ratio: 1.6) and (min-device-width:501px) and (max-device-width: 750px),
    (max-resolution: 96dpi) and (min-device-width:1001) and (max-device-width: 1500px),
    (max-resolution: 145dpi) and (min-device-width:751px) and (max-device-width: 1125px),
    (min-resolution: 145dpi) and (min-device-width:501px) and (max-device-width: 750px),
    (max-resolution: 1dppx) and (min-device-width:1001) and (max-device-width: 1500px),
    (max-resolution: 1.6dppx) and (min-device-width:751px) and (max-device-width: 1125px),
    (min-resolution: 1.6dppx) and (min-device-width:501px) and (max-device-width: 750px)
{
    .site-background
    {
        background-image:url(/images/main-1500.jpg);

    }

}
/* mid res */
@media (-webkit-max-device-pixel-ratio: 1) and (min-device-width: 1501px) and (max-device-width: 2000px),
    (-webkit-max-device-pixel-ratio: 1.6) and (min-device-width: 1126px) and (max-device-width: 1500px),
    (-webkit-min-device-pixel-ratio: 1.6) and (min-device-width: 751px) and (max-device-width: 1000px),
    (max-resolution: 96dpi) and (min-device-width: 1501px) and (max-device-width: 2000px),
    (max-resolution: 145dpi) and (min-device-width: 1126px) and (max-device-width: 1500px),
    (min-resolution: 145dpi) and (min-device-width: 751px) and (max-device-width: 1000px),
    (max-resolution: 1dppx) and (min-device-width: 1501px) and (max-device-width: 2000px),
    (max-resolution: 1.6dppx) and (min-device-width: 1126px) and (max-device-width: 1500px),
    (min-resolution: 1.6dppx) and (min-device-width: 751px) and (max-device-width: 1000px)
{
    .site-background
    {
        background-image:url(/images/main-2000.jpg);

    }

}
/* high res */
@media (-webkit-max-device-pixel-ratio: 1) and (min-device-width:2001px) and (max-device-width: 2500px),
    (-webkit-max-device-pixel-ratio: 1.6) and (min-device-width: 1501px) and (max-device-width: 1875px),
    (-webkit-min-device-pixel-ratio: 1.6) and (min-device-width: 1001px) and (max-device-width: 1250px),
    (max-resolution: 96dpi) and (min-device-width:2001px) and (max-device-width: 2500px),
    (max-resolution: 145dpi) and (min-device-width: 1501px) and (max-device-width: 1875px),
    (min-resolution: 145dpi) and (min-device-width: 1001px) and (max-device-width: 1250px),
    (max-resolution: 1dppx) and (min-device-width:2001px) and (max-device-width: 2500px),
    (max-resolution: 1.6dppx) and (min-device-width: 1501px) and (max-device-width: 1875px),
    (min-resolution: 1.6dppx) and (min-device-width: 1001px) and (max-device-width: 1250px)
{
    .site-background
    {
        background-image:url(/images/main-2500.jpg);

    }

}

/* extra high res*/
@media (-webkit-max-device-pixel-ratio: 1) and (min-device-width: 2501px),
    (-webkit-max-device-pixel-ratio: 1.6) and (min-device-width: 1876px),
    (-webkit-min-device-pixel-ratio: 1.6) and (min-device-width: 1251px),
    (max-resolution: 96dpi) and (min-device-width: 2501px),
    (max-resolution: 145dpi) and (min-device-width: 1876px),
    (min-resolution: 145dpi) and (min-device-width: 1251px),
    (max-resolution: 1dppx) and (min-device-width: 2501px),
    (max-resolution: 1.6dppx) and (min-device-width: 1876px),
    (min-resolution: 1.6dppx) and (min-device-width: 1251px)
{
    .site-background
    {
        background-image:url(/images/main-3000.jpg);

    }

}

input, textarea
{
	border: solid 1px rgb(200,200,200);
	font-size:1em;
	font-family: var(--font_family);
}
label>input
{
	margin-left: .5em;
}
a, .likeA
{
	position: relative;
	color: var(--dk);
	text-decoration: underline;
	cursor:pointer;
	transition: color .5s;
}
a:visited
{
	color:var(--dk);
}
a:hover, .likeA:hover
{
	color:var(--bg_imp);
	transition: color .5s;
}
a[target=_blank]:not(*[href^="mailTo:"]):hover:after, .likeA[target=_blank]:hover:after
{
	content:'/';
	position: absolute;
	font-family: Entypo;
	font-size:2em;
	padding-left:.1em;
	line-height: .75;
}
p+p
{
	margin-top:.5em;
}
blockquote
{
	margin: .5em;
	border-left: solid 3px rgb(86,86,86);
	padding-left: .25em;
}
button
{
	cursor: pointer;
}
.button
{
	padding: .25em;
	margin: .25em;
	background-color: var(--dk);
	border: double .25em rgb(255,255,255);
	/*border-radius: 15%;*/ /*removed 1/9/17 - makes buttons look strange on edit/status.cfm*/
	color: var(--dk_text);
	font-size: 1em;
	box-shadow: -1px -1px 1px 1px rgba(27,27,27,.5);
	border-radius: .5em;
	transition: box-shadow .25s;
	appearance:button;
	-moz-appearance: button;
	-webkit-appearance: button;
}
.button+.button
{
	margin-left:.5em;
}
.button:active
{
	box-shadow:0 0 0 0;
	transition: box-shadow .25s;
}
.button-cancel
{
	background-color: rgb(194,34,44);
}
.clearfixer
{
	position: relative;
	z-index: 0;
	pointer-events:none;
}
.clearfix:after, .clearfixer:after {
	content: "";
	display: table;
	clear: both;
	pointer-events:none;
}

.sys-status
{
	position: fixed;
	left:0;
	top:0;
	z-index:2001;
	background-color: rgba(194,35,44,.75);
	font-size:2em;
	color: rgb(255,255,255);
}
.sys-status a
{
	color:rgb(255,255,255);
}
.sys-status a:hover
{
	color:rgb(255,255,255);
}

.error-header
{
	font-size:2em;
	color: rgb(194,44,34);
}
.error-paragraph
{
	font-size: 1.25em;
	line-height: 1.5;
}

.radio-selector>input+label:after
{
	content:'\a';
	display:block;
}
.radio-selector>input[type=radio], .radio-selector>input[type=checkbox]
{
	display:none;
}
.radio-selector>input+label
{
	display:block;
	width:100%;
	height:3em; /*--tried to switch to margin-top instead of height, but caused issues for mobileremoved height and substituted margin-top instead
	margin-top:.5em;*/
	overflow: hidden;
	white-space: nowrap;
	font-size:0em;
	transition: .5s;
}
.radio-selector>input+label:first-of-type
{
	margin-top:0;
}
.radio-selector.radio-selector-show>input+label
{
	font-size:1em;
}
.radio-selector>input:checked + label
{
	font-size:1em;
}
.radio-selector>input+label:first-of-type:last-of-type{
	display:block;
	font-size:1em;
}
.radio-selector:hover>input + label
{
	font-size:1em;
	transition: font-size .5s;
}
.radio-selector>input:checked+label:before
{
	content:attr(data-select);
	color:rgb(255,255,255);
}
.radio-selector>input+label:before
{
	content:'}';
	display:inline-block;
	width:1.25em;
	height:1.25em;
	margin-right:.5em;
	margin-top:.5em;
	font-family: Entypo;
	font-size:1.5em;
	color: rgb(27,27,27);
	line-height: 1.25;
	text-align: center;
	border-radius: 50%;
	background-color: rgb(27,27,27);
}

.radio-buttons>input+label:after
{
	content:'\a';
	display:block;
}
.radio-buttons>input[type=radio], .radio-buttons>input[type=checkbox]
{
	display:none;
}
.radio-buttons>input:checked+label:before
{
	content:attr(data-select);
	color:rgb(255,255,255);
}

.radio-buttons>input+label:before
{
	content:'}';
	display:inline-block;
	width:1.25em;
	height:1.25em;
	margin-right:.5em;
	margin-top:.5em;
	font-family: Entypo;
	font-size:1.5em;
	color: rgb(27,27,27);
	line-height: 1.25;
	text-align: center;
	border-radius: 50%;
	background-color: rgb(27,27,27);
}
.radio-buttons>input:checked+label:before
{
	content:attr(data-select);
	color:rgb(255,255,255);
}

.toggle-button>span
{
	display:none;
}
.toggle-button[data-index="1"]>span:nth-child(1)
{
	display:inline-block;
}
.toggle-button[data-index="2"]>span:nth-child(2)
{
	display:inline-block;
}
.toggle-button[data-index="3"]>span:nth-child(3)
{
	display:inline-block;
}
.toggle-button[data-index="4"]>span:nth-child(4)
{
	display:inline-block;
}
.toggle-button[data-index="5"]>span:nth-child(5)
{
	display:inline-block;
}
.toggle-button[data-index="6"]>span:nth-child(6)
{
	display:inline-block;
}
.toggle-button[data-index="7"]>span:nth-child(7)
{
	display:inline-block;
}
.toggle-button[data-index="8"]>span:nth-child(8)
{
	display:inline-block;
}
.toggle-button[data-index="9"]>span:nth-child(9)
{
	display:inline-block;
}
.toggle-button[data-index="10"]>span:nth-child(10)
{
	display:inline-block;
}


.win-force .win-min, .win-force .win-max, .public .win-min
{
	display:none;
}
.win:last-child.win-force:before /*applies win-force only if its the most recent window*/
{
	content:'';
	display:block;
	position:fixed;
	left:0;
	top:0;
	z-index:0;
	width:100vw;
	height:100vh;
	background-color: rgba(27,27,27,.5);
}


.no-sms .contact-sms
{
	display:none;
}

.win2
{
	display:none;
	flex-direction:column;
	position: fixed;
	left:20%;
	top:15%;
	z-index: 1000;
	width:60%;
	min-width:1.25em;
	height:70%;
	background-color: var(--win_text);
	border: solid 2px var(--win);
	box-shadow: -5px -5px 3px 1px rgba(0,0,0,.75);
}

.win2:not(.ui-draggable-dragging):not(.ui-resizable-resizing)
/*use transitions to move and size object (for minimizing/maximizing, but not when dragging or resizing*/
{
	transition: width .35s, height .35s, left .35s, top .35s, opacity 0s .35s, z-index 0s .35s;
}
.win2.ui-draggable-dragging
{
	opacity: .75;
}

.win2-header
{
	display: flex;
	width: 100%;
	height: auto;
	z-index: 1;
	align-items:center;
	background-color: var(--win);
}
.win2-force .win2-header
{
	background-color: var(--bg_imp);
}
.win2-header h1
{
	flex-grow: 1;
	overflow: hidden;
	white-space: nowrap;
	color: var(--win_text);
	font-size: 2em;
	padding: .1em;
}
.win2-min, .win2-max, .win2-exit, .win2-save, .win2-more
{
	width: 1.5em;
	min-width: 1.5em;
	height: 1.5em;
	min-height: 1.5em;
	margin: .25em;
	font-size: 1.75em;
	border:0;
	border-radius: 50%;
	background-color: transparent;
	color: var(--win_text);
	transition: background-color .25s;
}
.win2-min:hover, .win2-min:focus
{
	background-color: rgb(255,255,0);
	color: var(--dk);
}
.win2-max:hover, .win2-max:focus
{
	background-color: rgb(0,255,0);
	color: var(--dk);
}
.win2-max:after
{
	content:'\025A1';
}
.media-small-width .win2-max, .media-xsmall-width .win2-max, .media-xsmall-height .win2-max
{
	display: none;
}
.win2-force .win2-min, .win2-force .win2-max, .public .win2-min
{
	display:none;
}
.win2-maximized .win2-max:after
{
	content:'\029C9';
}
.win2-save
{
	display: none;
}
.win2-save:after
{
	content: var(--save_icon);
	font-family: Entypo;
}
.win2-save:hover, .win2-save:focus
{
	background-color: rgb(10,79,102);
	color: var(--lt_text);
}
.win2-more
{
	display: none;
}
.win2-more:after
{
	content: '\2026';
}
.win2-more:hover, .win2-more:focus
{
	background-color: var(--lt);
	color: var(--lt_text);
}
.win2-exit:hover, .win2-exit:focus
{
	background-color: var(--bg_imp);
	color: var(--bg_imp_text);
}

.win2-maximized, .media-xsmall-width .win2:not(.win2-minimized), .media-small-width .win2:not(.win2-minimized), .media-xsmall-height .win2:not(.win2-minimized)
{
	left:0 !important;
	top:0 !important;
	width:100% !important;
	height: 100% !important;
}
.win2-maximized .ui-resizable-handle, .media-xsmall-width .win2 .ui-resizable-handle, .media-small-width .win2 .ui-resizable-handle, .media-xsmall-height .win2 .ui-resizable-handle
{
	display: none !important;
}
.win2-minimized
{
	top: calc(100% - 3em) !important;
	left: 50% !important;
	z-index: 1 !important;
	width:0 !important;
	height: 0 !important;
	overflow:hidden;
}

.win2 .win-resize, .ui-resizable-handle
{
	display:block;
	position:absolute;
	bottom:0;
	right:0;
	cursor:nwse-resize;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 1.25em 1.25em;
	border-color: transparent transparent var(--win) transparent;
}
.win2-body
{
	position: relative;
	flex-grow:1;
	z-index: 1;
	overflow: auto;
	background-color: rgb(255,255,255);
	scroll-behavior: smooth;
}
.win2-pad
{
	padding:.25em;
}

.win2-embed
{
    position: static;
    width:100% !important;
    height: 100% !important;
    background-color: transparent;
    border:none;
}
.win2-embed .win2-header
{
    display:none;
}
.win2-embed .win2-body
{
	width:100%;
	height:auto;
    background-color: transparent;
}
.win2-embed .ui-resizable-handle
{
	display: none;
}

.win2-footer
{
	z-index: 1;
}
.win2-foot-left
{
	position: absolute;
	bottom:.5em;
	left:.5em;
	z-index: 3000;
}
.win2-foot-right
{
	position: absolute;
	bottom:.5em;
	right:.5em;
	z-index: 3000;
}

.win2.win2-force
{
	box-shadow:none;
}
.win2.win2-force:last-of-type:before /*applies win-force only if its the most recent window*/
{
	content:'';
	display:block;
	position:fixed;
	left:0;
	top:0;
	z-index:0;
	width:100vw;
	height:100vh;
	backdrop-filter: blur(5px);
}

body.media-small-width
{
	font-size: 2.5vw;
}
body.media-xsmall-width
{
	font-size: 4vw;
}
body.media-xsmall-height
{
	font-size: 1.5vw;
}


.show-home-section
{
	display: block !important;
	z-index: 2 !important;
}
@media only screen and (orientation:portrait)
{
	html:before
	{
		content:'media-portrait';
		display:none;
	}
}
@media only screen and (orientation:landscape)
{
	html:before
	{
		content:'media-landscape';
		display:none;
	}
}

@media only screen and (max-width:400px)
{
	body:before
	{
		content:'media-xsmall-width';
		display:none;
	}
}
@media only screen and (min-width:401px) and (max-width:700px)
{
	body:before
	{
		content:'media-small-width';
		display:none;
	}
}
@media only screen and (min-width:701px) and (max-width:1250px)
{
	body:before
	{
		content:'media-medium-width';
		display:none;
	}
}
@media only screen and (min-width:1251px) and (max-width:1800px)
{
	body:before
	{
		content:'media-large-width';
		display:none;
	}
}
@media only screen and (min-width:1801px)
{
	body:before
	{
		content:'media-xlarge-width';
		display:none;
	}
}

@media only screen and (max-height:400px)
{
	body:after
	{
		content:'media-xsmall-height';
		display:none;
	}
}
@media only screen and (min-height:401px) and (max-height:700px)
{
	body:after
	{
		content:'media-small-height';
		display:none;
	}
}
@media only screen and (min-height:701px) and (max-height:1250px)
{
	body:after
	{
		content:'media-medium-height';
		display:none;
	}
}
@media only screen and (min-height:1251px) and (max-height:1800px)
{
	body:after
	{
		content:'media-large-height';
		display:none;
	}
}
@media only screen and (min-height:1801px)
{
	body:after
	{
		content:'media-xlarge-height';
		display:none;
	}
}
