﻿/*
 * CSS for the new responsive Careers Explorer.
 *
 * Designed around three resolutions:
 *  up to 600px : mobile, simple vertical layout.
 *  up to 800px : tablet, two columns.
 *       801px+ : desktop, two/three columns.
 */
html
{
	background-color: #f3f3f3;
}
body
{
	font-family: "Helvetica Neue",Arial,Helvetica,Verdana,sans-serif;
	margin: 0;
	padding: 0;
}
/*
 * Each strip extends the full width, with content in the middle.
 */
div#headerExtent
{
	width: 100%;
	border-bottom: 1px solid #c8c8c8;
	position: fixed;
	background-color: #f3f3f3;
	z-index: 11;	/* Google tables charts uses 10. */
}
div#header-strip
{
	max-width: 1024px;
	max-width: 1200px;
	max-width: 1100px;
	max-width: 1060px;
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
}
div.block
{
	width: auto;
}
@media (max-width: 600px)
{
	div#headerExtent
	{
		border-bottom: none;
		position: static;
	}
}
/* Content of header, allowing for logo. */
div#header-content
{
	padding: 24px 0 0 290px;
}
@media (max-width: 1023px)
{
	div#header-content
	{
		padding: 24px 0 0 270px;
	}
}
@media (max-width: 800px)
{
	div#header-content {
		padding: 24px 0 0 270px;
	}
}
@media (max-width: 600px)
{
	div#header-content {
		padding: 16px 0.4px 0 4px;
		padding: 0.5em 0.5em 0 0.5em;
		padding: 16px 16px 0 16px;
	}
}
/*
 * Logo. Fixed size, fixed position.
 */
div#logoFrame
{
	position: absolute;
	width: 216px;
	height: 170px;
	background-color: white;
	border: 1px solid #c8c8c8;
	border-top: none;
	padding: 4px 4px;
	padding: 16px 16px;
	text-align: center;
}
div#logoFrame p
{
	height: 2.5em;
	vertical-align: middle;
	padding: 0;
	margin: 0;
}
div#logoFrameBox
{
	height: 100%;
	height: calc(100% - 2.5em);
}
div#logFrame.withText
{
}
div#logoFrame p.valign-helper
{
	display: inline-block;
	height: 100%;	/* Must be in a fixed height div */
	width: 0;
	vertical-align: middle;
	margin: 0;
	border: 0px;
	overflow: hidden;
}
div#logoFrame img
{
	display: inline-block;
	vertical-align: middle;
	
	max-height: 100%;
	max-width: 100%;
	margin: 0;
	border: 0px;
	height: auto;
	width: auto;
}
@media (max-width: 600px)
{
	div#logoFrame
	{
		position: static;
		height: 160px;
		height: 120px;
		width: 100%;
		border: none;
		border-bottom: 1px solid #c8c8c8;
	}
}
/*
 * Search area.
 */
div.layout-table
{
	display: table;
	width: 100%;
	max-width: 40em;
}
div.layout-row
{
	display: table-row;
}
div.layout-row div
{
	display: table-cell;
}
div#header-content div.layout-table
{
	width: 100%;
	max-width: 550px;
	max-width: 750px;

	width: 74%;
	width: calc(74% - 1em);
}
@media (max-width: 800px)
{
	div#header-content div.layout-table
	{
		width: 95%;
	}	
}
@media (max-width: 600px)
{
	div#header-content div.layout-table
	{
		width: 100%;
	}	
}
div.search-text
{
	vertical-align: middle;
	background-color: white;
	padding: 0 0.5em 0 0.5em;
	border-left: solid 2px #c8c8c8;
	border-top: solid 2px #c8c8c8;
	border-bottom: solid 2px #c8c8c8;
}
div.search-button
{
	vertical-align: middle;
	width: 40px;
	text-align: center;
	border-right: solid 2px #c8c8c8;
	border-top: solid 2px #c8c8c8;
	border-bottom: solid 2px #c8c8c8;
	background-color: #f3f3f3;
}
div.search-text input[type=text]
{
	font-size: 1.1em;
	width: 99%;
	margin: 0;
	padding: 0;
	border: 0;
}
p.columns
{
	display: table-row;
	display: table;
}
p.columns span.column
{
	display: table-cell;
	white-space: normal;
}
div#header-content input[type=radio]
{
	margin-left: 1em;
}
span.nowrap,
span.keep-together 
{
	white-space: nowrap;
}
/* Point at which explorer radio buttons should become fixed width - so they line up when wrapped. */
@media (max-width: 680px)
{
	div#header-content p.columns span.keep-together
	{
		display: inline-block;
		min-width: 9.5em;
	}
}
p#occupation span
{
	font-weight: bold;
}
/*
 * Static filler. Used for padding, but only on desktop.
 */
div#staticTopFiller
{
	background: white;
	height: 8em;
}
div#staticTopFiller p
{
	padding: 0;
	margin: 0;
}
@media (max-width: 600px)
{
	div#staticTopFiller
	{
		display: none;
	}
}
/*
 * Section tabs. Down side on wide screen, across the top on narrow.
 */
ul#section-tabs
{
	position: absolute;
	top: 203px;
	width: 250px;
	list-style-type: none;
	margin: 5px 0 0 15px;
	padding: 0;
	margin: 0;
}
ul#section-tabs li
{
    padding: 15px 0 15px 15px;
    padding: 15px 0 15px 50px;
    padding: 20px 0 20px 65px;
    padding: 1em 0 1em 65px;
    font-size: 1.2em;
	border-bottom: solid 1px #c8c8c8;
	border-right: solid 1px #c8c8c8;
/*
    margin: 1px 0 2px 0;
*/
}
ul#section-tabs a
{
	color: #919191;
	color: #646464;
	text-decoration: none;
}
ul#section-tabs li
{
	background-color: #f3f3f3;
	padding-left: 20px;
}
ul#section-tabs li.active
{
    background-color: white;
	box-shadow: -1px 1px 0px 0px #c8c8c8;
	box-shadow: none;
	border-left: solid 1px #c8c8c8;
	border-bottom: solid 1px #c8c8c8;
	border-right: none;
}
ul#section-tabs li:hover {
    background-color: white;
}
/*
ul#section-tabs li.requirements-active a
{
	color: #646464;
	color: #919191;
}
*/
@media (max-width: 600px)
{
	ul#section-tabs
	{
		position: static;
		width: auto;
		word-spacing: 0px;
		display: block;
		padding: 0;
		padding-left: 0.5em;
		padding-left: 12px;
		border-bottom: 1px solid #c8c8c8;
	}
	ul#section-tabs li
	{
		display: inline-block;
		border: solid 1px #c0c0c0;
		border-bottom: none;
		box-shadow: none;
		padding: 0.25em 0.5em 0.25em 0.5em;
		margin: 0 0 0 0;
		line-height: 2em;
		word-spacing: 0;
		border-radius: 0 10px 0 0;
		border-radius: 0 9px 0 0;
		font-size: 1em;
		white-space: nowrap;
		margin-bottom: -1px;
	}
	ul#section-tabs li.search,
	ul#section-tabs li.charts,
	ul#section-tabs li.requirements,
	ul#section-tabs li.providers
	{
		background: none;
		box-shadow: none;
		border-bottom: 1px solid #c8c8c8;
	}
	ul#section-tabs li.search-active,
	ul#section-tabs li.charts-active,
	ul#section-tabs li.requirements-active,
	ul#section-tabs li.providers-active
	{
		background: none;
		box-shadow: none;
	    background-color: white;
		border-bottom: 1px solid white;
		border-right: 1px solid #c8c8c8;
	}
}
/*
 * Body.
 */
div#bodyExtent
{
	width: 100%;	
	background-color: white;
	min-height: 18em;
}
div#body-strip
{
	max-width: 1024px;
	max-width: 1200px;	
	max-width: 1100px;
	max-width: 1060px;
	max-width: 1080px;
	margin: 0 auto;
}
div#body-content
{
	padding-left: 290px;
	white-space: nowrap;
}
div#body-content div.content
{
	white-space: normal;
	display: block;
	padding: 0 20px 0.5em 0;
}
div#body-content div.content h2:first-child {
	/* To stop margin-overlap. */
	margin-top: 0;
}
div#body-content div.major-content
{
	display: inline-block;
	width: 74%;
	width: calc(74% - 40px);
	
	white-space: normal;
	padding-right: 40px;
}
div#body-content div.minor-content
{
	display: inline-block;
	width: 25%;
	vertical-align: top;
	
	white-space: normal;
}
div#body-content div.minor-top-content
{
	display: block;
	width: 25%;
	float: right;
	vertical-align: top;
	
	white-space: normal;
}
div.clear
{
	clear: both;
}
div#body-content h1
{
	font-size: 1.6em;
	border-bottom: 1px solid #646464;
	margin-bottom: 1em;
	color: #646464;
	font-weight: normal;
	padding: 0;
	padding-top: 1em;
}
div#body-content h2
{
	font-size: 1.5em;
	border-bottom: 1px solid #646464;
	margin-bottom: 1em;
	color: #646464;
	font-weight: normal;
	padding-top: 1em;
}
div#body-content h3
{
	font-size: 1.2em;
	padding-bottom: 2px;
	border-bottom: 1px solid #646464;
	margin-bottom: 1em;
	color: #646464;
	font-weight: normal;
}
div#body-content div.minor-top-content h3
{
	margin-bottom: 0.25em;
}
div#body-content div.h2-no-underline h2,
div#body-content div.h2-no-underline h3
{
	border-bottom: none;
	padding-top: 0;
	padding-bottom: 0;
}
div#body-content p,
div#body-content li
{
	line-height: 1.5em;
/*	margin-top: 19px;	*/
	margin-top: 0;
	padding-top: 1em;
}
div#body-content h2.top
{
	padding-top: 0;
}
div#body-content div.content p,
div#body-content div.major-content p
{
	text-align: justify;
}
/*
p.left-align 
{
	text-align: left !important;
}
*/
p.has-buttons
{
	text-align: left !important;
	line-height: 3.25em !important;
}
@media (max-width: 1023px)
{
	div#body-content
	{
		padding-left: 270px;
	}
	div#body-content div.major-content
	{
		padding-right: 20px;
	}
}
@media (max-width: 800px)
{
	div#body-content
	{
		overflow: auto;
		white-space: normal;
		padding-left: 270px;
	}
	div#body-content div.major-content
	{
		display: block;
		width: auto !important;
	}
	div#body-content div.minor-content,
	div#body-content div.minor-top-content
	{
		display: block;
		width: auto !important;
		padding-right: 1em;
		float: none;
	}
	div#body-content h2
	{
		padding-top: 0.5em;
	}
}
@media (max-width: 600px)
{
	div#body-content
	{
		padding: 0px 4px 0 4px;
		padding: 0 0.5em 0 0.5em;
		padding: 0 16px 0 16px;
	}
	div#body-content div.content
	{
		padding-right: 0;
	}
	div#body-content div.major-content
	{
		padding-right: 0;
	}
	div#body-content div.minor-content,
	div#body-content div.minor-top-content
	{
		padding-right: 0;
	}
}
/*
 * Footer.
 */
div#footerExtent
{
	background-color: #f3f3f3;
	width: 100%;
	border-top: 1px solid #c8c8c8;
}
div#footer-strip
{
	max-width: 1024px;
	max-width: 1200px;
	max-width: 1100px;
	max-width: 1060px;
	max-width: 1080px;
	margin: 0 auto;
	padding-top: 1em;
	text-align: center;
}
div#footer-strip ul
{
	padding-left: 0;
	margin-left: 0;	
}
div#footer-strip li
{
	display: inline;
	white-space: nowrap;
}
div#footer-strip li:after{
	content: ' \00a0 \00a0 ';
}
/*
 * Listing styles.
 */
div#resultscontainer > h2
{
	padding-bottom: 0;
	margin-bottom: 0;
}
div#enquiry-options
{
    padding: 25px 0;
    margin: 25px 0;
    border-bottom: 1px solid #646464;
    border-top: 1px solid #646464;
}
span.label
{
	white-space: nowrap;
}
div#enquiry-options span.label
{
    display: inline-block;
	white-space: nowrap;
}
/*
div#enquiry-options .label span
{
    margin-right: 5px;
}
*/
div#enquiry-options span.label img
{
    vertical-align: middle;
	margin-left: -4px;
	margin-right: -2px;
}
ul.simple-list
{
	list-style: none;
	padding-left: 0;
}
ul.simple-list li
{
	padding-bottom: 1em;
}
.close-top
{
	padding-top: 0 !important;
	margin-top: 0 !important;
}
.close-bottom
{
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
/*
 * General styles.
 */
h1 {
	margin: 0;
	padding: 1em 0 1em 0;
}
a
{
	color: #00a4ca;
}
/* Buttons */
a.as-button,
a.as-small-button,
input[type=submit],
input[type=button]
{
    font-size:15px;
/*    height:48px;	*/
	height: 2.5em;
    padding:0 18px;
    cursor:pointer;
    overflow:hidden;
    font-weight:700;
    text-align:center;
    vertical-align:middle;
    text-transform:capitalize;
    letter-spacing:.01em;
    margin-right:18px;
    border:0 none;
    border-radius:3px;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
    color:#737373;
    background-color:#e0e0e0;
	
    /* See http://ie.microsoft.com/testdrive/graphics/cssgradientbackgroundmaker/ */
    background-image: -moz-linear-gradient(top, #F0F0F0 0%, #E0E0E0 100%);
    background-image: -o-linear-gradient(top, #F0F0F0 0%, #E0E0E0 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F0F0F0), color-stop(1, #E0E0E0));
    background-image: -webkit-linear-gradient(top, #F0F0F0 0%, #E0E0E0 100%);
    background-image: linear-gradient(to bottom, #F0F0F0 0%, #E0E0E0 100%);
    background-image: -ms-linear-gradient(top, #F0F0F0 0%, #E0E0E0 100%);

    border: 1px solid #e0e0e0;
    background-image: -moz-linear-gradient(top, #E6E6ER6 0%, #DADADA 100%);
    background-image: -o-linear-gradient(top, #E6E6ER6 0%, #DADADA 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #E6E6ER6), color-stop(1, #DADADA));
    background-image: -webkit-linear-gradient(top, #E6E6ER6 0%, #DADADA 100%);
    background-image: linear-gradient(to bottom, #E6E6ER6 0%, #DADADA 100%);
    background-image: -ms-linear-gradient(top, #E6E6ER6 0%, #DADADA 100%);

/*    line-height: 40px;	*/

	/* significant to links */
	white-space: nowrap;
}
a.as-button,
a.as-small-button
{
	text-decoration: none;
	font-weight: normal;
	padding: 1em 2em;
}
input.small
{
	height: 2em;
	padding: 0 0.5em;
}
a.as-small-button
{
	padding: 0.25em 1em;
}
a.as-button:hover,
a.as-small-button:hover,
input[type=submit]:hover,
input[type=button]:hover
{
    border: 1px solid #c8c8c8;
}
a.as-button:active,
a.as-small-button:active,
input[type=submit]:active,
input[type=button]:active
{
    border: 1px solid rgb(98,135,240);
    border: 1px solid #737373;
    border: 1px solid #a0a0a0;
}
div.aspNetHidden,
div.hidden
{
	display: none;
}
/*
 * Custom for admin site.
 */
div#headerExtent h1
{
	font-size: 1.6em;
	color: #646464;
	font-weight: normal;
	padding: 0;
}
div#header-content
{
	padding-bottom: 24px;
}
@media (max-width: 600px)
{
	div#header-content {
		padding-bottom: 16px;
	}
}
input[type="text"],
input[type="color"],
input[type="password"]
{
	display: inline-block;
	width: 100%;
	max-width: calc(100% - 1em - 2px);
	margin-bottom: 25px;
	padding: 0 0.5em;
	border: 2px solid #C8C8C8;
	border-radius: 3px;
	border-width: 2px;
	vertical-align: middle;
	font-size: 1.1em;
	margin: 0 0 0 0;
	min-height: 2em;
}

input[type=text]:hover,
input[type=password]:hover
{
	border-color: #A6A6A6;
	border-width: 2px;
}

input[type=text]:focus,
input[type=password]:focus
{
	border-color: #6287F0;
}
input[type="image"]
{
	padding: 4px 6px 0px 0px;
}
.align-right
{
	text-align: right;
}
.align-center
{
	text-align: center;
}
table.data th
{
	vertical-align: bottom;
}
table.data td
{
	vertical-align: baseline;
}
table.HighlightRows tr:hover td
{
	background: #f4fff4;
}
.tight-top
{
	padding-top: 0 !important;
	margin-top: 0 !important;
}
.tight-bottom
{
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
/* 
 * For busy indicator.
 */
p.before-busy {
	display: inline-block;
}

div.busy-container {
	display: inline-block;
	vertical-align: middle;
}