@import 'dojo.css';
/*
*
{
    box-sizing: border-box;
}
*/

body
{
    padding-top: 0em;
    padding-bottom: 0.6em;
    padding-right: 0.6em;
    padding-left: 0.6em;
    margin: 0;
    font-family: sans-serif;
    font-size: 8pt;
    color: #000;
}

a
{
    color: #337AB7;
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6
{
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

h1
{
    font-size: 1.2em;
}

form label, form input, form label span
{
    display: block;
}

form label
{
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

form span
{
    padding-right: 2em;
}

form input, form select, form textarea
{
    border: 1px solid #999;
/*     box-sizing: border-box; */
/*     transition: border-color 0s ease 0s; */
    background-color: #FFF;
/*     border-radius: 3px; */
/*     border: 1px solid #DDD; */
/*     box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.06) inset; */
    font-family: "myriad-pro", sans-serif;
    font-size: 1em;
/*     margin-bottom: 0.75em; */
/*     padding: 0.2em; */
}

form input[type="submit"]
{
    -moz-appearance: none;
    border: medium none;
    cursor: pointer;
    vertical-align: middle;
    white-space: nowrap;
    background-color: #1A5498;
    border-radius: 3px;
    color: #FFF;
    display: inline-block;
    font-size: 1em;
    font-weight: bold;
    line-height: 1;
    padding: 0.5em 0.75em;
    text-decoration: none;
}

form input[type="submit"]:hover
{
    background-color: #0F3057;
}

form fieldset
{
    border: none;
}

form#resid, form#search, form#checkbox
{
    display: inline-block;
}

form#checkbox label
{
    display: inline;
}

table
{
    border-spacing: 0px;
    border-collapse: collapse;
    background-color: transparent;
}

th
{
    text-align: left;
}

footer
{
    font-size: 0.7em;
/*    position: absolute;
    bottom: 0;
    margin: auto;*/
    width: 100%;

}

hr.footer
{
    margin: 0.5em 0 0 0;
    border: 0; height: 1px; background: #aaa; background-image: linear-gradient(to right, #fefefe, #ddd, #fefefe);
}

footer p
{
    text-align: center;
    margin-top: 5px;
    margin-bottom: 0;
    color: #777;
}

div#login
{
    width: 20em;
    margin: 0 auto;
}

table.outline
{
    border-collapse: collapse;
}

table.outline, table.outline td, table.outline th
{
    border: 1px solid #555;
    padding: 0.5em;
}

table.table tr:hover
{
    background-color: #c3c3c3;
}

table.layout
{
    margin: auto;
}

table.layout td
{

    padding-top: 10px;
    padding-right: 10px;
}

table.layout > tbody > tr:hover
{
    background-color: transparent;
}

table.outline th
{
    background-color: #4CAF50;
    color: white;
}

table.form
{
/*    border: solid 1px #f5f5f5;*/
    border: solid 1px #b5bcc7;
    display: inline-block;
/*     padding: 0 0.5em 0 0.5em; */
    border-spacing: 0.1em;
    border-collapse: separate;
    background-color: #eee;
    box-shadow: 0px 5px 8px -4px #333;
}

table.form td:hover
{
    background-color: #f5f5f5;
}

table.form td
{
    padding: 0.3em;
    background-color: #eee;
}

table.form td.label
{
    padding-right: 0.5em;
    text-align: right;
}

table.form label
{
    display: inline-block;
    white-space: nowrap;
}

form span
{
    padding-right: 0.5em;
}

table.form .dijitSelectLabel
{
/*     max-width: 16em; */
    overflow: hidden;
}

table.form .dijitTextBox
{
/*     width: 12em; */
/* Might be a solution */
    width: 100%;
}

table.form .dijitNumberTextBox
{
/*     width: 3em; */
}

table#capture .dijitNumberTextBox
{
    width: 8em;
}

table.form .dijitTimeTextBox, table.form .mobexTimeTextBox
{
    width: 6em;
}

table.form .dijitTextArea
{
    width: 100%;
}

table.form #widget_StatusID
{
    width: 12em;
}

table.form #widget_Fare
{
    width: 10em;
}

table.form #widget_FlightNumber
{
    width: 6em;
}

table.form #widget_childseat,
table.form #widget_babyseat,
table.form #widget_TotalPax,
table.form #widget_Adults,
table.form #widget_ChildrenUnderSix
{
    width: 3em;
}

table.form pre
{
    margin: 0;
}

table.block
{
    border-spacing: 0.2em;
    border-collapse: separate;
}

table.block td
{
    padding: 0.3em;
}

table.block form
{
    display: inline-block;
}

table.block input#id, #widget_id
{
    max-width: 8em;
}

form#search .dijitTextBox
{
    width: 10em;
}

form div#flightselect
{
    display: inline-block;
}

table#dateselect
{
    display: inline-block;
}

.small
{
    font-size: 0.7em;
}

.mobex-blue {
    color: #1B2B37;
}

.btn-success {
  background-color: #57a900;
  background-image: -moz-linear-gradient(top, #70d900, #57a900);
  background-image: -ms-linear-gradient(top, #70d900, #57a900);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#70d900), to(#57a900));
  background-image: -webkit-linear-gradient(top, #70d900, #57a900);
  background-image: -o-linear-gradient(top, #70d900, #57a900);
  background-image: linear-gradient(top, #70d900, #57a900);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#70d900', endColorstr='#57a900', GradientType=0);
}

.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
  background-color: #57a900;
}

.btn-success:active, .btn-success.active {
  background-color: #57a900;
}

.btn-transparent {
    background-color: transparent;
    border: none;
    cursor:pointer;
    overflow: hidden;
    outline:none;
}

div#container
{
    margin: auto;
/*    position: relative;
    display: flex;
    flex-direction: column;*/
}

.table
{
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
    border: solid 1px #b5bcc7;
    background-color: #fff;
    box-shadow: 0px 5px 8px -4px #333;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th
{
    padding: 0.4em;
    line-height: 1.42857;
    vertical-align: top;
    border-top: 1px solid #ddd;
    border-left: 1px solid #F7F7F7;
    border-right: 1px solid #F7F7F7;
    max-width: 25em;
    word-wrap: break-word;
}

.table > thead > tr > th,
.table > tbody > tr > th
{
    background-color: #eee;
}

.table > tbody > tr:nth-child(even) {
    background-color: #f5f5f5;
}

.table > tbody > tr:nth-child(even):hover {
    background-color: #c3c3c3;
}

.table td.Date
{
    white-space: nowrap;
}


/* Customize the color by overriding the Dgrid row styling */
.dgrid-row-even {
    background-color: #f5f5f5;
}

.dgrid-row-odd:hover {
    background-color: #c3c3c3;
}

.dgrid-row-even:hover {
    background-color: #c3c3c3;
}


/* reservation status colors */

table.table tr.Pending { color: #D70; font-weight: bold;}
table.table tr.Confirmed { color: #000;}
table.table tr.Cancelled { color: #F00; font-weight: bold;}
table.table tr.Check { color: #B0F; font-weight: bold;}
table.table tr.disabled { color: #999; }

table.table tr.selected td,
table.table tr.unassigned.selected td 
{
/*     background-color: #cfe5fa; */
    /*Use the Skybus color instead of the matching color from Dojo*/
    background-color: #235697;
    color: #fff;
}
table.table tr.unassigned td
{ background-color: #FDB; }

.table td.warn
{
    background-color: #fcc;
}
.table th .dijitButton
{
    font-weight: normal;
}

table.legend {
    font-size: 90%;
}

table.legend th {
    background: #F4F5F7;
    color: #172B4D;
    font-weight: bold;
}

table.legend th, table.legend td {
    border: thin solid #C1C7D0;
    padding: 3px 4px;
}

table.legend td {
    background: #FFFFFF;
}

.reservation-icon {
    width: 16px;
    height: 16px;
    margin: 0 auto;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 5px;
}

.reservation-icon-pending-check {
    background: #555555;
}

.reservation-icon-tour {
    background: #CC9922;
}

.reservation-icon-arrival-niseko {
    background: #004499;
}

.reservation-icon-departure-niseko {
    background: #993333;
}

.reservation-icon-others {
    background: #339933;
}

div.calendars table
{
    display: inline-block;
}

/* dgrid (Table) header overrides */
div.dgrid
{
    border: solid 1px #b5bcc7;
    background-color: #fff;
    box-shadow: 0px 5px 8px -4px #333;
}

div.dgrid-header input.dijitInputInner, div.dgrid-header span.dijitPlaceHolder
{
    font-size: 0.8em;
    font-weight: normal;
}

div.dgrid-header .dijitButtonText
{
    font-size: 7pt;
    font-weight: normal;
}

div.dgrid-header .dijitToggleButton
{

    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0.5em;
}

.dgrid-column-actions
{
    width: 80px;
}

.claro .dijitToolbar
{
    border-bottom: 0px;
    background-color: transparent;
    background-image: none;
    padding: 0px;
}

th.dgrid-cell > div > span.title
{
    font-size: 0.8em;
}

/* messages */

div#flashmessagewrapper
{
    position: relative;
}

div#flashmessage
{
    position: absolute;
    z-index: 999;
    width: 70%;
    right: 15%;
    opacity: 0.95;
}

.close:focus, .close:hover
{
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: 0.5;
}

.alert-dismissible .close
{
    position: relative;
    top: -2px;
    right: -1.5em;
    color: inherit;
}

button.close
{
    padding: 0px;
    cursor: pointer;
    background: transparent none repeat scroll 0px 0px;
    border: 0px none;
}

.close
{
    float: right;
    font-size: 21px;
    font-weight: 700;
    color: #000;
    opacity: 0.3;
}

.alert
{
    overflow: hidden;
    margin-bottom: 0.5em;
    border: 1px solid transparent;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
/*     border-radius: 4px; */
    height: 0;
    box-shadow: 0px 5px 8px -5px #ccc;
}

.alert p
{
    margin: 0.5em;
}

.alert-dismissible
{
    padding-right: 35px;
}

.alert-success
{
    background-color: #dff0d8;
    border-color: #b2dba1;
}

.alert-error
{
    background-color: #f2dede;
    border-color: #dca7a7;
}

.alert-info
{
    background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
    background-repeat: repeat-x;
    border-color: #9acfea;
}

.alert-warning
{
    background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
    background-repeat: repeat-x;
    border-color: #f5e79e;
}

/* nav breadcrumb */

.breadcrumb
{
    padding: 0.3em 0.5em;
    margin-bottom: 1em;
    list-style: outside none none;
    background-color: #F5F5F5;
    border-radius: 4px;
    list-style: outside none none;
    font-size: 0.7em;
}

.breadcrumb > li
{
    display: inline-block;
}

.breadcrumb > li + li::before
{
    padding: 0px 5px;
    color: #CCC;
    content: "/ ";
}

/* nav menu */

svg.icon
{
    fill: #FFF;
    width: 60px;
    height: 20px;
    margin-left: -5px;
    margin-bottom: -5px;
}

.nav
{
    position: relative; 
    top: 0px;
    left: 0px;
    width: 100%; /* Spans the width of the page */
/*     height: 4em;  */
    margin: 0; /* Ensures there is no space between sides of the screen and the menu */
    background-color: #444;
    box-shadow: 0px 5px 8px -5px #000000;
}

.nav ul {
/* default color */
/*     background-color: #444; */
/* Skybus color */
    background-color: #235697;
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 0;
}

.nav.scheduled ul {
/* default color */
/*     background-color: #444; */
/* Skybus color */
    background-color: #f00;
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 0;
}

.nav li
{
  font-size: 1.2em;
  line-height: 2em;
  text-align: left;
}

.nav a {
  text-decoration: none;
  color: #fff;
  display: block;
  padding-left: 1em;
  padding-right: 1em;
  border-bottom: 1px solid #888;
  transition: .3s background-color;
}

.nav.scheduled a:hover {
  background-color: #500;
}

.nav a:hover {
  background-color: #1B2B37;
}

.nav a.active {
  background-color: #aaa;
  color: #444;
  cursor: default;
}

/* Sub Menus */
.nav li li {
/*   font-size: .8em; */
}
.nav li.home a img
{
    margin-bottom: -7px;
}

.nav li#scheduled_item
{
    background-color: #a55;
    padding-left: 8px;
}
.nav li#scheduled_item a
{
    background: transparent url("../img/scheduled.png") center left no-repeat;
    padding-left: 30px;
}
.nav li#private_item
{
    background-color: #59e;
    padding-left: 8px;
}
.nav li#private_item a
{
    background: transparent url("../img/private.png") center left no-repeat;
    padding-left: 66px;
}

.nav li a#user
{
    width: 20px;
    background: transparent url("../img/user.png") center center no-repeat;
}

.pagination
{
    height:36px;
    margin:18px 0;
}

.pagination ul
{
    display:inline-block;
    padding: 0px;
    *display:inline;
    *zoom:1;
    margin-left:0;
    margin-bottom:0;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
    border-radius:3px;
    -webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);
}

.pagination li
{
    display:inline;
}

.pagination a
{
    float:left;
    padding:0 14px;
    line-height:34px;
    text-decoration:none;
    border:1px solid #ddd;
    border-left-width:0;
}

.pagination a:hover,.pagination .active a
{
    background-color:#f5f5f5;
}

.pagination .active a
{
    color:#999999;
    cursor:default;
}

.pagination .disabled a,.pagination .disabled a:hover
{
    color:#999999;
    background-color:transparent;
    cursor:default;
}
.pagination li:first-child a
{
    border-left-width:1px;
    -webkit-border-radius:3px 0 0 3px;
    -moz-border-radius:3px 0 0 3px;
    border-radius:3px 0 0 3px;
}
.pagination li:last-child a
{
    -webkit-border-radius:0 3px 3px 0;
    -moz-border-radius:0 3px 3px 0;
    border-radius:0 3px 3px 0;
}
.pagination-centered
{
    text-align:center;
}
.pagination-right
{
    text-align:right;
}

.caret {
/*   position: absolute; */
  top: -6px;
  left: 10px;
  display: inline-block;
  border-right: 6px solid transparent;
  border-top: 6px solid white;
  border-left: 6px solid transparent;
  content: '';
}

.icon-up {
  top: -6px;
  left: 10px;
  display: inline-block;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #337AB7;
  border-left: 6px solid transparent;
  content: '';
}

.icon-down {
  top: -6px;
  left: 10px;
  display: inline-block;
  border-right: 6px solid transparent;
  border-top: 6px solid #337AB7;
  border-left: 6px solid transparent;
  content: '';
}

.error
{
    color: #f00;
}

span.error
{
    padding: 0;
}

span.error ul
{
    padding-left: 1em;
    margin: 0.5em 0 0 0;
}

div.error
{
    background-color: #fdd;
    padding: 0.5em;
    margin: 0.5em;
    width: 40em;
}

div.error ul
{
    padding-left: 1em;
    margin: 0.5em;
}

.section-header
{
    display: flex;
    background-color: #235697;
    color: white;
    border-radius: 5px 5px 0px 0px;
    padding: 0px 20px;
    font-weight: bold;
    cursor: pointer;
}

.section-header img
{
    width: 100%;
    max-width: 16px;
    height: auto;
}

.section-title
{
    display: flex;
    gap: 10px;
    align-items: center;
}

.transform-table {
    transition: transform 0.3s ease;
    transform: translateY(-2%);
}

.slide-down {
    animation-name: slideDown;
    animation-duration: 0.3s;
}

@keyframes slideDown {
    from {
        transform: translateY(-2%);
    }
    to {
        transform: translateY(0);
    }
}

/*******
 * file sepcific
 * *****/



/*******************************************
   Style menu for larger screens

   Using 650px (130px each * 5 items), but ems
   or other values could be used depending on other factors
********************************************/


    .nav li
    {
/*         min-width: 9.6em; */
        border-bottom: none;
        height: 2em;
        font-size: 1.2em;
        display: inline-block;
        margin-right: -4px;
    }

    .nav li ul li
    {
        width: 14em;
        height: 2em;
        line-height: 2em;
        font-size: 0.8em;
        margin-right: -4px;
    }

    .nav a
    {
        border-bottom: none;
        white-space: nowrap;
    }

    .nav > ul > li
    {
        text-align: center;
    }

    .nav > ul > li > ul > li > a
    {
        padding-right: 0;
        width: 12.7em;
    }
    
    .nav > ul > li > a
    {
/*         padding-left: 0; */
    }

    /* Sub Menus */
    .nav li ul
    {
        position: absolute;
        display: none;
        width: inherit;
        box-shadow: 0px 5px 8px -5px #000000;
    }

    .nav li:hover ul
    {
        display: block;
    }

    .nav li ul li
    {
        display: block;
    }

/* for desktop */
@media screen and (min-width: 650px)
{
    body
    {
        padding-top: 6em; /* matches the height of the navbar */
        padding-bottom: 0.6em;
        padding-right: 1em;
        padding-left: 1em;
        margin: 0;
        font-family: sans-serif;
        font-size: 10pt;
        color: #333;
	background-image: linear-gradient(to right, #fff, #f5f5f5, #fff);
    }

    .nav
    {
        position: fixed; 
        z-index: 99; /* Makes sure that your menu remains on top of other page elements */
    }
}

.flex-container-300 {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 300px;
}

.hidden {
    display: none;
}

.luggage-field {
    width: 15%;
}

.reservation-child-select {
    max-width: 280px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.section-container {
    border: solid 1px #b5bcc7;
    border-spacing: 0.1em;
    border-collapse: separate;
    background-color: #eee;
    box-shadow: 0px 5px 8px -4px #333;
    padding: 10px;
}

.loader-div {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
    background-color: rgba(0, 0, 0, 0.4);
}

.loader {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 50px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 8px solid #235697;
    animation:
      l20-1 0.8s infinite linear alternate,
      l20-2 1.6s infinite linear;
  }
  @keyframes l20-1{
     0%    {clip-path: polygon(50% 50%,0       0,  50%   0%,  50%    0%, 50%    0%, 50%    0%, 50%    0% )}
     12.5% {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100%   0%, 100%   0%, 100%   0% )}
     25%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 100% 100%, 100% 100% )}
     50%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
     62.5% {clip-path: polygon(50% 50%,100%    0, 100%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
     75%   {clip-path: polygon(50% 50%,100% 100%, 100% 100%,  100% 100%, 100% 100%, 50%  100%, 0%   100% )}
     100%  {clip-path: polygon(50% 50%,50%  100%,  50% 100%,   50% 100%,  50% 100%, 50%  100%, 0%   100% )}
  }
  @keyframes l20-2{ 
    0%    {transform:scaleY(1)  rotate(0deg)}
    49.99%{transform:scaleY(1)  rotate(135deg)}
    50%   {transform:scaleY(-1) rotate(0deg)}
    100%  {transform:scaleY(-1) rotate(-135deg)}
  }

.warning-msg {
    background-color: #FDF4E5;
    color: #623D03;
    padding: 10px 10px 10px 40px;
    max-width: 400px;
    word-wrap: break-word;
    background-image: url("../img/warning-icon.svg");
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 10px 10px;
    border-radius: 4px;
}