/********** Reset styles **********/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, 
menu, nav, section, summary, time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}               
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
    display:block;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
button {
    width: auto;
    overflow: visible;
}
h1,h2,h3,h4,h5,h6 {
    font-weight: normal;
}
input, select {
    vertical-align:middle;
}
input, select, textarea, button {
    font:99% Arial, sans-serif;
    margin: 0;
}
input[type="checkbox"] {
    vertical-align: bottom;
} 
input[type="radio"] {
    vertical-align: text-bottom;
}
input:invalid, textarea:invalid {
    border-radius: 1px;
    -moz-box-shadow: 0px 0px 5px red;
    -webkit-box-shadow: 0px 0px 5px red;
    box-shadow: 0px 0px 5px red;
}
ol {
    list-style-type: decimal;
}
small {
    font-size: 85%;
}
strong, th {
    font-weight: bold;
}
table {
    border-collapse:collapse; border-spacing:0;
}
td, td img {
    vertical-align: top;
}

/********** Generic HTML element styling **********/

html, body, form, #container {
    min-width: 320px;
}
body {
    background: #1a1a1a;
    font:16px/1.3 Arial, sans-serif;
}
#container {
    background: #fff;
    border-right-width: 0;
    border-right-style: solid;
	-webkit-transition: all .3s ease .15s;
	-moz-transition: all .3s ease .15s;
	-o-transition: all .3s ease .15s;
	-ms-transition: all .3s ease .15s;
	transition: all .3s ease .15s;
}
a, a:visited {
    text-decoration: none;
}
a:hover, a:focus {
    text-decoration: underline;
}

/********** Helper styles **********/

.clearfix:before, .clearfix:after {
    content: "\0020";
    display: block;
    height: 0;
    visibility: hidden;
} 
.clearfix:after {
    clear: both;
}
.clearfix {
    zoom: 1;
}
.hidden {
	display: none !important;
    visibility: hidden;
}

/********** Site header **********/

.site-header {
    padding: 0 60px 0 10px;
    position: relative;
}
    .site-header .site-logo {
	    padding: 10px 0;
    }
        .site-header .site-logo img {
    	    display: block;
            max-width: 100%;
        }
    .site-header .nav-icon {
        display: block;
        height: 100%;
        position: absolute;
        right: 0;
        text-indent: -9999em;
        top: 0;
        width: 60px;
    }
        .site-header .nav-icon:after {
            background: url('../images/icons.png') no-repeat -16px 0;
            content: '';
            display: block;
            position: absolute;
            height: 20px;
            margin-top: -10px;
            right: 14px;
            top: 50%;
            width: 30px;
        }

/********** Navigation menu **********/

#container.open-nav {
    border-right-width: 1px;
    margin: 0 261px 0 -261px;
}
.nav-main {
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
    overflow: hidden;
    -webkit-transition: all .3s ease .15s;
    -moz-transition: all .3s ease .15s;
    -o-transition: all .3s ease .15s;
    -ms-transition: all .3s ease .15s;
    transition: all .3s ease .15s;
}
.nav-main.open-nav {
    width: 260px;
}
    .nav-main ul {
        list-style: none;
    }
        .nav-main ul a {
            display: block;
            font-size: 1.25em;
            height: 35px;
            padding: 10px 10px 0;
            text-decoration: none;
            width: 260px;
        }

/********** Site footer **********/

.site-footer {
    padding-bottom: 14px;
}
    .site-footer > ul {
  	    margin: 0 0 10px;
        padding: 10px 10px 13px;
   	    list-style: none;
    }
        .site-footer > ul li {
	        padding-bottom: 4px;
        }
        .site-footer > ul li:last-child {
    	    padding-bottom: 0;
        }
            .site-footer > ul a {
                display: block;
                padding: 3px 0;
            }            
    .site-footer > p {
        font-size: 0.9em;
        padding-left: 10px;
    }
    .site-footer .hotlizard-link  {
        padding: 3px 0 3px 10px;;
    }

/********** Forms **********/

.form {
	padding: 6px 0 30px;
}
.form.apply, .form.email-job {
    margin-bottom: 30px;
	padding-top: 18px;
}
.form.login {
    margin-bottom: 30px;
	padding-bottom: 0;
}
    .form fieldset {
        padding: 0 10px;
    }
        .form fieldset legend { 
	        font-size: 1.3em;
            letter-spacing: 0.5px;
	        padding-bottom: 6px;
        }
        .form fieldset > .error {
            display: block;
            margin-bottom: 8px;
        }        
        .form .field {
            min-height: 40px;
            margin-bottom: 18px;
            position: relative;
	        width: 100%;
			-webkit-border-radius: 4px;
			-moz-border-radius: 4px;
			border-radius: 4px;	
        }
            .form .field > label {
                display: none;
            }
            .form.apply .field > label, .form.apply div.p > label, .form.apply div.p > .label {
                display: block;
                font-size: 1.1em;
                font-weight: bold;
                padding: 4px 8px 0;
            }
            .form .text, .form select {
                border: none;
                height: 40px;
                width: 100%;
		        -webkit-box-sizing: border-box;
		        -moz-box-sizing: border-box;
		        box-sizing: border-box;
			    -webkit-border-radius: 4px;
			    -moz-border-radius: 4px;
			    border-radius: 4px;	
            }
            .form select {
				background: transparent;
                font-weight: bold;
                padding: 1px 4px 0;
				-webkit-appearance: none;
            }
                .form select option {
                    font-weight: normal;
                }
            .form.apply select {
                font-weight: normal;
            }
            .form .text {
                padding: 2px 8px 0;
            }
            .form div.text {
                height: auto;
                min-height: 40px;
                padding: 0 !important;
            }
            .form .field .error {
                display: block;
                padding: 6px 8px 0;
            }
        .form .button {
            font-size: 1.6em;
            height: 49px;
            letter-spacing: 0.25px;
            margin-top: 1px;
	        width: 100%;
			-webkit-border-radius: 4px;
			-moz-border-radius: 4px;
			border-radius: 4px;
			-webkit-appearance: none;
        }
        .form.login .button {
            margin-bottom: 30px;
        }
.error, .field-validation-error {
    font-weight: bold;
}
::-webkit-input-placeholder {
    font-weight: bold;
    opacity: 1;
}
:-moz-placeholder {
    font-weight: bold;
    opacity: 1;
}
::-moz-placeholder {
    font-weight: bold;
    opacity: 1;
}
:-ms-input-placeholder {
    font-weight: bold;
    opacity: 1;
}

/********** Application questions **********/

.application-questions > div.p {
    min-height: 40px;
    margin-bottom: 18px;
    position: relative;
	width: 100%;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;	
}
    .application-questions > div.p .text {
        padding: 0 8px;
    }
		.application-questions > div.p td {
			padding: 0 8px 0 12px;
		}
		.application-questions > div.p tr:first-child td {
			padding-top: 4px;
		}
		.application-questions > div.p tr:last-child td {
			padding-bottom: 8px;
		}
			.application-questions > div.p td input {
				vertical-align: middle;
			}			
			.application-questions > div.p td label {
				display: inline;
				padding-left: 4px;
				vertical-align: middle;
			}
    .application-questions > div.p .field-validation-error[style*=inline] {
        color: #ff0000 !important;
		display: block !important;
        padding: 0 8px 4px;
    }

/********** Social login **********/

.social-login .error {
    height: 30px;
    margin-top: -30px;
    padding: 7px 10px 0;
    text-align: center;
    width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.social-login a {
    display: block;
    height: 88px;
    padding-top: 55px;
    position: relative;
    text-align: center;
    text-decoration: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.social-login a.dual {
    width: 50%;
}
.social-login .facebook-btn.dual {
    float: left;
}
.social-login .linkedin-btn.dual {
    float: right;
}
    .social-login a:before {
        background-image: url('../images/icons.png');
        background-repeat: no-repeat;
        content: '';
        display: block;
        position: absolute;
    }
    .social-login .facebook-btn:before {
        background-position: 0 -18px;
        height: 30px;
        left: 50%;
        margin-left: -8px;
        top: 13px;
        width: 16px;
    }
    .social-login .linkedin-btn:before {
        background-position: -17px -21px;
        height: 27px;
        left: 50%;
        margin-left: -14px;
        top: 14px;
        width: 28px;
    }

/********** Location suggestions **********/

.location-textbox-suggestions {
    padding: 0 8px 6px;
}
    .location-textbox-suggestions p {
        font-weight: bold;
    }
    .location-textbox-suggestions ul {
        list-style: none;
        padding: 5px 0 5px 5px;
    }
        .location-textbox-suggestions input {
            margin-right: 5px;
            vertical-align: top;
        }

/********** Common collapsing panel elements **********/

.collapsing-panel h2 {
    cursor: pointer;
    font-size: 1.3em;
    font-weight: normal;
    height: 38px;
    letter-spacing: 0.5px;
    padding: 12px 0 0 10px;
    position: relative;
}
    .collapsing-panel h2:after {
        background: transparent url('../images/icons.png') no-repeat 0 0;
        content: '';
        height: 11px;
        position: absolute;
        right: 14px;
        top: 20px;
        width: 7px;
    }
    .collapsing-panel.expanded h2:after {
        background-position: 0 -11px;
        height: 7px;
        right: 12px;
        top: 22px;
        width: 11px;
    }
.collapsing-panel ul {
    display: none;
}
.collapsing-panel.expanded ul {
    display: block;
}

/********** Browse links collapsing panels **********/

.collapsing-panel.browse-links li {
    position: relative;
}
    .collapsing-panel.browse-links li a {
        display: block;
        padding: 15px 70px 12px 11px;
    }
    .collapsing-panel.browse-links li .livejobscount {
        position: absolute;
        right: 11px;
        top: 18px;
    }
.collapsing-panel.browse-links a {
    font-size: 1.15em;
    font-weight: bold;
    min-height: 22px;
}
.collapsing-panel.browse-links > a {
    display: none;
    padding: 15px 0 12px 11px;
}
.collapsing-panel.browse-links.expanded > a {
    display: block;
}

/********** Featured/lastest jobs collapsing panels **********/

.collapsing-panel.featured-jobs ul {
    width: 100%;
}
.collapsing-panel.featured-jobs.expanded ul {
    display: table;
}
    .collapsing-panel.featured-jobs li {
        cursor: pointer;
        display: table-row;
    }
        .collapsing-panel.featured-jobs .logo {
            display: table-cell;
            padding: 15px 0 20px 11px;
            vertical-align: top;
            width: 90px;
        }
        .collapsing-panel.featured-jobs .details {
            display: table-cell;
            padding: 12px 11px 20px 11px;
            vertical-align: top;
        }
            .collapsing-panel.featured-jobs .details h3 a {
                font-size: 1.1em;
                font-weight: bold;
            }

/********** Browse by page listing **********/

.results2 {
	list-style: none;
    margin-top: -9px;
}
    .results2 li {
        position: relative;
    }
        .results2 li a {
            display: block;
            font-size: 1.15em;
            font-weight: bold;
            min-height: 22px;
            padding: 15px 70px 12px 11px;
        }
            .results2 li .livejobscount {
                font-size: 0.9em;
                font-weight: normal;
                position: absolute;
                right: 11px;
                top: 17px;
            }

/********** Generic content **********/

h1 {
	display: block;
	font-size: 1.35em;
    letter-spacing: 0.25px;
    min-height: 31px;
	padding: 5px 10px 0;
	margin-bottom: 9px;
}
.copy1 {
    padding: 0 10px 1.5em;
    word-wrap: break-word;
    -ms-word-wrap: break-word;
}
    .copy1 h2 {
	    font-size: 1.25em;
        font-weight: bold;
	    padding-bottom: 0.5em;
    }
    .copy1 h3 {
	    font-style: italic;
        font-weight: bold;
	    padding-bottom: 1em;
    }
    .copy1 h4 {
	    font-style: italic;
	    padding-bottom: 1em;
    }
    .copy1 p {
        margin: 0;
	    padding: 0 0 1.5em;
    }
    .copy1 ol {
	    list-style: decimal;
	    margin-bottom: 1.5em;
        padding-left: 20px;
    }
    .copy1 ol ol {
	    list-style: lower-alpha;
	    margin-bottom: 0;
    }
    .copy1 ol ol ol {
	    list-style: lower-roman;
    }
    .copy1 ol ol ol ol {
	    list-style: lower-greek;
    }
    .copy1 ul {
	    margin-bottom: 1.5em;
        padding-left: 20px;
    }
    .copy1 ul ul {
	    margin-bottom: 0;
    }
    .copy1 *:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
a.back {
    cursor: pointer;
    display: block;
    font-size: 1.6em;
    height: 49px;
    letter-spacing: 0.25px;
    line-height: 48px;
    margin-bottom: 10px;
    text-align: center;
    text-decoration: none;
	width: 100%;
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;	
}
.logo {
    font-size: 1px;
    line-height: 1;
}
    .logo a {
        display: table-cell;
        height: 44px;
        text-align: center;
        vertical-align: middle;
        width: 88px;
    }

/********** Job detail **********/

.job-title {
	font-size: 1.45em;
    font-weight: bold;
    padding: 0 10px 11px;
}
.job-expired-notice {
    font-weight: bold;    
}
.job-details {
	padding:8px 10px 13px;
	margin-bottom: 10px;
}
    .job-details .logo {
        margin: 8px auto;
        width: 88px;
    }
    .job-details dt {
	    font-weight: bold;
        letter-spacing: 0.25px;
	    padding-top: 4px;
	    position: absolute;
        width: 148px;
    }
    .job-details dd {
		display: block;
		padding: 4px 0 0 150px;
    }
.job-description {
    padding: 0 10px;
}
    .job-description .copy1 {
        padding: 0 0 1.5em;
    }
    .job-description input.button, .job-description > .list1 a, .floating-job-buttons input.button {
        cursor: pointer;
        display: block;
        font-size: 1.6em;
        height: 49px;
        letter-spacing: 0.25px;
	    width: 100%;
	    -webkit-border-radius: 4px;
	    -moz-border-radius: 4px;
	    border-radius: 4px;
		-webkit-appearance: none;
    }
    .job-description input.button {
        margin-bottom: 10px;
    }
    .job-description > .list1 {
	    list-style: none;
        margin: 0 0 31px;
        padding: 0
    }
        .job-description > .list1 a {
            line-height: 48px;
            text-align: center;
            text-decoration: none;
		    -webkit-box-sizing: border-box;
		    -moz-box-sizing: border-box;
		    box-sizing: border-box;
        }
        .job-description > .list1 li:not(:first-child) a {
            margin-top: 10px;
        }
.floating-job-buttons {
	background: rgba(231, 231, 233, 0.8);
	border-top: 1px solid #DADBDD;
	bottom: 0;
	display: none;
	padding: 10px;
	position: fixed;
	width: 100%;
	z-index: 300;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/********** Search results **********/

.pagination1 {
    height: 24px;
    letter-spacing: 0.25px;
	list-style: none;
	padding: 4px 10px 0;
}
    .pagination1 li {
	    line-height: 1;
    }
    .pagination1 li:first-child {
	    float: left;
    }
    .pagination1 li:last-child {
	    float: right;
    }
.results1 {
	margin: 0;
	padding: 0;
	list-style: none;
}
    .results1 > li {
        cursor: pointer;
	    padding: 10px 10px;
    }
        .results1 li.featured > span {
            display: block;
            font-size: 0.8em;
            text-transform: uppercase;
        }
        .results1 li .logo {
            float: right;
            margin: 5px 0 0 10px;
            vertical-align: top;
            width: 90px;
        }
        .results1 li.featured .logo {
            margin-top: 2px;
        }
            .results1 li h2 {
                font-size: 1.2em;
                font-weight: bold;
            }
            .results1 li ul {
	            list-style: none;
            }
                .results1 li ul li {
	                display: inline;
                    margin-right: 8px;
                    padding-right: 8px;
                }
                .results1 li ul li:last-child {
                    border: 0;
                    margin-right: 0;
                    padding-right: 0;
                }
.pagination2 {
	padding: 15px 10px 16px;
	list-style: none;
}
    .pagination2 .prev {
	    float: left;
    }
    .pagination2 .next {
	    float: right;
    }
        .pagination2 a {
            display: block;
            height: 24px;
            padding-top: 6px;
            text-align: center;
            text-decoration: none;
            width: 85px;
	        -webkit-border-radius: 6px;
	        -moz-border-radius: 6px;
	        border-radius: 6px;	
        }

/********** Cookie law notification **********/

#cookienotice {
	margin: 0;
	padding: 0;
	font: 12px Arial, Helvetica Neue, Helvetica, sans-serif;
	width: 100%;
	background: #E5E5E5 url("../../common/images/cookie-notice-bg.png") repeat-x 0 bottom;
}
    #cookienoticetext 
    {
	    padding: 5px 100px 5px 10px;
	    text-align: left;
	    background: url("../../common/images/cookie-notice-spacer.gif");
    }
        #cookienoticetext a {
	        color: #000;
	        text-decoration: underline;
        }
        a.cookienoticereadmore, a.cookienoticereadmore:visited, a.cookienoticereadmore:active, a.cookienoticereadmore:hover {
	        text-decoration: underline;
	        color: blue;
        }
    #cookienoticeclose {
	    position: absolute;
	    top: 0;
	    right: 0;
	    background: url("../../common/images/cookie-notice-close.png") no-repeat top right;
	    width: 100px;
	    height: 25px;
	    padding: 0;
    }
        #cookienoticeclose a {
	        display: block;
	        text-indent: -999em;
	        padding: 0;
	        margin: 0;
	        width: 100%;
	        height: 100%;
        }