/**********************************************************************************
* 
* © 2020 Ecliptic Technologies, Inc. - All Rights Reserved
* Unauthorized use or reproduction of this product is strictly prohibited by law.
* Website: www.ecliptictech.com
* Email: info@ecliptictech.com
*
* Name: desktop.css
* Description: Additional desktop styles for www.nlpulse.com
*
***********************************************************************************/

/* Body
----------------------------------------------------------------------------------*/

body
	{
	}

html, body, form
	{
    height:100%;
    }

#caution-container
	{
    font-size:0.75em;
    }

object, iframe
	{
    margin:0.3125rem 0 1.3125rem;
    }

*:first-child+html embed
	{
    margin:0.3125rem 0 1.3125rem;
    }

* html embed
	{
    margin:0.3125rem 0 1.3125rem;
    }


/* Base text
----------------------------------------------------------------------------------*/

.xtarget:target
	{
    margin-top:-124px;
    padding-top:124px;
    }

h1
	{
	font-size:2em;
	}

#container-intro h1, #container-intro #content p:first-of-type
	{
    width:68%;
    }

#container-intro h1
	{
	font-size:2em;
	}

#container-intro h1 span
    {
    display:block;
    font-weight:800;
    }

blockquote
	{
	margin:0 1.5rem;
	}

pre
	{
    margin-bottom:1.5em;
    }

@media screen and (min-width:1188px)
	{
	body
		{
		line-height:1.5em;
		}
	
	h1
		{
		font-size:2.25em;
		}
	
	#container-intro h1, #container-intro #content p:first-of-type
		{
        /*width:48%;*/
        }

    #container-intro h1
		{
        font-size:2.5em;
        }

	h2
		{
		font-size:1.875em;
		}

	h3
		{
		font-size:1.375em;
		}

	h4
		{
		font-size:1.25em;
		}
	
	h5
		{
		font-size:1.125em;
		}
	
	h6
		{
		font-size:1.0625em;
		}

	p, ul, ol, time, pre
		{
		font-size:1em;
		}
	
	#container-intro #content p:first-of-type
		{
		font-size:1.125em;
        }
	}


/* Tables 
----------------------------------------------------------------------------------*/

@media screen and (min-width:1188px)
	{
	table
		{
        margin:0.5rem 0 1.5rem;
        }
	
	table th, table td
		{
		font-size:1em;
		}
	
	table th p, table td p, table td ul, table td ol, table td time
		{
		line-height:1.5em;
		}
	}


/* Images 
----------------------------------------------------------------------------------*/

@media screen and (min-width:1188px)
    {
    img
		{
	    margin-bottom:1.5rem;
        }

    .imageleft, .imagesticky
		{
        margin-right:1.5rem;
        }

    .imageright
		{
        margin-left:1.5rem;
        }

    .imagecenter
		{
	    margin-bottom:1.5rem;
	    }
	
	figcaption
		{
        font-size:1em !important;
        }
    }


/* Container
----------------------------------------------------------------------------------*/

#container-intro, #container
	{
	min-height:100%;
	background-position:center 98px;
    background-attachment:fixed;
	}
	
#container-intro
	{
    background-image:url(/sitegraphics/nlpulse-banner.jpg);
    background-size:1946px 380px;
    }

.mlsframe
	{
    min-height:650px;
    }

#popup-container
	{
    margin:1rem;
    }

@media screen and (min-width:1188px)
    {
    #container-intro, #container
	    {
	    background-position:center 122px;
	    }
    
    #container-intro
		{
        background-size:auto;
	    }
    }


/* Header
----------------------------------------------------------------------------------*/

#header
	{
	width:100%;
    height:68px;
	margin:0;
	padding:0;
    -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
    }

#header, #header-supplemental
	{
	padding-left:-moz-calc((100% - 950px) / 2);
    padding-left:-webkit-calc((100% - 950px) / 2);
    padding-left:calc((100% - 950px) / 2);
    padding-right:-moz-calc((100% - 950px) / 2);
    padding-right:-webkit-calc((100% - 950px) / 2);
    padding-right:calc((100% - 950px) / 2);
	}

#organization
	{
    width:auto;
    }

#organization p
	{
	margin:10px 0 0;
	}

#header-supplemental
	{
    }

#header-supplemental ul, #phone
	{
    }

#phone
	{
    }

#phone a
	{
    }

#phone a:hover, #phone a:active, #phone a:focus
	{
    }

@media screen and (min-width:1188px)
	{
    #header, #header-supplemental
		{
		padding-left:-moz-calc((100% - 1140px) / 2);
		padding-left:-webkit-calc((100% - 1140px) / 2);
		padding-left:calc((100% - 1140px) / 2);
		padding-right:-moz-calc((100% - 1140px) / 2);
		padding-right:-webkit-calc((100% - 1140px) / 2);
		padding-right:calc((100% - 1140px) / 2);
		}

    #header
	    {
        height:92px;
        }

    #organization a
	    {
        width:280px;
        height:68px;
	    background-image:url(/sitegraphics/nlpulse-logo.png);
        }
	}


/* Navigation
----------------------------------------------------------------------------------*/

#nav
	{
	display:block !important;
	position:relative;
	top:auto;
    right:auto;
	left:auto;
	float:right;
	width:auto;
	max-height:unset;
	margin-top:12px;
	border:none;
	overflow:unset;
	z-index:1;
	}

#nav ul
	{
    width:auto;
    font-size:0.875em;
    }

#nav li
	{
    width:auto;
    margin-left:0.875em/*1em*/;
    border-width:0;
    }

#nav li:first-child
	{
    margin-left:0;
    }

@keyframes nav-animation-in
    {
    from
        {
        background-position:center -20px;
        }
    to
        {
        background-position:center top;
        }
    }

@keyframes nav-animation-out
    {
    from
        {
        background-position:center top;
        }
    to
        {
        background-position:center -20px;
        }
    }

#nav a
	{
    padding:25px 0 0;
    background-color:transparent;
	background-image:url(/sitegraphics/nlpulse-nav.png);
    background-position:center -20px;
    background-repeat:no-repeat;
    background-size:20px;
    }

#nav a:hover, #nav a:focus
	{
    color:#95ca55;
    color:var(--secondary-color);
	background-color:transparent;
	background-position:center top;
    animation:nav-animation-in 0.2s ease alternate;
    }

#nav a:active
	{
    /*height:27px;
    padding-top:0.4375rem;
	color:#112f50;
    background-position:right bottom;*/
    }

#nav-actions li
	{
    width:32%;
    margin-left:2%;
    }

#nav-actions li:nth-child(3n+1)
    {
    margin-left:0;
    }

#nav-actions a
    {
    }

#nav-menu-link, #nav-mobile
	{
    display:none;
    }

@media screen and (min-width:1188px)
    {
    #nav
        {
        margin-top:22px;
        }
    
    #nav ul
		{
		font-size:1em/*1.0625em*/;
		}

    @keyframes nav-animation-in
        {
        from
            {
            background-position:center -24px;
            }
        to
            {
            background-position:center top;
            }
        }

    @keyframes nav-animation-out
        {
        from
            {
            background-position:center top;
            }
        to
            {
            background-position:center -24px;
            }
        }

    #nav a
	    {
        padding:28px 0 0;
        background-position:center -24px;
        background-size:24px;
        }

    #nav-actions li
	    {
        width:23.5%;
        }

    #nav-actions li:nth-child(3n+1)
        {
        margin-left:2%;
        }

    #nav-actions li:nth-child(4n+1)
        {
        margin-left:0;
        }
    }


/* Second-level lists 
----------------------------------------------------------------------------------*/

#nav li ul
	{
	display:none;
	width:auto;
	position:absolute;
	left:-999em; /* using left instead of display to hide menus because display: none isn't read by screen readers */
	margin:-24px 0 0 120px;
	padding:0 0 0 0;
	list-style:none;
	background:#9fcee6;
	/*background:rgba(77,122,153,0.7);*/
	/*border:2px solid #91d0eb;*/
	/*border-right:1px solid #334d66;
	border-bottom:1px solid #334d66;
	border-left:1px solid #334d66;*/
	z-index:10;
	/*filter:alpha(opacity=90);
	-moz-opacity:0.9;
	-khtml-opacity:0.9;
	opacity:0.9;*/
	}

#nav li ul ul
	{
	margin:-20px 0 0 80%;
	}

#nav li ul li
	{
	float:none;
	margin:0;
	padding:0;
	border:none;
	}
	
#nav li ul li a
	{
	/*background:none;*/
	/*padding:0.4375rem 0.8125rem;
	background:#4d7a99;
	background:rgba(77,122,153,0.9);*/
	/*border:none;*/
	}
	
#nav li ul li a:hover
	{
	/*background:#7999af;
	background:rgba(121,153,175,0.9);*/
	}

#nav li ul li a:active
	{
	}

#nav li:hover, #nav li.sfhover
	{
    position:static;
    /*background:#7999af;
    background:rgba(121,153,175,0.9);*/
    }

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul
	{
    left:-999em;
    }

#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul /* lists nested under hovered list items */
	{
	left:auto;
	}


/* Sub Navigation
----------------------------------------------------------------------------------*/

#nav-sub
	{
	display:block;
	position:fixed;
	float:left;
	width:100%;
	height:34px;
	margin-top:114px;
	/*background-color:#0c0c0c;*/
	z-index:2;
	}

#nav-sub ul
	{
    /*width:950px;
    margin:0 auto;
    padding:0;
	font-size:0.875em;
    text-transform:uppercase;
    list-style:none;*/
	height:34px;
    padding:0;
    padding-left:-moz-calc((100% - 950px) / 2);
    padding-left:-webkit-calc((100% - 950px) / 2);
    padding-left:calc((100% - 950px) / 2);
    padding-right:-moz-calc((100% - 950px) / 2);
    padding-right:-webkit-calc((100% - 950px) / 2);
    padding-right:calc((100% - 950px) / 2);
    font:400 1em "Montserrat", Arial, Helvetica, sans-serif;
    text-transform:uppercase;
    list-style:none;
    background-color:#c0c0c0;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    }

#nav-sub ul::after
	{
	display:block;
	position:absolute;
	left:0;
	content:"";
	width:100%;
	height:8px;
	margin-top:26px;
	z-index:-1;
	-moz-box-shadow:0 0 8px #202020;
	-webkit-box-shadow:0 0 8px #202020;
	box-shadow:0 0 8px #202020;
    }

#nav-sub li
	{
    float:left;
    }

#nav-sub li:first-child
	{
    }

#nav-sub a
	{
    display:block;
    height:28px;
    padding:0.375rem 0.8125rem 0;
    color:#c0c0c0;
	/*background-image:url(/sitegraphics/nlpulse-nav.gif);
    background-position:right top;
    background-repeat:no-repeat;*/
    background-color:#0c0c0c;
    border:none;
    }

#nav-sub a:hover, #nav-sub a:focus
	{
    color:#202020;
	background-color:#01669a;
    }

#nav-sub a:active
	{
    }

@media screen and (min-width:1188px)
    {
    #nav-sub ul
		{
        /*width:1200px;
        font-size:1em;*/
		padding-left:-moz-calc((100% - 1100px) / 2);
		padding-left:-webkit-calc((100% - 1100px) / 2);
		padding-left:calc((100% - 1100px) / 2);
		padding-right:-moz-calc((100% - 1100px) / 2);
		padding-right:-webkit-calc((100% - 1100px) / 2);
		padding-right:calc((100% - 1100px) / 2);
        }
    
    #nav-sub a
		{
        height:29px;
        padding-top:0.3125rem;
        }
    }


/* Main background
----------------------------------------------------------------------------------*/

#main
	{
    width:100%;
	margin-top:98px;
    padding-top:2rem;
	padding-bottom:1.5rem;
	padding-left:-moz-calc((100% - 950px) / 2);
    padding-left:-webkit-calc((100% - 950px) / 2);
    padding-left:calc((100% - 950px) / 2);
    padding-right:-moz-calc((100% - 950px) / 2);
    padding-right:-webkit-calc((100% - 950px) / 2);
    padding-right:calc((100% - 950px) / 2);
    }

#container-intro #main
	{
	height:380px;
	padding-top:2.5rem;
	}

#nav-sub + #main
	{
    margin-top:164px;
    }

/* clearfix hack to keep floats from overlapping footer */

.clearfix:after
	{
    content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	}
	
.clearfix
	{
    display:inline-block;
    }

/* Hides from IE-mac \*/
    
* html .clearfix
	{
    height:1%;
    }

.clearfix
	{
    display:block;
    }

/* End hide from IE-mac */

@media screen and (min-width:1188px)
    {
    #main
		{
        margin-top:122px;
		padding-top:2.5rem;
	    padding-bottom:2rem;
		padding-left:-moz-calc((100% - 1140px) / 2);
		padding-left:-webkit-calc((100% - 1140px) / 2);
		padding-left:calc((100% - 1140px) / 2);
		padding-right:-moz-calc((100% - 1140px) / 2);
		padding-right:-webkit-calc((100% - 1140px) / 2);
		padding-right:calc((100% - 1140px) / 2);
		}
	
	#container-intro #main
		{
		height:500px;
		padding-top:3.5rem;
		}
    }


/* Content
----------------------------------------------------------------------------------*/

#content
	{
	min-height:180px;
	padding:0.625rem 0 0;
	}

#transitionwelcome .modal-content
	{
    width:auto;
    top:40%;
    max-width:60%;
    }

.video-container
	{
	margin-bottom:1.3125rem;
	}

.content-blocks-3x > li, .content-blocks-3x > li:nth-child(odd), .content-blocks-3x > li:nth-child(even), .content-blocks-4x > li, .content-blocks-4x > li:nth-child(odd), .content-blocks-4x > li:nth-child(even)
	{
    float:left;
    margin-left:2%;
    clear:none;
    }

.content-blocks-3x > li
	{
    width:32%;
    }

.content-blocks-4x > li
	{
    width:23.5%;
    }

.content-blocks-3x > li:nth-child(3n+1), .content-blocks-4x > li:nth-child(4n+1)
	{
    margin-left:0;
    clear:left;
    }

@media screen and (min-width:1188px)
    {
    #content
		{
		/*width:880px;*/
		}
	
	#transitionwelcome .modal-content
        {
        max-width:40%;
        }
	
	.video-container
	    {
        max-width:550px/*880px*/;
        padding-bottom:309px !important/*495px*/; /* 16/9 ratio */
	    }
	
	.video-container iframe, .video-container object, .video-container embed
	    {
        max-height:309px/*495px*/;
	    }
	
	.btn-callout, .btn-return, .content-blocks-2x ol, .content-blocks-2x ul, .content-blocks-rows ol, .content-blocks-rows ul, .content-blocks-reversed ol, .content-blocks-reversed ul, .content-blocks-3x ol, .content-blocks-3x ul, .content-blocks-4x ol, .content-blocks-4x ul
        {
	    font-size:1em;
	    }

    .btn-callout a, .btn-callout-alt a
	    {
        margin-right:1.75rem;
        }

    .btn-return a
	    {
	    margin-left:1.75rem;
        }
	
    .btn-callout span, .btn-callout-alt span
	    {
	    right:-1.75rem;
        }

    .btn-return span
	    {
	    left:-1.75rem;
        }
    }


/* Summary/Item list
--------------------------------------------------------------------------------*/

ul.itemlist, ol.itemlist
	{
    margin:0.3125rem 0 1.3125rem;
    }

/*.itemlist li
	{
    width:30.25%;
    margin:0 2.25% 1.3125rem 0;
    }

.itemlist li a.iteminfo
	{
    height:260px;
    }*/

.itemlist li a.iteminfo span
	{
    width:100%;
    padding:0;
    }

.itemlist li a.iteminfo img
	{
    float:none !important;
    margin:0 auto 0.5rem;
    }

.itemlist strong
	{
    font-size:1em;
    }

.itemlist em
	{
    padding-bottom:1em;
    font-size:0.875em;
    }


/* Lightbox galleries
----------------------------------------------------------------------------------*/

@media screen and (min-width:1188px)
	{
	.lb-gallery
		{
		margin-bottom:1.5rem;
		}
	}


/* Paired galleries
----------------------------------------------------------------------------------*/

@media screen and (min-width:1188px)
	{
    .pairedlist strong
		{
        font-size:1.5em;
        }

    .pairedlist em
		{
        font-size:1em;
        }
	}


/* Google map
----------------------------------------------------------------------------------*/

.map
	{
	float:right;
	width:64%;
	margin:0 0 1.5rem 1.5rem;
	}

/*@media screen and (min-width:1188px)
	{
	}*/


/* Supplemental
----------------------------------------------------------------------------------*/

.supplemental
	{
	width:100%;
    padding-top:2rem;
    padding-bottom:2rem;
    padding-left:-moz-calc((100% - 950px) / 2);
    padding-left:-webkit-calc((100% - 950px) / 2);
    padding-left:calc((100% - 950px) / 2);
    padding-right:-moz-calc((100% - 950px) / 2);
    padding-right:-webkit-calc((100% - 950px) / 2);
    padding-right:calc((100% - 950px) / 2);
	}

.supplemental h2
	{
	font-size:1.75em;
    }

#supplemental-services
    {
    background-color:#fff;
    }

#supplementaldonation
	{
    margin-bottom:54px;
    }

@media screen and (min-width:1188px)
    {
    .supplemental
		{
	    padding-top:2.5rem;	
        padding-left:-moz-calc((100% - 1140px) / 2);
		padding-left:-webkit-calc((100% - 1140px) / 2);
		padding-left:calc((100% - 1140px) / 2);
		padding-right:-moz-calc((100% - 1140px) / 2);
		padding-right:-webkit-calc((100% - 1140px) / 2);
		padding-right:calc((100% - 1140px) / 2);
		}
	
	.supplemental h2
		{
		font-size:1.875em;
		}
    }


/* Footer
----------------------------------------------------------------------------------*/

#footer
	{
    position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:54px;
    padding-top:0.75rem;
	padding-left:-moz-calc((100% - 950px) / 2);
    padding-left:-webkit-calc((100% - 950px) / 2);
    padding-left:calc((100% - 950px) / 2);
    padding-right:-moz-calc((100% - 950px) / 2);
    padding-right:-webkit-calc((100% - 950px) / 2);
    padding-right:calc((100% - 950px) / 2);
    -moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
    }

@media screen and (min-width:1188px)
    {
    #footer
		{
		padding-left:-moz-calc((100% - 1140px) / 2);
		padding-left:-webkit-calc((100% - 1140px) / 2);
		padding-left:calc((100% - 1140px) / 2);
		padding-right:-moz-calc((100% - 1140px) / 2);
		padding-right:-webkit-calc((100% - 1140px) / 2);
		padding-right:calc((100% - 1140px) / 2);
		}
    }


/* Forms 
----------------------------------------------------------------------------------*/

.basicform
    {
    width:69%;
    margin:0 0 54px;
    }
	
.simpleform select
	{
	font-size:0.875em;
	}

@media screen and (min-width:1188px)
	{
	.basicform fieldset legend
		{
		font-size:1.75em;
		}

	.basicform fieldset ol ol li.noinput, .basicform fieldset ol ul li.noinput
		{
		line-height:1.5em;
		}
		
	.basicform fieldset ol ol li.noinput, .basicform fieldset ol ul li.noinput, .basicform fieldset label, .basicform fieldset .text-nofield, .basicform fieldset .textbox, .basicform fieldset .mediumtextbox, .basicform fieldset .shorttextbox, .basicform fieldset select, .basicform fieldset textarea, .basicform fieldset fieldset legend, .basicform fieldset fieldset.subtextboxes legend, .basicform fieldset fieldset label, .basicform fieldset fieldset.subtextboxes label, .basicform fieldset fieldset.longlist label, .basicform fieldset fieldset.longlist span.checkbox, .basicform fieldset fieldset.longlist span.checkbox label, .basicform fieldset .btn-form, .simpleform label, .simpleform .textbox, .simpleform select, .simpleform textarea, .simpleform .fileupload, .simpleform .btn-form
		{
		font-size:1em;
		}
	}


/* Horizontal rules
----------------------------------------------------------------------------------*/

.hr
	{
	margin-bottom:1.3125rem;
	}

@media screen and (min-width:1188px)
	{
	.hr
		{
		margin-bottom:1.5rem;
		}
	}