/*
Theme Name: Better Bus
Description: Better Bus theme
Version: 1.0
Author: Andy
*/

/* General styles                                   */
/* ------------------------------------------------ */

/* fix issues with the WP admin bar messing with sticky/absolute header items */
body.admin-bar #branding-wrap{ top: 28px; }
body.admin-bar #wrapper{ margin-top: 145px; }

td {
	vertical-align: top;
}

a {
	color: var(--main);
	text-decoration: underline;
	outline: none;
}

a:hover {
	color: var(--secondary);
}

ul {
	margin: 8px 0 18px 18px;
	padding: 0;
}

li {
	padding-left: 4px;
	line-height: 180%;
}

h1, h1 a, h2, h2 a, h3, h3 a, h4, h4 a {
	line-height: 120%;
    color: var(--main);
}

h1 {
	font-size: 1.6em;
	margin-top: 0;
}

body.home h1, body.home h2, body.home h3, body.page-id-240 h1, body.page-id-240 h2, body.page-id-240 h3 {
    color: #fff;
}

h2 {
	font-size: 1.4em;
}

h3 {
	font-size: 1.2em;
}

h4 {
    font-size: 1em;
}

hr {
	height: 1px;
	border: 0;
	width: 100%;
	background: #eee;
	color: #eee;
	margin: 30px 0;
    clear: both;
}



/* Content                                          */
/* ------------------------------------------------ */
.content {
	padding: 30px 0 100px 0;
	/*overflow: hidden;*/
	font-size: 1.1em;
	min-height: 200px;
    clear: both;
}

.content, .content p, .content li {
	line-height: 160%;
}

.content img {
	max-width: 100%;
	height: auto;
}

.content a {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

body.home .content p:first-of-type {
    font-size: larger;
}

body.home .content h1 {
    font-size: 2.8em;
    margin-bottom: 16px;
}

body.home .content h1 + h2 {
    margin-top: -20px;
    font-weight: 300;
}

.readmore, input[type="submit"], button {
	background: var(--main);
	color: #fff;
	padding: 18px 28px;
	text-decoration: none;
	display: inline-block;
	margin: 15px 10px 15px 0;
	font-size: 20px;
    font-family: 'Roboto', sans-serif;
    clear: both;
	font-weight: 700;
	text-shadow: none;
	line-height: 100%;
	border: 0;
    border-radius: 8px;
	cursor: pointer;
}

#submitbookingbutton, #loginsubmit {
    background: var(--secondary);
}

#submitbookingbutton.submitbuttonerror {
    background: #f02a32;
}

/* NEW ------------------------------------*/
#submitbookingbutton.submitbuttonerror {
    background: #f02a32;
}

#submiterror {
    margin: 10px 40px;
    padding: 20px;
    background: #f02a32;
    color: #fff;
    border-radius: 8px;
    display: none;
}

#submiterror a {
    color: #fff;
    font-weight: bold;
}

.infobox {
    margin: 10px 40px;
    background: #b6d787;
    border-radius: 8px;
    border: 2px solid #fff;
    padding: 20px;
    font-weight: bold;
    font-size: larger;
}

.infobox h2, .infobox a {
    color: var(--4f5884) !important;
    margin: 0 0 10px 0;
}

/* END NEW --------------------------------------*/

#loginsubmit {
    max-width: 200px;
}

.readmore:hover, input[type="submit"]:hover, button:hover {
	background: var(--secondary) !important;
	color: #fff;
}


.readmore, .content a, input[type="submit"], button {
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

/*.bookingform label[for=return_date], #return_date,
.bookingform label[for=return_pickup_location], #return_pickup_location,
.bookingform label[for=return_dropoff_location], #return_dropoff_location {
    display: none;
}*/

/*.bookingform label[for=return_date].nothidden, #return_date.nothidden, #return_date_text.nothidden {
    display: inline-block;
}*/

.hidden, .bookingform .inputbox.hidden, .bookingform .hidden {
    display: none;
}

.nothidden .bookingform .inputbox.nothidden, .bookingform .nothidden {
    display: inline-block;
}

/*#return_date_text {
    display: none;
    transition: all 0.3s ease-in-out;
    float: left;
    padding: 10px 0 20px 40px;
}*/


/* Columns                                          */
/* ------------------------------------------------ */
.columns-container {
    margin: 0 -30px;
    overflow: hidden;
}

.column-half, .column-third, .column-quarter, .column-twothirds {
    box-sizing: border-box;
    padding: 30px;
}

.column-half {
    width: 50%;
    margin: 0 0 40px 0;
    float: left;
}

.column-half:nth-child(2n+1) {
        clear: both;
    }

.column-twothirds {
    width: 66.333%;
    margin: 0 0 40px 0;
    float: left;
}

.column-third {
    width: 33.333%;
    margin: 0 0 40px 0;
    float: left;
}

.column-quarter {
    width: 25%;
    margin: 0 0 40px 0;
    float: left;
}

.column-half img, .column-twothirds img, .column-third img {
    width: 100%;
    height: auto;
}


.clearfix {
    clear: both;
}

/* Form styling                                     */
/* ------------------------------------------------ */
input, select, textarea {
    background-color: #fff;
    color: #000;
    padding: 10px;
    margin-bottom: 14px;
    border-radius: 4px;
    border: 1px solid #ddd;
    font-size: 18px;
    color: #5e5d5d;
    width: 90%;
    max-width: 400px;
    box-sizing:content-box; /* make selects and inputs the same width */
}

.bookingform {
    /*background: #eceef6;*/
    background: #96c15c;
    border-radius: 8px;
}

.bookingform fieldset {
    margin-bottom: 30px;
    border: 0;
    margin: 0;
    padding: 0 0 20px 0;
    position: relative;
    border-radius: 8px;
}

.bookingform legend {
    clear: both;
    display: block;
    background: var(--secondary);
    color: #fff;
    width: 100%;
    font-size: 26px;
    font-weight: bold;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 8px 8px 0 0;
    padding: 16px 25px;
    margin-bottom: 30px;
}

.bookingform label {
    width: 28%;
    margin: 2px 10px 10px 40px;
    float: left;
    color: #555;
    clear: both;
    font-weight: bold;
    display: inline-block;
}

.bookingform ul.items li label {
    display: block;
    font-weight: normal;
    width: 90%;
    padding-left: 30px;
    text-indent: -25px;
}

.bookingform h4 {
    margin: 20px 0 0 0;
}

.bookingform hr {
    height: 4px;
    border: 0;
    width: 100%;
    background: #ddd;
}

.bookingform textarea {
    height: 80px;
}

.bookingform h3 {
    clear: both;
    display: block;
}

.bookingform .fullwidth {
    float: none;
    display: block;
    clear: both;
    width: auto;
}

.bookingform i.fullwidth {
    margin-bottom: 20px;
}

.bookingform input.fullwidth {
    max-width: 300px;
    width: 100%;
}

.bookingform .inputbox {
    display: block;
    float: left;
    padding: 5px 10px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
}

.bookingform input[type='checkbox'], .bookingform input[type='radio'] {
    width: 22px;
    height: 26px;
    padding: 0;
    margin: 0 10px 0 0;
    vertical-align: bottom;
    position: relative;
}

.bookingform ul.items {
    padding: 0;
    margin: 0;
}

.bookingform ul.items li {
    list-style-type: none;
    padding: 0;
}

.bookingform input:focus, .bookingform select:focus, .bookingform textarea:focus {
    outline: none;
    border-color: rgba(0,169,171,0.8);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,169,171,.6);
}

.bookingform  input[type=submit], .bookingform button, #submitbutton {
    margin: 30px 0 0 40px;
    clear: both;
}

#paypal_submitbutton {
    clear: both;
    margin: 20px 0 40px 40px;
    background: var(--secondary);
}

#surcharge_field {
    margin-left: 40px;
    clear: both;
}

.bookingform label span {
    color: #c51b45;
    margin-left: 4px;
    font-size: 20px;
}

.bookingform label.error {
    color: #c51b45;
    clear: both;
    display: inline-block;
    padding-left: 31%;
    margin-top: -2px;
    width: auto;
    font-weight: bold !important;
}

.checkbox_error label.error {
    padding-left: 0;
    display: block;
    width: 100%;
}

.bookingform .itemlist_error .error {
    padding-left: 10px;
    float: none;
}

.bookingform .formsection {
    clear: both;
    /*background: #e1e4f2;*/
    background: #a4c970;
    overflow: hidden;
    margin: 14px 0;
    padding: 10px 0;
}

input.error, select.error, textarea.error {
    background: #f6d6d5;
}

p.error {
    color: #c51b45;
    font-weight: bold;
}

#formatted_booking_total_price {
    font-weight: bold;
    font-size: 28px;
    color: #555;
    padding: 0 25px 0 40px;
}

.locationlegend {
    background: var(--secondary);
    border-radius: 8px;
    padding: 2px 40px 20px 40px;
    margin-bottom: 50px;
}

.locationlegend, .locationlegend li {
    color: #fff;
}

.locationlegend ul {
    margin: 0;
}

.locationlegend li {
    display: inline-block;
    padding: 0 30px 0 0;
}

/*
.locationlegend b {
    display: inline-block;
    width: 50px;
}*/

.locationlegend h2 {
    font-size: 30px;
}

/*address is our honeypot field that we don't want users to fill in, only spam bots */
.bookingform input[name="address"], .bookingform .address_label {
    display: none !important;
}


/*booking submitted output displayed on booking page---------------- */
.submissionoutput {
    max-width: 800px;
}
.submissionoutput b {
    display: inline-block;
    width: 200px;
}

.submissionoutput p, .content .submissionoutput p:first-of-type, body.home .content .submissionoutput p:first-of-type {
    font-size: 18px;
    color: #555;
    margin: 0;
    padding: 6px;
    border-bottom: 1px solid #ddd;
}

.submissionoutput {
    background: #a4c970;
    border-radius: 8px;
    padding: 20px;
}

/*calendar styling ------------------------------------------------- */
.ui-widget-header {
    background: var(--main);
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
    background: #e3e4eb;
    border: 0;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    background: #ced2e5;
    color: #666;
    border: 0;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
    background: var(--secondary);
    color: #fff;
    border: 0;
}

.ui-state-hover {
    background: none;
}

/* bookings display --------------------------*/
table.bookingdata {
    border-collapse: collapse;
    font-size: 13px;
    width: 100%;
}

table.bookingdata tr:first-child {
    background: #e9f8f8;
}

table.bookingdata tr:first-child td {
    font-weight: bold;
}

table.bookingdata td {
    border: 1px solid #ddd;
    padding: 10px;
    width: 4%;
}

/*code*/
table.bookingdata td:nth-child(1) {
    width: 2%;
}

/*company*/
table.bookingdata td:nth-child(2) {
    width: 2%;
}

/*details*/
table.bookingdata td:nth-child(4) {
    word-break: break-all;
    min-width: 80px;
}

table.bookingdata td:nth-child(3), table.bookingdata td:nth-child(4), table.bookingdata td:nth-child(5), table.bookingdata td:nth-child(10) {
    width: 5%;
}

/* people */
table.bookingdata td:nth-child(6) {
    width: 1%;
}

/* departing/returning */
table.bookingdata td:nth-child(7) {
    width: 4%;
}

#result, #timetable_result {
    border-radius: 6px;
    border: 2px solid #40a938;
    color: #40a938;
    background: #c6efc3;
    font-weight: bold;
    padding: 10px 20px;
    margin-bottom: 20px;
    display: none;
}

#result.failed, #timetable_result.failed {
    border: 2px solid #cc3327;
    background: #f9d3d0;
    color: #cc3327;
}

#result, #timetable_result {
    position: fixed;
    z-index: 99;
    width: 300px;
    top: 46%;
    left: calc(50vw - 150px);
}

.calendarodd input[type="submit"] {
    background: var(--secondary);
}

.buttonvisible {
    display: inline-block !important;
}

.buttonhidden {
    display: none !important;
}

#submission_delete_button {
    font-size: 14px;
    padding: 8px 12px;
    margin: 2px;
}

/* Bookings manager                                 */
/* -------------------------------------------------*/
#submissionsfilters, #capacitiesupdate, #capacitiesupdate2 {
    background: #eee;
    border-radius: 8px;
    padding: 30px 30px 24px 30px;
    margin-bottom: 30px;
}

#submissionsfilters .column-half, #capacitiesupdate .column-half, #capacitiesupdate2 .column-half {
    padding: 0;
    margin: 0;
}

#displayall, #capacityupdate {
    /*margin-left: 10px;*/
    background: #888;
}

#submissionsfilters label, #capacitiesupdate label, #capacitiesupdate2 label {
    width: 30%;
    float: left;
    padding-top: 4px;
}

#submissionsfilters input, #submissionsfilters select, #capacitiesupdate input, #capacitiesupdate select, #capacitiesupdate2 input, #capacitiesupdate2 select {
    width: 60%;
}

input[type="submit"].submission_delete_button {
    font-size: 12px;
    padding: 8px 4px;
    margin: 2px;
}

.sortby {
    color: var(--secondary);
}

.sort_asc {
    padding-right: 20px;
    background: url(images/submenu-up-dark.svg) right 50% no-repeat;
    background-size: 14px;
}

.sort_desc {
    padding-right: 20px;
    background: url(images/submenu-down-dark.svg) right 50% no-repeat;
    background-size: 14px;
}

/* Capacities manager                               */
/* ------------------------------------------------ */
.capacitiescalendar {
    width: 60%;
}

.capacitiescalendar td {
    background: var(--secondary);
    color: #fff;
    padding: 10px;
}

.capacitiescalendar td.calendarodd {
    background: var(--main);
    color: #fff;
}

.capacitiescalendar tr:first-child {
    font-weight: bold;
}

.capacitiescalendar input {
    padding: 6px;
    width: 60px;
    margin-bottom: 0;
}

/* Pagination                                       */
/* ------------------------------------------------ */
.pagination {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    border-radius: 4px;
}

.pagination > li {
    display: inline;
}

.pagination > li:first-child > a, .pagination > li:first-child > span {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.pagination > li:last-child > a, .pagination > li:last-child > span {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.pagination > .disabled > a, .pagination > .disabled > a:focus, .pagination > .disabled > a:hover, .pagination > .disabled > span, .pagination > .disabled > span:focus, .pagination > .disabled > span:hover {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #ddd;
}

.pagination > li > a, .pagination > li > span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #337ab7;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd;
}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
    z-index: 3;
    color: #fff;
    cursor: default;
    background-color: var(--secondary);
    border-color: var(--secondary);
}

/* Footer                                           */
/* ------------------------------------------------ */
footer {
	font-size: 0.9em;
	padding: 80px 0;
	text-align: center;
	background: var(--secondary);
    overflow: hidden;
}

footer #menu-footer li a {
    font-weight: bold;
    margin: 20px 0;
}
footer a, footer, footer p {
	color: #ffffff;
}

footer a:hover {
    text-decoration: underline;
}

footer img {
    width: 60px;
    height: auto;
    display: block;
    margin: 0 auto 30px auto;
}

#copyright {
    margin-top: 40px;
    opacity: 0.6;
    font-size: smaller;
}

a.scrollup {
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 86px;
    right: 10px;
    display: none;
    text-indent: -9999px;
    background: url(images/top.svg) no-repeat;
    background-size: 100%;
    opacity: 0.7;
}


/* Responsive elements                              */
/* ------------------------------------------------ */
@media screen and (max-width: 800px) {
    .column-half, .column-twothirds, .column-third {
        width: auto;
        float: none;
        margin: 0 0 30px 0;
    }

    .column-quarter {
        width: 50%;
    }

    .column-quarter:nth-child(2n+1) {
        clear: both;
    }

    #submissionsfilters label, #capacitiesupdate label {
        width: auto;
        float: none;
        display: block;
    }

    #submissionsfilters input, #submissionsfilters select, #capacitiesupdate input, #capacitiesupdate select {
        width: 96%;
    }

    /* bookingform start --------------------------------------------------------------------- */

    .bookingform label, .bookingform .inputbox {
        margin-left: 20px;
        width: 80%;
    }
}

@media screen and (max-width: 600px) {

}

/* iOS */
@media screen and (max-width: 380px) {
	#header {
		min-height: 80px;
		font-size: 16px;
	}

	#header a {
		font-size :28px;
	}

	#footer img {
		width: 150px;
		height: auto;
	}
}


/* WP Common Styles */
figure {
    display: table;
}

.wp-block-image figcaption {
    display: table-caption;
    caption-side: bottom;
    margin-top: -10px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}

figure.wp-block-image {
    margin-left: 0;
    margin-right: 0;
}

figure.wp-block-image img {
    max-width: none !important;
}

.wp-caption {
    width: 100% !important;
}

.aligncenter {
   display: block;
   text-align: center;
   margin: 0 auto;
   padding-bottom: 10px;
}

.alignright {
   text-align: right;
   display: block;
   float: right;
   margin: 10px 0px 5px 15px;
}

.alignleft {
   text-align: left;
   display: block;
   float: left;
   margin: 10px 20px 5px 0px;
}

.wp-caption-text,.wp-caption-dd {
   margin: 0;
   font-weight: bold;
   font-size: smaller;
   text-align: center;
}

.wp-caption {
   margin-right: 5px;
}

.wp-caption img {
	padding-bottom: 5px;
}

.alignleft, .alignright {
	margin-bottom: 20px;
}

.aligncenter, dl.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignleft {
	float: left;
}

.alignright {
	float: right;
}


@media screen and (max-width: 600px) {
    img.alignleft, img.alignright {
        float: none;
        display: block;
        margin: 20px auto;
    }
}