﻿body {
	/* we control this via fluid layout, they should never have to scroll left/right, 
	   but suppress because the vertical scrollbar messes with the width */
	overflow-x: hidden; 
	zoom: 1;
	min-width: 320px;
}

/* allow collapsed content to be printed */
@media print {
    .collapse { height: 100%;display: block;}
}

p { padding: 0 10px; }

/* bootstrap override, because we DO want the contents within the table to wrap */
.table-responsive > .table > thead > tr > th, 
.table-responsive > .table > tbody > tr > th, 
.table-responsive > .table > tfoot > tr > th, 
.table-responsive > .table > thead > tr > td, 
.table-responsive > .table > tbody > tr > td, 
.table-responsive > .table > tfoot > tr > td {
    white-space: normal;
}

/* Leave this here - in the 'main panel' content area, ul and ol have 0 padding and cannot be
   nested in a <p> tag, so this handles the correct padding. 
   Also, this MUST be within the content, otherwise the ul and ol markup in the menu will have incorrect padding */
.content ul, 
.content ol { padding-right: 10px;}

.content h2:first-of-type {
    display: block;
    margin: 20px 10px;
}

.sub-list { padding: 0 15px !important; }
.paragraph { padding: 0 10px;margin: 0 0 10px;}

ul.a { list-style-type: disc !important;
       padding: 0 45px !important; }

.required { padding: 0 3px;color: red;}
.error-message { text-align: center;display: block;width: 100%;color: red;}

a.arrow {
    background: #fff url(./images/arrow_down_orange.gif) no-repeat;
    padding: 0 0 0 15px;
    background-position: 0 3px;
    display: inline-block; /* this is so the text wraps correctly and observes the padding */
}
a.arrow.collapsed {
    background: #fff url(./images/arrow_up_orange.gif) no-repeat top left;
}

a.btn { text-decoration: none;}

.event-tracking { /* this is included solely to avoid warnings in the markup 
                     it is used in jquery to send tracking events to google analytics */}
.disable-anchor { /* prevents page from jumping on blank <a> tag */}

[data-toggle="popover"] {cursor: pointer;}

.step-container {
    display: none; /* hide on load, handle display with jquery */
    background: transparent url(./images/Airports/bg_top.gif) repeat-x !important;
    min-height: 40px;
}
.step-container table tr > td {
    padding: 10px 20px 10px 5px;
    vertical-align: top;
}

.step-header {
    padding: 10px 0;
}

.step-tabs { 
	list-style: none; 
	overflow: hidden; 
	font: 18px Helvetica, Arial, Sans-Serif;
	padding: 0;
	background: none;
	border-radius: 0;
	margin-top: 15px;
    margin-bottom: 0;
}
.step-tabs li { 
	float: left; 
}
.step-tabs li a {
	color: white;
	text-decoration: none; 
	padding: 10px 0 10px 55px;
    background: #A0AAB2;
	position: relative; 
	display: block;
	float: left;
}

.step-tabs li a.active {
    background: #3c7eb5;
}

.step-tabs li a:after { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	border-left: 30px solid #A0AAB2;
	position: absolute;
	top: 50%;
	margin-top: -50px; 
	left: 100%;
	z-index: 2; 
}	

.step-tabs li a.active:after {
    border-left-color: #3c7eb5;
}
.step-tabs li a:before { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	border-left: 31px solid white;
	position: absolute;
	top: 50%;
	margin-top: -50px; 
	margin-left: 0;
	left: 100%;
	z-index: 1; 
}	
.step-tabs li:first-child a {
	padding-left: 25px;
}
.step-tabs li:last-child a {
    padding-right: 25px;
}
.step-tabs li:last-child a:after { border: 0; } 
.step-tabs li a:hover {
    background: #3c7eb5;
    background: rgba(60, 126, 181, .8); color: white !important;
}

.step-tabs li a:hover:after {
    border-left-color: #3C7EB5 !important;
    border-left-color: rgba(60, 126, 181, .8) !important;
}

.gallery img,
.gallery .gallery-image { display: none;} /* to avoid the 'flash' of all images displaying before the page is fully loaded */

.gallery img:first-child,
.gallery .gallery-image:first-child { display: block !important;visibility: visible;}  /*display the first image */
.gallery-image { width: 100%;height: auto;}
.gallery-nav a {
    display: block;
    float: left;
    border: 1px solid #047cb8;
    font-size: 9px;
    padding: 0 3px;
    text-decoration: none;
    margin: 0 2px;
    color: #047cb8 !important;
}

.gallery-nav a:hover,
.gallery-nav a:active { text-decoration: none;}

#FeaturesGallery-Nav { margin-top: 5px;}

.cycle-pager-active a,
.cycle-pager-active a:active,
.cycle-pager-active a:hover {
    background: #047cb8 !important;
    color: white !important;
    text-decoration: none !important;
}

#PDXHomeFacebookTab > iframe,
#PDXHomeTwitterTab > iframe {
	width: 100% !important;
}

.parking {color: white;font-size: 11px; float: left; width: 100%; margin-bottom: 5px; }
.parking > div { display: table-cell;}
.parking > div:first-child { min-width: 85px;padding: 4px 7px;}
.parking > div:nth-child(2) { width: 100%;padding-top: 5px;}
.parking > div:last-child {color: black; min-width: 55px;padding: 0 10px;vertical-align: middle;}

.progressBar {
	height: 12px;
    border: 1px solid lightgray;
	border: 1px solid rgba(0,0,0,.15);
	border-left: none;
	background-color: transparent;
}

.progressBar div { height: 10px; width: 0; }

.full { background-color: #c93636;}
.empty { background-color: #3c8dba; }

section > div { background: white;padding-bottom: 20px; }

footer {font-size: 12px; color: white; padding: 10px 0; }
footer a, 
footer a:hover { text-decoration: none; color: white; }

input { line-height: normal; }

/***************** jQuery-UI Overrides ************/
.ui-tabs .ui-tabs-nav {
   /* margin-left: -3px !important;  jquery ui tabs to align with the left edge of the content */
	font-size: 11px;
}

.ui-tabs .ui-tabs-panel { padding: 10px 5px !important;}

/***************** =Header *****************/

#headerRow .logo {
    margin: 15px 5px;
}

#mainMenu > ul > li > a { padding: 0; margin: 0; }
#mainMenu > .list-inline > li { padding: 0; float: left; }

#courtesyNav { padding-top: 30px; float: right; width: auto; color: white; text-decoration: none; font-weight: bold; font-size: x-small; }
#courtesyNav > ul { list-style: none; padding-left: 0; display: inline-block; padding: 5px; float: left; }
#courtesyNav > .social-buttons { float: right; }
#courtesyNav > ul > li { display: inline-block; padding-right: 10px; padding-left: 5px; border-right: 1px solid white; font-size: x-small; }
#courtesyNav > ul > li:last-child { border-right: none; }

.green-side {
	float: right;
	position: absolute;
	top: 0;
	right: 0;
	clear: both;
	padding-right: 0;
	width: 140px;  
}

.courtesy-links > li > a, 
.courtesy-links > li > a:hover { color: #fff; text-decoration: none; }

.social-buttons > a, 
.social-buttons > a:hover { text-decoration: none; padding: 0; }
.social-buttons > a:last-child { padding: 0; }

.header-links-search {
	border: 0;
	margin: 0;
	position: relative;
	width: 409px;
	float: right;
	padding-top: .5em;
	padding-right: 1em;
}

/*=Google =GoogleCustomSearch Overriding Google Site Search because of I.E. 9*/
input.gsc-search-button, input.gsc-search-button:hover, input.gsc-search-button:focus {
	border-color: rgb(111, 168, 220) !important;
	background-color: rgb(111, 168, 220) !important;
	background-image: none !important;
	filter: none !important;
	-webkit-box-sizing:content-box;
	 -moz-box-sizing:content-box;
		  box-sizing:content-box;
}

.gsc-control-cse { border: 0 !important; padding: 0 1em !important; }
.gsc-input { margin-top: -5px !important; }

/************* End Header ******************/

/************* =LeftNav =Sidebar =LeftMenu ******************/

.row-offcanvas { 
	position: relative;
	-webkit-transition: all 0.25s ease-out;
	-moz-transition: all 0.25s ease-out;
	transition: all 0.25s ease-out;
}

.sidebar-offcanvas {position: absolute; top: 0} 

.navbar-toggle { display: block;  float: left;  margin: 5px;  border: 0; }

.navbar-default .navbar-toggle { border-color: #3b8cce; }
.navbar-default .navbar-toggle .icon-bar { background-color: #fff; } 
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus { background-color: #0e5c9d; }

.content-header {
	border: 0;
	padding: 15px;
	min-height: 100px;
}

#leftNav {
	box-sizing: border-box;
	float: left;
	padding: 30px 15px;
}

#leftNav > .left-nav-heading {
	list-style: none;
	border-bottom: #4086ba 2px solid;
	font-weight: bold;
	font-size: x-small;
	width: 100%;
	padding: 4px 0 2px 0;
	margin: 0;
}

#leftNav > .left-nav-heading > li > a,
#leftNav > .left-nav-submenu > li > a {
   display: block;
   text-decoration: none;
   padding: 3px 0;
}

#leftNav > .left-nav-heading > li > a { color: #4086ba; }
#leftNav > .left-nav-submenu > li > a { color: #454545; }
#leftNav > .left-nav-submenu { list-style-image: url(./images/menu_arrow.gif); padding-left: 15px; margin-bottom: 0 !important; }
#leftNav > .left-nav-submenu > li { border-bottom: 1px solid #d7d7d7; font-size: x-small; }

#leftNav > ul > li:hover, 
#leftNav > ul > li.active {
	background: #dbe6f4;
	cursor: pointer;
}

/************* End Left Nav ******************/

/************* =LeftNav =Mobile =MobileMenu ******************/

#navButtonForTabletAndMobile { float: left; background-color: transparent; border-color: transparent; }
#navButtonForTabletAndMobile.navbar { min-height: 0; margin-bottom: 0; }

#courtesyNavMobile { padding: 10px 0 25px 30px; border-top: 1px solid #d7d7d7;  }
#courtesyNavMobile > ul { list-style: none;padding: 0;}
#courtesyNavMobile > ul > li { padding: 10px 0; font-size: small; }

#sidebarAndSearch { border-bottom: 1px solid #3f769f; }

.row-offcanvas-left #leftNavMobile {
    display: none !important;
}

.row-offcanvas-left.active #leftNavMobile {
    display: block !important;
}

#leftNavMobile {
	max-height: 100%; 
	overflow-y: auto; 
	z-index: 1000;  
	padding-top: 15px;
}

#leftNavMobile > .left-nav-heading { list-style: none; padding: 5px 0 5px 15px; margin: 0; }
#leftNavMobile > ul > li:hover, 
#leftNavMobile > ul > li.active {
	background: #3677ad;
}

#leftNavMobile > .left-nav-heading > li > a, 
#leftNavMobile > .left-nav-submenu > li > a {
	display: block;
	text-decoration: none;
	color: white;
}

#leftNavMobile > .left-nav-heading > li > a { font-weight: bold; font-size: small; padding: 5px 0 5px 15px; }
#leftNavMobile > .left-nav-submenu { list-style: none; margin-bottom: 5px; padding-left: 15px; }
#leftNavMobile > .left-nav-submenu > li > a { font-size: small; padding: 5px 0 5px 25px; }

/************* End Mobile Nav ******************/

/************* =MainContent ******************/

#mainContent { margin: 0; padding: 0; min-height: 400px; }

/************* End Main Content ******************/

/************* =Services ******************/
.services { padding: 0 15px !important;background: white;}
.services > table > tbody > tr:nth-child(odd) { background: ghostwhite; }
.services > table th { padding: 10px 0; background: none; }
.services > table td { padding: 5px 5px 5px 15px; }

/*********** =Panels =PartialViews ********/

#ParkingTabs { margin: 0 -12px;color: black;}
		#ParkingTabs a { padding: 5px;}

.panel { border: 0;padding-bottom: 10px;}
.panel .panel-body { padding: 0 15px; font-size: x-small; }
.panel-heading { padding: 2px 15px; border-top-right-radius: 0; border-top-left-radius: 0; }
.panel-title { padding: 2px 12px 5px 15px; background-color: #EDF8FE; overflow: auto; margin-bottom: 5px; }
.panel-body > div { border-bottom: 1px solid #BACCDE; width: 100%; padding: 5px 0; }
.panel-body a { cursor: pointer; }

.meetings-and-updates { width: 100%; }
.meetings-and-updates tr:nth-child(even) { border-bottom: 1px solid #BACCDE; width: 100%; padding: 5px 0; }
.meetings-and-updates tr td:first-child {width: 20%;min-width: 125px; padding: 3px; }

.small-icon {
	padding: 7px 5px 10px 0;
	background: white;
    width: 33px;
    height: auto;
}

.medium-icon {
    width: 42px;
    height: 42px;
    padding: 0 5px;
    border: 0;
}

.contact-image {
    width: 60px;
    height: 85px;
}

.icon-pdf {
    background: url(./images/Icon_pdf.gif) no-repeat top left;
    padding: 3px 20px;
}

.quick-links {
	vertical-align: middle;
	height: 43px;
	line-height: 43px;
	padding-left: 15px;
	margin-left: -13px;
	margin-right: -13px;
}

.quick-links img {
	margin-top: 8px;
	padding-right: 5px;
}

.quick-links a {
	font-size: 10px;
	text-decoration: none;
	font-weight: bold;
}

.Contentpanel-body > h4 {
	display: block;
	margin: 0 0 10px 0;
}

.features > div {
	padding: 0 15px 0 0;
}

.features > div:last-child {
	 padding-right: 0;
}

.quick-links-column {
	padding-left: 0;
	/*float: right;*/
}

#WhatsNewTabs {
	margin-top: 5px;
}
			
#DateIn, #DateOut, #TimeIn, #TimeOut { display: table;cursor: pointer;}
#DateIn input,
#DateOut input,
#TimeIn input,
#TimeOut input {
	cursor: pointer !important;
}
#DateIn, #TimeIn { border-bottom: 1px solid white;}

#ParkingEstimatorCostPanel {
	background-color: #EDF8FE;
	width: 100%;
	display: table;
	border: solid 1px rgba(0, 0, 0, .15);
	border-radius: 5px;
	padding: 5px
}

#ParkingEstimatorCostPanel table { width: 100%;}
#ParkingEstimatorCostPanel td {font-size: .9em;padding: 8px 2px;}
#CalculateParkingCostsBtn { width: 100px;margin: 10px 0;text-decoration: none;color: white;}

.bulletin-board > ul > li > a { color: #4086ba; }
.bulletin-board > ul  > li > a { color: #454545; }
.bulletin-board > ul  { list-style-image: url(./images/red_arrow.gif); padding-left: 15px; margin-bottom: 0 !important; }
.bulletin-board > ul  > li { border-bottom: 1px solid #d7d7d7; font-size: x-small;padding: 3px 0; }


.ui-panel-dismiss-open { background-color: rgba(0, 0, 0, 0);}
.ui-header { border-color: rgba(255, 255, 255, .5); }
.ui-content { padding: 0;}
.ui-panel-page-content-position-left.ui-panel-page-content-display-push { width: 100%;}
.ui-input-text { margin: 0;border: none;}
.ui-datepicker-group { display: table;width: 100%;}
.ui-datepicker-group > div:first-child { padding-bottom: 10px;border-bottom: 1px solid rgba(0,0,0,.15);}
/*.ui-datepicker-group > div {display: table-cell;width: 50%;}
.ui-datepicker-group > div:first-child { padding-right: 5px;}
.ui-datepicker-group > div:last-child { padding-left: 5px;} */

.icon-bar { background-color: white;}
.navbar-toggle { margin: 5px; display:block !important /* overrides bootstraps toggle hide */}
.datepicker, .timepicker { color: black;}
.bootstrap-datetimepicker-widget td { height: 30px;line-height: 30px;}
.bootstrap-datetimepicker-widget td span { color: black;height: 30px; line-height: 30px; }

.cost {
	display: block;
	background-color: rgba(66, 130, 168, .6);
	line-height: 25px;
	text-align: center;
	padding: 1px 5px;
	border-radius: 6px;
}

/*sortable*/
.sortable {overflow: auto;}
.sortable > div { border-bottom: 1px solid #BACCDE; width: 100%; padding: 5px 0; }
.ui-sortable-helper { background-color: #eee; }
.sortable div:last-child { border-bottom: none!important; padding-bottom: 0; }
.sort-btn { color: white !important; font-size: 14px !important; }


/* obscure small mobile size when the mainMenu buttons and logo need to start resizing */
@media screen and (max-width: 538px) {
   
	#mainMenu > ul > li { width: 25%; } 

	.logo { width: 50%; }

	.features-gallery {
		width: 100% !important;
		float: none;
		border: none !important;
	}

	.features-gallery > img {
		padding: 0 !important;
	}

}

/* collapsed sidebar styles */
@media screen and (max-width: 767px) {

	#searchBox { width: 83%; min-width: 252px; max-width: 409px; }
	#navButtonForTabletAndMobile > .container > .navbar-header { margin-left: 15px; }
	#navButtonForTabletAndMobile > .container > .navbar-header.active { margin-left: 50px; }

	/* overwrite bootstrap default */
	.navbar-nav { margin: 0; }

	.row-offcanvas-left.active > #leftNavMobile {
		height: 100%;
		background-color: #50a0db;
		min-width: 80%;
		/*margin-left: 15px;*/
	}
  
	.row-offcanvas-left .sidebar-offcanvas { display: none; left: -80%; }
	.row-offcanvas-left.active { display: block; left: 80%;  }

	.content-header { min-height: 85px; }

}

@media screen and (min-width: 768px) {

	.content-header { min-height: 85px; }

	.row-offcanvas-left.active > #leftNavMobile {
		height: 100%;
		background-color: #50a0db;
		min-width: 50%;
		/*margin-left: 15px;*/
	}

	.row-offcanvas-left 
	.sidebar-offcanvas { display: none; left: -50%; }

	.row-offcanvas-left.active { display: block; left: 50%;  }

}

@media screen and (min-width: 539px) and (max-width: 991px) {

	.features-gallery {
		/* stack side-by side in between 768 and 991*/
		width: 50% !important;
		float: left;
		border: none !important;
	}

	.features-gallery:first-child > img {
		padding: 0 5px 0 0 !important;
	}

	.features-gallery:last-child > img {
		padding: 0 0 0 5px !important;
	}

}

@media screen and (max-width: 991px) {

	#content {
		margin: 0;
	}

    #content > div {
		padding: 0;
	}

    .content {
        margin: 0;
    }

    .content > div {
        padding: 0;
    }

	.quick-links-column {
		float: none;
	}

	h2,
   .h2 { font-size: 24px;}

	.features > div {
		padding: 0;
	}

}

@media screen and (min-width: 992px) {
	
	.row-offcanvas-left.active > #leftNavMobile {
		height: 100%;
		background-color: #50a0db;
		min-width: 0;
		/*margin-left: 15px;*/
		z-index: -1;
	}
  
	.row-offcanvas-left 
	.sidebar-offcanvas { display: none; left: -70%; }

	.row-offcanvas-left.active { left: 0; }

	.features-gallery {
		/* stack side-by side in between 768 and 991*/
		width: 100% !important;
		float: none;
	}

	.features-gallery:first-child > img {
		padding: 0 !important;
	}
	
}

@media screen and (max-width: 1199px) {
	.ui-tabs .ui-tabs-nav {
		font-size: 10px;
		padding: 5px 0 0 !important;
	}
}

@media screen and (min-width: 1200px) {
	
	#headerRow, 
	#searchBox { margin-right: 75px; }

	.pop-wrapper { margin: 0 auto; width: 1100px; }

}

/* =loading spinner */
/* Absolute Center Spinner */
.loading {
    display: none;
    position: fixed;
    z-index: 999;
    height: 2em;
    width: 2em;
    overflow: visible;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

/* Transparent Overlay */
.loading:before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    background-color: rgba(255,255,255,.75);
}

/* :not(:required) hides these rules from IE9 and below */
.loading:not(:required) {
    /* hide "loading..." text */
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.loading:not(:required):after {
    content: '';
    display: block;
    font-size: 10px;
    width: 1em;
    height: 1em;
    margin-top: -0.5em;
    -webkit-animation: spinner 1500ms infinite linear;
    -moz-animation: spinner 1500ms infinite linear;
    -ms-animation: spinner 1500ms infinite linear;
    -o-animation: spinner 1500ms infinite linear;
    animation: spinner 1500ms infinite linear;
    border-radius: 0.5em;
    -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
    box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
}

/* Animation */

@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}