
.body-booking .page-content h2          { font-size: 28px; line-height: 1.2; margin-bottom: 20px; }
.body-booking .page-content .error,.ep { color: #e40123 !important; font-size: 18px !important; line-height: 1.4 !important; margin: 30px 0 !important; text-align: center !important; }
.body-booking .page-content .message    { color: #333; font-size: 18px; line-height: 1.4; margin: 30px 0; text-align: center; }

.body-booking .page-content .left       { float: left; width: 48%; }
.body-booking .page-content .right      { float: right; width: 48%; }

.body-booking table		                { border: none; border-collapse: collapse; width: 100%; }
.body-booking th	                    { background-color: #485562; border-bottom: 3px solid #FFF; color: #FFF; font-size: 18px; font-weight: bold; padding: 15px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; text-align: left; vertical-align: top; }
.body-booking td                        { background-color: #e1e3e5; border-bottom: 3px solid #FFF; font-size: 16px; line-height: 24px; padding: 20px 15px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; text-align: left; vertical-align: top; }
.body-booking td p                      { font-size: 16px; line-height: 24px; margin: 0; }
.body-booking tr:nth-child(odd) td      { background-color: #f1f2f3; }

.body-booking form:after			    { clear: both; content: ""; display: table; }
.body-booking form label				{ color: #111; display: block; font-size: 16px; font-weight: bold; line-height: 1; }

.body-booking form input				{ background-color: #FFF; border: 1px solid #d6d9dc; color: #485562; font-size: 15px; margin-bottom: 14px; padding: 5px 10px; width: 100%; }
.body-booking form input				{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.body-booking form input:focus,
.body-booking form input:hover		    { border: 1px solid #111; color: #000; }
.body-booking form select				{ background-color: #FFF; border: 1px solid #d6d9dc; color: #485562; font-size: 15px; padding: 5px; }
.body-booking form textarea			    { background-color: #FFF; border: 1px solid #FFF; color: #000; font-size: 18px; padding: 10px; width: 100%; }
.body-booking form textarea			    { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.body-booking form textarea:focus,
.body-booking form textarea:hover		{ background-color: #f1f2f3; border: 1px solid #f1f2f3; color: #000; }
.body-booking form button				{ background: #e40123 url(/assets/images/icons/arrow-next.svg) no-repeat 92% center; border: 1px solid #e40123; color: #FFF; cursor: pointer; display: block; float: right; font-size: 26px; font-weight: 500; height: 50px; line-height: 50px; padding: 0 60px 0 20px; }
.body-booking form button               { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-background-size: 20px 20px; -o-background-size: 20px 20px; background-size: 20px 20px; }
.body-booking form button:hover		    { background-color: #111; border: 1px solid #111;  }

/* STEP 1
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.step-1 .postcode                   { background-color: #485562; padding: 30px; text-align: center; }
.step-1 .postcode strong            { color: #FFF; display: block; font-size: 18px; line-height: 1.4; }
.step-1 .postcode .input            { background-color: #FFF; border: 1px solid #FFF; color: #000; font-size: 18px; margin: 20px auto 0; padding: 10px; text-align: center; width: 150px; }
.step-1 .postcode .input:focus,
.step-1 .postcode .input:hover		{ background-color: #f1f2f3; border: 1px solid #f1f2f3; color: #000; }

/* STEP 2
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.step-2 a                       { color: #111; text-decoration: none; }
.step-2 a:hover                 { color: #111; text-decoration: none; }
.step-2 td.type                 { font-size: 28px; line-height: 1.1; padding-left: 45px; position: relative; }
.step-2 td.type .circle         { background-color: #fff; border: 2px solid #e40123; display: block; height: 13px; width: 13px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; position: absolute; top: 24px; left: 15px; }

.step-2 th,
.step-2 td	                    { width: 35%; }
.step-2 th:first-child,
.step-2 td:first-child          { width: 30%; }
.step-2 td:last-child           { color: #e40123; }

.step-2 a:nth-child(even) td    { background-color: #e1e3e5; }
.step-2 a:hover table td        { background-color: #d6d9dc; }
.step-2 a:hover td.type .circle { background-color: #e40123; border: 2px solid #e40123; }

/* STEP 3
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.step-3 a                       { color: #111; text-decoration: none; }
.step-3 a:hover                 { color: #111; text-decoration: none; }
.step-3 td.size                 { font-size: 20px; padding-left: 45px; position: relative; }
.step-3 td.size .circle         { background-color: #fff; border: 2px solid #e40123; display: block; height: 13px; width: 13px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; position: absolute; top: 24px; left: 15px; }

.step-3 a:nth-child(even) td    { background-color: #e1e3e5; }
.step-3 a:hover table td        { background-color: #d6d9dc; }
.step-3 a:hover td.size .circle { background-color: #e40123; border: 2px solid #e40123; }

.step-3 .size-guide             { background-color: #f9f9fa; margin: 50px 0; padding: 30px; }
.step-3 .size-guide h2          { text-align: center; }

/* STEP 4
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.step-4 .calendar               { background-color: #485562; color: #FFF; padding: 30px; }

/* STEP 5
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.step-5 .price                  { border: 3px solid #485562; color: #e40123; font-size: 28px; margin: 0 0 50px; padding: 30px; text-align: center; }

.step-5 .summary td:first-child          { width: 40%; }
.step-5 .summary td:last-child           { width: 60%; }
.step-5 .summary td p.no                 { color: #e40123; }

.step-5 .details               { padding: 15px 0; }

/* STEP 6
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.step-6 .center             { margin: 0 auto; width: 75%; }
.step-6 .confirmation       { border: 3px solid #485562; margin: 0 0 50px; padding: 30px; text-align: center; }
.step-6 .confirmation p     { font-size: 18px; line-height: 1.4; }
.step-6 td:first-child      { width: 40%; }
.step-6 td:last-child       { width: 60%; }
.step-6 td p.no             { color: #757575; }

/* NAV
------------------------------------------------------------------------------------------------------------------------------------------------------*/
nav.steps                      { border-bottom: 1px solid #ebeced; height: 40px; }
nav.steps ul                   { font-size: 14px; line-height: 40px; margin: 0; list-style: none; width: 960px; }
nav.steps ul li                { color: #111; display: inline; float: left; margin: 0; }
nav.steps ul li a              { color: #111; text-decoration: none; }
nav.steps ul li.disable_me a   { cursor: default; }
nav.steps ul li div            { color: #111; display: block; height: 40px; position: relative; width: 160px; }

nav.steps ul li div strong     { display: block; float: left; font-size: 24px; padding: 0 10px 0 20px; width: 18px; }
nav.steps ul li div span       { display: block; float: left; line-height: 30px; padding: 5px 0; width: 90px; }
nav.steps ul li.step4 div span,
nav.steps ul li.step5 div span { line-height: 15px; }

nav.steps ul li a:hover        { text-decoration: none; }
nav.steps ul li a:hover div    { opacity: 0.8; }
nav.steps ul li.disable_me a:hover div   { opacity: 1; }

nav.steps ul li.step1 div     { background-color: #dfe2e5; }
nav.steps ul li.step2 div     { background-color: #d6d9dc; }
nav.steps ul li.step3 div     { background-color: #c2c6ca; }
nav.steps ul li.step4 div     { background-color: #aeb3b9; }
nav.steps ul li.step5 div     { background-color: #99a0a8; }
nav.steps ul li.step6 div     { background-color: #858e97; }

main.step-1 nav.steps ul li.step1 div     { background-color: #e40123; color: #FFF; }
main.step-2 nav.steps ul li.step2 div     { background-color: #e40123; color: #FFF; }
main.step-3 nav.steps ul li.step3 div     { background-color: #e40123; color: #FFF; }
main.step-4 nav.steps ul li.step4 div     { background-color: #e40123; color: #FFF; }
main.step-5 nav.steps ul li.step5 div     { background-color: #e40123; color: #FFF; }
main.step-6 nav.steps ul li.step6 div     { background-color: #e40123; color: #FFF; }

/* MEDIA QUERIES
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/* Mobile - Portrait */
@media only screen and (max-width: 479px) {
    
    .body-booking .page-content h2 { font-size: 20px; margin-bottom: 15px; }
    .body-booking .page-content .error { font-size: 14px; margin: 20px 0; }
    .body-booking .page-content .message { font-size: 14px; margin: 20px 0; }
    
    .body-booking .page-content .left { float: none; margin-bottom: 20px; width: auto; }
    .body-booking .page-content .right { float: none; width: auto; }
    
    .body-booking th { font-size: 14px; line-height: 20px; padding: 10px; }
    .body-booking td { font-size: 13px; line-height: 20px; padding: 10px; }
    .body-booking td p { font-size: 13px; line-height: 20px; margin: 0; }
    
    .body-booking form label { font-size: 14px; }
    .body-booking form button { font-size: 20px; padding: 0; text-align: center; width: 100%; }
    
    .step-2 a { color: #111; text-decoration: none; }
    .step-2 a:hover { color: #111; text-decoration: none; }
    .step-2 td.type { font-size: 16px; line-height: 1.2; padding-left: 24px; }
    .step-2 td.type .circle { height: 8px; width: 8px; top: 12px; left: 5px; }

    .step-3 td.size { font-size: 16px; padding-left: 35px; }
    .step-3 td.size .circle { height: 8px; width: 8px; top: 14px; left: 10px; }
    .step-3 .size-guide img { height: auto; width: 100%; }

    .step-5 .price { font-size: 18px; line-height: 1.2; margin: 0 0 20px; padding: 15px; }
    
    .step-6 .center             { width: auto; }
    .step-6 .confirmation       { margin: 0 0 20px; padding: 15px; }
    .step-6 .confirmation p     { font-size: 18px; }
    
    nav.steps { height: auto; }
    nav.steps ul { font-size: 13px; line-height: 30px; width: auto; }
    nav.steps ul li { display: block; float: none; }
    nav.steps ul li div { height: 30px; width: auto; }
    nav.steps ul li div strong { display: block; float: left; font-size: 16px; padding: 0 0 0 15px; width: 15px; }
    nav.steps ul li div span { display: block; float: left; line-height: 30px; padding: 0 10px; width: auto; }
    nav.steps ul li.step4 div span,
    nav.steps ul li.step5 div span { line-height: 30px; }

    
}

._nomore {        
    color: grey;
    display: block;
    font-size: 20px;
    margin-top: 10px;
    text-transform: uppercase;
}


@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */
     .page-content{
    	display: block;
    }
}
@supports (-ms-accelerator:true) {
  /* IE Edge 12+ CSS styles go here */ 
  .page-content{
    	display: block;
    }
}