/* core agent booking */
.agents h1 {
	font-size:60px;
	color:#434343;
}
.agent-bar > * {
	display: inline-block;
}
.agent-info{
	float: right;
	font-size: 13px;
	position: absolute;
	text-align: right;
	right: 0;
	top: 0;
	margin-right: 10px;
}
.agent-info b{
	text-transform: uppercase;
}
.agent-info > div {
	display: inline-block;
	margin-left: 10px;
	padding: 10px;
	box-sizing: border-box;
	border-right: 1px solid #363636;
}
.agent-info .agent-username{
	padding-right: 45px;
	position: relative;
	border: none;
}
.agent-info .agent-icon{
	right: 0;
	top: 6px;
	width: 45px;
	height: 24px;
	background-image: url(/images/user-icon.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 20px;
	position: absolute;
	background-color: #000;
}
.agent-info .agent-icon:after{
	content: "";
	position: absolute;
	right:0;
	top: 10px;
	border-top: 5px solid #fff;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	height: 0px;
	width: 0px;
}
.agent-bar > a{
	padding: 10px 15px 10px 25px;
	font-size: 14px;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	background-color: #008939;
	position: relative;
	z-index: 10;
}
.agent-bar > a:before{
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	border-top: 5px solid transparent;
	border-right: 5px solid #fff;
	border-bottom: 5px solid transparent;
	height: 0px;
	width: 13px;
}
.agent-bar .agent-username:hover .agent-options {
	display: block;
}
.agent-bar .agent-options {
	position: absolute;
	right: 0;
	top: 100%;
	max-width: 180px;
	width: 100%;
	z-index: 10000;
	background-color: #424242;
	display: none;
}
.agent-bar .agent-options a{
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	display: block;
	text-align: right;
	padding: 9px 30px 9px 10px;
	margin-bottom: 1px;
	background-color: #000;
	font-size: 11px;
}
#header.agent #full-nav li.has_sub:hover a.level1{
	background-image: url(/images/sub-nav.png);
    background-repeat: no-repeat;
    background-position: 50% 72%;
}
#header.agent #full-nav li:hover a, 
#header.agent #alt-nav li:hover a,
#header.agent #full-nav li:hover ul {
   background: #363636;
   text-align: center;
}
#header.agent #full-nav li.level2:hover a.level2,
#header.agent #full-nav li.level3:hover a.level3 {
	background: #000000!important;
	position: relative;
}
#header.agent #full-nav li.level2.has_sub:after {
	content: url(/images/sub-nav.png);
    position: absolute;
    color: #fff;
    right: 10px;
    top: 17px;
	z-index: 10;
	transform: rotate(-90deg);
}
#header.agent #full-nav li.level2.has_sub a.level2 {
	padding-right: 25px;
}
#header.agent #full-nav li:hover ul, #header.agent #alt-nav li:hover ul{
	padding: 0;
	min-width: 100%;
}
#header.agent #alt-nav li:hover ul{
	width: auto;
	text-align: left;
}
#header.agent #full-nav a.level2{
	padding: 10px 12px;
}
#header.agent #logo {
	background-image: none;
}
.agents .field-row  div:first-child div{
	overflow: visible;
    white-space: nowrap;
}
.agents #customer-fields .ap_input_label.select_input_label.ap_label,
#customer-fields .ap_input_label.text_input_label.ap_label{
	white-space: normal;
}
#header.agent {
	background-color: #434343;
}
#header.agent #full-nav {
	margin-left: 140px;
}
#header.agent #full-nav li a.level1 {
	padding: 25px 12px;
}
#header.agent #full-nav li ul li {
    border-top: 1px solid #444444;
}
#header.agent #full-nav #alt-nav li a.level1 {
	padding: 27px 16px 28px;
}
#header.agent #alt-nav li:hover ul {
	padding-bottom: 9px;
}
@media screen and (max-width:1167px) {
	.agents #booking-cards.booking-page{
		padding-right: 50px;
		box-sizing: border-box;
	}
}
@media screen and (max-width:978px) {
	.agents #booking-cards.booking-page{
		padding-right: 8px;
		
	}
	#agent_nav.drop-down li.level1 a.level1{
		font-size: 13px;
		white-space: normal;
		width: 88px;
		line-height: 12px;
		text-align: center;
		padding: 22px 10px;
	}
	#agent_nav.drop-down li.level2 a.level2,
	#header.agent #alt-nav ul.level2 li{
		font-size: 12px;
	}
	#header.agent #full-nav #alt-nav li a.level1 {
		padding-bottom: 29px;
	}
	.agents #booking-cards.booking-page{
		padding-right: 0px;	
	}
	.agents #booking-sidebar {
		float:none;
		width:auto;
		padding:40px 0;
		position:relative;
	}
	.agents #booking-cards.booking-page {
		float:none;width:auto;
	}
	.agents #booking-sidebar .sticky_box {
		position:static!important;
		width:auto;
	}
	.agents .row-toggle{
		width: 50px;
	}
}

@media screen and (max-width:720px) {
	#main-outer.agents > .inner-wrapper{
		margin:0 10px;
	}
	#agent_nav.drop-down li.level1 a.level1{
		width: auto;
		line-height: unset;
		font-weight: bold;
		padding: 26px 10px;
	}
	#agent_nav.drop-down li.level2 a.level2{
		font-weight: bold;
	}
	#agent_nav.drop-down li.level2 a.level2,
	#header.agent #alt-nav ul.level2 li{
		font-size: 13px;
	}
	#header.agent #large-nav {
		display: block;
	}
	#header.agent #full-nav li {
		border-bottom: 0;
	}
	.booking-item .name{
		padding-right: 69px;
	}
	.agent-bar > a{
		height: 36px;
		box-sizing: border-box;
		font-size: 0;
		width: 78px;
		background-image: url(/images/small-logo.png?10012020);
		background-repeat: no-repeat;
		background-position: center right 7px;
		background-size: 20px;
	}
	.agent-bar > a:before{
		left:auto;
		right: 31px;
	}
	.agent-info .agent-account,
	.agent-info .agent-name{
		display: none;
	}
	.agents #booking-cards.booking-page {
		padding-right: 0;
	}
	#header.agent #full-nav li.level2.has_sub:after {
		transform: rotate(0deg);
	}
	#header.agent #full-nav ul.level3 {
		position: relative;
		left: 0;
	}
}
@media screen and (max-width: 600px){
	#header.agent .drop-down li.level1:not(.has_sub){
		display: none;
	}
	#header.agent .drop-down.level1 li.level1 {
		float: none;
	}
	#header.agent .drop-down.level1 li.level1 + li.level1 {
		position: relative;
		z-index: -1;
	}
	#header.agent #logo {
		float: none;
		margin-left: auto;
    	margin-right: auto;
	}
	#header.agent #full-nav {
		text-align: center;
		margin-left: auto;
	}
}
/* End agent booking */

.agents .main-content h1 {
	font-size: 16px;
	color: #F6F6F6;
	line-height: 0.85em;
	letter-spacing: -0.02em;
	padding: 10px 75px;
}
#agent-outer .inner-wrapper {
	padding: 0px;
	max-width: 1400px;
}

/* PARTNER PORTAL LOGIN STYLING */
.main-content {
	padding: 0px;
	font-size: 16px;
	background-color: transparent;
}
.main-content a {
	color: #0D42C9;
	font-weight: 700;
}
.main-content p {
	padding: 0px;
	line-height: 30px;
}
.main-content .main-content-inner {
	padding: 15px 75px;
	background-color: #FFF;
}
.ap_errors, .ap_messages {
	margin: 8px 0px;
	padding: 10px 75px;
	min-height: 60px;
	box-sizing: border-box;
	color: #F6F6F6;
	background-image: url('/images/exclaim-mark-white.png');
	background-repeat: no-repeat;
	background-position: 30px;
}
.ap_messages {
	padding-top: 20px;
}
.ap_errors {
	background-color: #C90606;
	text-align: right;
}
.ap_errors::before {
	content:"ERROR";
	float: left;
	line-height: 40px;
	letter-spacing: 1px;
}
.ap_legend, .ap_messages ul, .ap_errors ul {
	display: inline;
	line-height: 16px;
}
.ap_messages ul, .ap_errors ul {
	float: right;
	margin: 0px;
	list-style-type: none;
	font-size: 22px;
	font-weight: 100;
}
.ap_errors ul {
	float: none;
	display: block;
	list-style-type: disc;
	list-style-position: inside;
	font-size: 16px;
	line-height: 20px;
	margin-top: 5px;
	padding-left: 0px;
}
.main-content h1 {
	font-size: 16px;
	color: #F6F6F6;
	font-weight: 400;
	background-color: #333333;
	padding: 10px 75px;
	width: 100%;
	height: 40px;
	box-sizing: border-box;
}
.main-content-inner .agent_email_holder .ap_input_label, .main-content-inner .agent_password_holder .ap_input_label, .form-section .ap_input_label {
	color: #333333;
	font-size: 18px;
	font-family: 'proxima_nova';
	font-weight: 500;
	letter-spacing: 0px;
}
.main-content h1, .main-content .ap_messages .ap_legend {
	text-transform: uppercase;
}
.main-content-inner .login-form {
	margin: auto;
	margin: 30px 0px 10px 0px;
	padding: 40px 0px 33px 0px;
	border-top: 1px solid rgba(51, 51, 51, 0.3);
	border-bottom: 1px solid rgba(51, 51, 51, 0.3);
}
.main-content-inner .form-section {
	display: flex;
	justify-content: space-between;
	padding: 8px;
	background-color: transparent;
}
.main-content-inner .reset-password .form-section {
	justify-content: flex-start;
}
.main-content-inner .reset-password .form-section .submit_button {
	margin-left: 20px;
}
.main-content-inner .form-section .submit_button {
	border-radius: 3px;
	margin-top: 35px;
	background-color: #0D42C9;
	transition: all .4s ease;
	font-size: 18px;
	font-weight: 600;
}
.main-content-inner .form-section .submit_button:hover {
	background-color: #2F63CF;
	cursor: pointer;
}
.main-content-inner .form-section .ap_input.text_input, .main-content-inner .form-section .ap_input.password_input, .main-content-inner .form-section .submit_button {
	width: 400px!important;
	height: 55px;
}
.main-content .password-reset-link {
	text-align: right;
}
@media screen and (max-width: 1400px) {
	#agent-outer .inner-wrapper {
		max-width: 1150px;
	}
	.main-content-inner .form-section .ap_input.text_input, .main-content-inner .form-section .ap_input.password_input, .main-content-inner .form-section .submit_button {
		width: 300px!important;
	}
}
@media screen and (max-width: 1280px) {
	#agent-outer .inner-wrapper {
		max-width: 900px;
	}
	.ap_errors {
		padding: 10px 25px 10px 75px;
	}
	.main-content-inner .login-form {
		padding: 40px 0px;
	}
	.main-content-inner .login .form-section {
		display: block;
		margin: 0px;
		padding: 0px 8px;
	}
	.main-content-inner .form-section .input_holder {
		width: 50%;
		float: left;
	}
	.main-content-inner .form-section .ap_input.text_input, .main-content-inner .form-section .ap_input.password_input {
		width: 90%!important;
	}
	.main-content-inner .login .form-section .submit_button {
		margin-top: 10px;
		margin-left: 0px;
	}
	.main-content-inner .reset-password .form-section {
		justify-content: space-between;
	}
}
@media screen and (max-width: 978px) {
	.main-content-inner .reset-password .form-section .submit_button {
		margin-top: 26px;
	}
}
@media screen and (max-width: 950px) {
	#agent-outer .inner-wrapper {
		max-width: 650px;
	}
	.ap_messages ul {
		font-size: 20px;
	}
	.ap_errors {
		text-align: left;
		padding: 10px 75px;
	}
	.ap_errors::before {
		float: none;
		display: block;
		line-height: 20px;
	}
	.main-content-inner .form-section .input_holder {
		width: 100%;
		float: none;
		margin-bottom: 10px;
	}
	.main-content-inner .login-form {
		padding: 25px 0px;
	}
}
@media screen and (max-width: 720px) {
	.main-content p {
		line-height: 26px;
	}
	#agent-outer .inner-wrapper {
		max-width: 480px;
	}
	.ap_errors, .ap_messages, .main-content h1, .main-content .main-content-inner {
		padding:10px 30px;
	}
	.ap_errors, .ap_messages {
		font-size: 16px;
		padding-top: 10px;
		padding-left: 40px;
		background-position: 15px;
	}
	.ap_messages ul {
		float: none;
		font-size: 18px;
		line-height: 22px;
	}
	.main-content-inner .agent_email_holder .ap_input_label, .main-content-inner .agent_password_holder .ap_input_label {
		font-size: 16px;
	}
	.main-content-inner .form-section .submit_button {
		width: 230px!important;
	}
	.main-content-inner .reset-password .form-section {
		display: block;
	}
	.main-content-inner .form-section #forgotten_password_email {
		width: 100%!important;
	}
	.main-content-inner .reset-password .form-section .submit_button {
		display: block;
		margin: 0 auto;
	}
}
@media screen and (max-width: 500px) {
	#agent-outer .inner-wrapper {
		max-width: 300px;
	}
	.main-content {
		font-size: 14px;
	}
	.main-content .main-content-inner {
		padding-bottom: 20px;
	}
	.ap_errors .ap_legend {
		display: none;
	}
	.main-content-inner .login-form {
		margin: 15px 0px 10px 0px;
	}
	.main-content-inner .form-section {
		padding: 0px;
	}
	.main-content-inner .form-section .input_holder {
		margin-bottom: 5px;
	}
	.main-content-inner .form-section .ap_input.text_input, .main-content-inner .form-section .ap_input.password_input, .main-content-inner .form-section .submit_button {
		width: 100%!important;
	}
}
/* END OF PARTNER PORTAL LOGIN STYLING */

#main-outer.agents {
	padding-top:105px; background:#fff;
}
.passenger-select {
	float:left; width:56%; 
}
.departure-select {
	float:left; width:44%;
}
.select-inner {
	padding:10px; 
}
.departure-select .select-inner {
	padding-left:0;
}
.panel-show .card-toggle:after {
	transform:rotate(180deg);
}
.cds {
	float:right;
	width:10%;
	border:0;
	background-color:transparent;
}
.cds.has-value {
	background-position:-37px -427px;
}
.agent-price {
	font-weight:bold;
	font-size:25px;
	padding-top:4px;
	display:block;
}
#booking-sidebar {
	float:left; width:30%; padding:40px 0; position:relative;
}
#booking-cards.booking-page {
	float:left; width:70%; margin-bottom: 40px;
}
@media screen and (max-width:978px) {
	.passenger-select, .departure-select {
		float:none;
		width:auto;
	}
	
	.departure-select .select-inner {
		padding-left:10px;
		padding-top:0;
	}
}		

@media screen and (max-width:720px) {
	#main-outer.agents{
		padding-top:0;
	}
	#booking-sidebar {
		float:none; width:auto; padding:40px 0; position:relative;
	}
	#booking-cards.booking-page {
		float:none;width:auto; margin-bottom:0;
	}
	#booking-sidebar .sticky_box {
		position:static!important;
		width:auto;
	}
	.card-icon-outer {
		padding:8px 0;
	}
}

/* Supplier Booking/Departure Lists */
.ap_filter_list {
	margin-top: 15px;
}
.ap_filter_list th {
	font-size: 14px;
	line-height: 1.2em;
	text-align: left;
	padding: 6px;
}
.ap_filter_list td {
	padding: 6px;
	height: 40px;
}
.ap_filter_list th, .ap_filter_list tr:nth-child(2n+1) td {
	background-color: rgba(0,0,0,0.05);
}

/* Check-In / Button Styling */
.check_in_button {
	float: right;
}
.button, .ap_button, .ap_button_red {
	border: 1px solid #2659D2;
	border-radius: 3px;
	padding: 4px;
	text-decoration: none;
	background-color: #F9F9F9;
	cursor: pointer;
}
.button:hover, .ap_button:hover, .ap_button_red:hover {
	background-color: #ffffff;
}

/* Prev / Next Links */
.pagination {
	text-align: right;
}
.pagination a:first-child:before {
	content: "\00ab   ";
}
.pagination a:last-child:after {
	content: " \00bb";
}

/* Quick Filter */
#search_form {
	position: relative;
	float: right;
	background-color: #fff;
	width: 240px;
	border-radius: 3px;
	border: 1px solid #efefef;
}
#search_form:before {
	content: "";
	width: 15px;
	height: 15px;
	position: absolute;
	top: 8px;
	left: 7px;
	opacity: 0.4;
	z-index: 1;
	background: 0px -64px no-repeat url('/library/resource/sprite.png');
}
#search_form .ap_input {
	background-color: transparent;
	border: 0px;
	padding: 6px;
	padding-left: 30px;
	margin: 0px;
	height: 31px;
	width: 206px;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	outline: none;
}

#search_form #clear_search {
	position: absolute;
	top: 0px;
	right: 9px;
	display: none;
	color: #666;
	font-size: 24px;
	line-height: 31px;
	cursor: pointer;
	text-decoration: none;
}


/* Confirm Pop-Up - Check-In */
#confirm_box {
	position: fixed;
	top: 10px;
	left: 10px;
	width: 400px;
	min-height: 30px;
	padding: 12px 12px 8px;
	
	z-index: 350;
	text-align: left;
	opacity: 0;
	
	transition: opacity 0.9s ease-in-out;
   -moz-transition: opacity 0.9s ease-in-out;
   -webkit-transition: opacity 0.9s ease-in-out;
}
#confirm_box .ap_button, #confirm_box .ap_button_red {
	display: inline-block;
}
#confirm_box .ap_button_red {
	display: inline-block;
}
#confirm_box_message {
	margin-bottom: 10px;
}
.ap_button_red {
	border-color: #cc0000;
	color: #cc0000;
}
@media print {
	header .inner-wrapper,
	.agent-bar > a,
	#footer-col-wrapper,
	#agent-login-bar,
	#cookiebox,
	#search_form_holder,
	.agent-info .agent-icon,
	#footer-breadcrumbs,
	.pagination,
	.button {
		display: none;
	}
	#header {
		position: relative;
		background: #fff;
		color: #000;
	}
	.agent-info > div,
	#footer-copyright {
		color: #000;
	}
	.agent-info {
		float: none;
		left: 0;
		right: 0;
		margin: auto;
		text-align: center;
	}
	footer {
		background-color: #fff;
	}
	.ap_status {
		background-color: #fff;
		text-decoration: underline;
	}
	.ap_status_green {
		color: #60A42E;
	}
	.ap_status_grey {
		color: #000;
	}
	.ap_status_orange {
		color: #FFBA54;
	}
	.ap_status_red {
		color: #D13939;
	}
	#main-outer.agents {
		padding-top: 30px;
		margin-top:30px;
	}
	#footer-inner {
		min-height: auto;
	}
	table tr td {
		border-bottom: 1px solid #000;
	}
	table tr th {
		border-bottom: 2px solid #000;
	}
}