html
{
    overflow-y: scroll;
    height: 100vh;
}

.bm_wrap
{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
}

.bm_wrap > div
{
    flex-shrink: 0;
    flex-grow: 0;
}

body
{
    font-family: Lato, "XOpen Sans", "XTitillium Web", "XXFira Sans", "XExo", "XExo 2", "XSegoe UI", Roboto, 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 16px;
    /*line-height: 1.2;*/
    height: 100%;
}

b, th
{
    font-weight: 600;
}

/*
h1
{
    font-family: 'Alegreya Sans', sans-serif;
    font-weight: 700;
    font-size: 40px;
}

h2
{
    font-family: 'Alegreya Sans', sans-serif;
    font-weight: 700;
    font-size: 32px;
    margin-top: 1.5em;
}

*/
h1
{
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 300;
    font-size: 56px;
}

h1.title,
h1:last-child.title
{
    margin-bottom: 1em;
}

h2
{
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 400;
    font-size: 32px;
    margin-top: 1.5em;
    /*color: #888;*/
}

h1
{
    margin-top: 1.5em;
    margin-bottom: 1em;
}

h2,
h3,
h4,
h5,
h6
{
    margin-top: 1.5em;
    margin-bottom: 0.25em;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child
{
    margin-top: 0;
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child
{
    margin-bottom: 0;
}

p
{
    margin: 0 0 1em;
}

p.intro
{
    font-weight: 400;
    font-size: 1.5em;
}

.list-group-item-text
{
    color: #888;
    font-size: 0.9em;
}

li
{
    margin-bottom: 0.5em;
}

.nav > li
{
    margin-bottom: 0;
}

.logo-background
{
    background-image: url('vatnz.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-origin: content-box;
    background-position: right bottom;
    min-height: 4em;
    opacity: 0.15;
}

table.table-flush-right th:last-child,
table.table-flush-right td:last-child
{
    text-align: right;
}

/* OVERRIDING BONMOT DEFAULT STYLES */

#top_nav .navbar-nav > li > a
{
    padding: 15px 12px;
}

#top_nav .navbar-nav > li > a.icon_only_link
{
  padding: 15px 5px;
}

#top_nav a.sign_in_link
{
    padding-right: 0;
}

#content
{
    background: transparent;
    float: none;
    width: auto;
}

#navigation_children
{
    margin-top: 2em;
}

#descendant_navtree
{
    background: #fff0f0;
    float: none;
    width: auto;
}

#page_body
{
    flex-grow: 1;
}

#page_footer
{
    background: #f0f0f0;
    border-top: 1px solid #ccc;
    color: #666;
    font-size: 0.875em;
    padding: 0.5em 0;
    margin-top: 5em;
    text-align: center;
    min-height: inherit;
}

/* responsive images */
#content img
{
    display: block;
    height: auto;
    max-width: 100%;
}

/* Default Layout */

.home_logo img
{
    height: 40px;
    margin-top: 5px;
}

img.img-center
{
    margin-left: auto;
    margin-right: auto;
}

img.img-left
{
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
}

img.img-right
{
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
}

/* Feature Page */

.page_header
{
    /*margin-top: 5em;*/
    margin-bottom: 2em;
}

.title_block
{
    border-top: solid 8px #fc0;
    /*margin-top: 5em;*/
    padding-bottom: 1em;
    border-bottom: solid 1px #aaa;
    min-height: 16em;
    margin-top: 1em;
    /*background: #f8f8d0;*/ /*#fafaf0;*/
}

.title_block h1
{
    min-height: 4.25em; /*3.625em;*/
    margin-top: 20px;
}

.by_line_author,
.by_line_date
{
    /*height: 1.5em;*/
    font-size: 0.815em; /*.9em;*/
}

.by_line_author
{
    float: left;
}

.by_line_date
{
    float: right;
    color: #666;
}

.cover_image
{
    max-height: 16em;
    overflow: hidden;
    margin-top: 1em;
}

.cover_image img
{
    min-width: 100%;
    height: auto;
}

/* VATSIM LOGIN */

body.vatsim_login .alert
{
    margin-top: 0.5em;
}

body.vatsim_login p.error
{
    color: #d9534f;
}

/* VATSIM REGISTER */

body.vatsim_register #division_other_wrap
{
    margin-top: -0.5em;
}

body.vatsim_register .panel
{
    margin-top: 2em;
}

/* CALLOUT */
.callout
{
    margin: 1em 0;
    padding: 1em 0 1em 2em;
    border-left: solid 5px #5bc0de;
    background: #f4f8fa;
}

.callout-error
{
    background: #fdf7f7;
    border-color: #d9534f;
}

.callout-warning
{
    background: #fcf8e3;
    border-color: #8a6d3b;
}

.callout-success
{
    background: #dff0d8;
    border-color: #3c763d /*#5cb85c*/;
}

.callout h2, .callout a
{
    color: #5bc0de;
}

.callout-error h2, .callout-error a
{
    color: #d9534f;
}

.callout-warning h2, .callout-warning a
{
    color: #8a6d3b;
}

.callout-success h2, .callout-success a
{
    color: #3c763d;
}

/* AirportContentItem */

body.airportcontentitem .table.charts td:last-child
{
    text-align: right;
}

body.airportcontentitem .panel-heading > h3
{
    margin: 0;
}

/* State Icons */
#top_nav .navbar-collapse .state_icon
{
    float: right;
}

#top_nav .navbar-collapse .state_item_title
{
    padding-right: 2em;
}

#top_nav .navbar-collapse li p
{
    margin: 0;
}

#top_nav li.state-draft a,
#top_nav li.state-expired a,
#top_nav li.state-pending a
{
    color: #aaa;
    font-style: italic;
    background: #fafafa; /*#f8f8f8;*/
}

#top_nav li.state-draft a:hover,
#top_nav li.state-expired a:hover,
#top_nav li.state-pending a:hover
{
    background: #f6f6f6;
}

#top_nav li.state-draft a .state_item_title,
#top_nav li.state-expired a .state_item_title,
#top_nav li.state-pending a .state_item_title
{
    font-size: 0.9em;
}

/*
#top_nav li.state-expired a
{
	color: #d44;
	font-size: 0.9em;
	font-style: italic;
}

#top_nav li.state-pending a
{
	color: #aa0;
	font-size: 0.9em;
	font-style: italic;
}
*/

#top_nav li.state-public a
{
    color: #484;
    font-weight: 600;
}

/* Access list modal */

#access_list_modal .modal-title
{
    line-height: 1.1;
}

#access_list_modal .modal-title .contentitem_title
{
    font-weight: 600;
    font-style: italic;
}

#access_list_modal .panel
{
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

#access_list_modal .panel-primary a
{
    color: #fff;
}

#access_list_modal .panel-danger a,
#access_list_modal .panel-danger h4
{
    color: #a94442;
}

#access_list_modal .panel-warning a,
#access_list_modal .panel-warning h4
{
    color: #8a6d3b;
}

#access_list_modal .panel-default a
{
    color: #000;
}

#access_list_modal .notes
{
    font-size: 0.9em;
    line-height: 1.1;
}

#access_list_modal p.no_restrictions
{
    text-align: center;
    font-size: 0.9em;
    color: #aaa;
}

/*************** BREADCRUMBS **************/

#breadcrumbs
{
    background: #f4f4f4;
    border-bottom: 1px solid #ccc;
    font-size: 0.875em;
    padding: 0.2em 0;
    margin-bottom: 2em;
}

#breadcrumbs > div.container
{
    min-height: 22px; /* pushes this to same height as the breadcrumb container with a btn-xs button/link */
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
}

#top_nav
{
    margin-bottom: 0;
}

ol.breadcrumbs
{
    margin: 0;
    padding: 0;
    flex-grow: 1;
}

ol.breadcrumbs li.current_item:after
{
    content: none;
}

.after_breadcrumbs
{
    /*margin-left: auto;*/
}

/*
.item
{
	outline: solid 2px red;
	height: 250px;
	overflow: hidden;
}

.item img
{
}
*/
/************ HOMEPAGE CAROUSEL *************/

.carousel
{
    margin-bottom: 2em;
}

.carousel-caption
{
    bottom: 2em;
    left: 2em;
    right: 60%;
    text-align: left;
    top: 2em;
    overflow: hidden;
    padding: 0;
}

.carousel-caption h2
{
    font-size: 4em;
    line-height: 0.9;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 0.5em;
}

.carousel-caption .description
{
    color: #fff;
}

.carousel-caption .description p
{
    margin: 0 0 0.5em;
    font-size: 1.2em;
    line-height: 1.2em;
}

.carousel-indicators
{
    left: auto;
    width: auto;
    right: 2em;
    margin: 0;
}

.carousel-indicators li
{
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

@media (max-width: 767px)  /* xs -- phones */
{
    .carousel
    {
        display: none;
    }
}

@media (max-width: 991px) /* sm -- portrait tablets */
{
    .carousel-caption h2
    {
        font-size: 2.5em;
    }
}

@media (max-width: 1199px) /* md -- low-res desktops / horizontal tablets */
{
    .carousel-caption
    {
        top: 1em;
        bottom: 1em;
        left: 1em;
    }

    .carousel-indicators
    {
        right: 1em;
        bottom: 1em;
    }

    .carousel-caption h2
    {
        font-size: 3em;
    }

    .carousel-caption .description p
    {
        font-size: 1em;
    }

}

/*

!*@media(max-width:767px)*!
@media (max-width: 579px)
{
    .carousel-caption
    {
        top: 0.5em;
        left: 0.5em;
        right: 50%;
        bottom: 0.5em;
    }

    .carousel-caption h2
    { !*color: red;*!
        font-size: 1.1em;
    }

    .carousel-caption .description
    {
        font-size: 0.4em;
    }

    .carousel-indicators
    {
        right: 0.5em;
        bottom: 0.25em;
    }
}

!*@media(min-width:768px)*!
@media (min-width: 580px) and (max-width: 991px)
{
    .carousel-caption
    {
        top: 1em;
        left: 1em;
        right: 50%;
        bottom: 1em;
    }

    .carousel-caption h2
    { !*color: green;*!
        font-size: 2em;
    }

    .carousel-indicators
    {
        right: 1.25em;
        bottom: 0.75em;
    }
}

@media (min-width: 992px) and (max-width: 1199px)
{
    .carousel-caption h2
    { !*color: blue;*!
        font-size: 2.5em;
    }
}

@media (min-width: 1200px)
{
    .carousel-caption
    {
        right: 65%;
    }

    .carousel-caption h2
    { !*color: orange;*!
        font-size: 3.5em;
    }
}
*/

/*
#homepage-carousel .item
{
	max-height: 250px;
}

#homepage-carousel .item a
{
	position: relative;
	display: block;
}

#homepage-carousel .item img
{
	position: relative;
	top: 50%;
/-*	
	margin: auto;
	min-width: 100%;
	min-height: 100%;
	max-width: none;
}
*/

@media (max-width: 579px)
{
    /*.visible-xs-bm {display:inherit;}*/
    .hidden-xs-bm
    {
        display: none !important;
    }
}

@media (min-width: 580px)
{
    .visible-xs-bm
    {
        display: none !important;
    }

    /*.hidden-xs-bm {display:inherit;}*/
}

.panel.bonmot_collapsible .panel-heading
{
    cursor: pointer;
}

/*********** HOMEPAGE EVENTS ************/
/*.homepage-event {padding-left: 1em; padding-right: 1em;}*/
.homepage-event .event_header
{
    margin-top: 1em;
    margin-bottom: 1em;
}

.homepage-event .super_title
{
    font-size: .875em;
    text-transform: uppercase;
    color: #888;
}

.homepage-event .super_title a
{
    color: #888;
}

.homepage-event .event_name
{
    margin: 0;
    border-bottom: solid 1px #888;
}

.homepage-event .event_name a
{
    color: #333;
}

.homepage-event .event_times
{
    margin: 0.5em 0 0em;
    float: right;
}

.homepage-event .event_time
{
    font-family: Ubuntu Mono, monospace; /*font-size: 12px; line-height: 12px;*/
    line-height: 0.9;
    color: #888;
}

.homepage-event .event_time td
{
    padding-bottom: 0.25em;
}

.homepage-event .current_timezone
{
    color: #333;
    font-weight: bold;
}

.homepage-event .event_banner
{
    margin: auto;
}

.homepage-event .underway_now .label
{
    display: block;
    padding: 1em;
    font-size: 1em;
}

.homepage-event .panel-footer
{
    text-align: center;
}

@media (min-width: 1200px)
{
    .homepage-event .event_banner
    {
        float: right;
    }
}

@media (max-width: 579px)
{
    .homepage-event .event_time > td
    {
        text-align: center;
    }

    .homepage-event .event_times
    {
        width: 100%;
    }
}

.homepage-event-list h3
{
    margin: 0;
}

.homepage-event-list .event_times
{
    margin: 0;
    color: #888;
    font-size: .8125em;
}

.additional_event
{
    margin-top: 1em;
    margin-bottom: 1em;
}

.additional_event h4
{
    margin: 0;
    padding: 0 0 .5em 0;
    font-family: "Roboto Condensed", sans-serif;
}

.additional_event a
{
    color: unset;
    text-decoration: none;
    display: block;
    padding: 0 .75em;
    border-left: solid 4px #eee;
}

.additional_event a:hover
{
    background: #f8f8f8;
}

.additional_event a:hover h4
{
    text-decoration: underline;
}

.additional_event .series_title
{
    text-transform: uppercase;
    font-size: .8125em;
}

/********** CURRENT ACTIVITY **********/
.current_activity_aircraft,
.current_activity_atc,
.bookings_flights,
.bookings_atc,
#bookings_modal,
#current_activity_modal
{
    font-family: "Source Sans Pro", sans-serif;
}

.current_activity_stale_data_warning,
.current_online_rankings_stale_data_warning
{
    display: none;
}

.current_activity_asat
{
    display: none;
    font-size: 75%;
    text-align: right;
}

.current_activity_aircraft tbody tr:hover,
.current_activity_atc tbody tr:hover
{
    cursor: pointer;
}

.table > tbody > tr.no_results td
{
    color: #888;
    cursor: default;
    font-size: 90%;
    line-height: 1.58681;
    text-align: center;
    text-transform: uppercase;
}

.current_activity_atc .observer
{
    color: #aaa;
}

.current_activity_atc .callsign, .current_activity_aircraft .callsign
{
    white-space: nowrap;
}

.current_activity_atc .invalid_callsign,
.current_activity_atc .invalid_cid,
.current_activity_atc .invalid_frequency
{
    color: #aaa;
}

.current_activity_atc .invalid_callsign .callsign,
.current_activity_atc .invalid_cid .controller,
.current_activity_atc .invalid_frequency .frequency
{
    text-decoration: line-through #a88;
}

.current_activity_atc .invalid_callsign .glyphicon,
.current_activity_atc .invalid_cid .glyphicon,
.current_activity_atc .invalid_frequency .glyphicon
{
    color: #a66;
    padding-left: .25em;
}

.field_label
{
    font-weight: bold;
}

#current_activity_modal .row
{
    margin-bottom: 0.5em;
    line-height: 1;
}

#current_activity_modal .title
{
    color: #aaa;
    font-size: 90%;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 1em;
}

#current_activity_modal .row.route .value,
#current_activity_modal .row.remarks .value,
#current_activity_modal .row.atis_message .value
{
    font-family: Ubuntu Mono, monospace;
}

@media (max-width: 579px)
{
    .current_activity_aircraft tbody tr,
    .current_activity_atc tbody tr
    {
        font-size: 90%;
    }
}

.leaderboard_period_selector button
{
    display: none;
}

.leaderboard_root div[data-period]
{
    display: none;
}

.leaderboard_root[data-active-period="year"] div[data-period="year"],
.leaderboard_root[data-active-period="month"] div[data-period="month"],
.leaderboard_root[data-active-period="week"] div[data-period="week"]
{
    display: block;
}

.leaderboard_root[data-active-period="year"] .leaderboard_period_selector button[data-period="year"],
.leaderboard_root[data-active-period="month"] .leaderboard_period_selector button[data-period="month"],
.leaderboard_root[data-active-period="week"] .leaderboard_period_selector button[data-period="week"]
{
    background-color: #ccc;
}

.leaderboard_data_type
{
    text-align: center;
    padding: 1em 0 0;
    font-weight: 700;
}

.leaderboard_root table th:first-child,
.leaderboard_root table td:first-child
{
    width: 4em;
}

.leaderboard_root .current_user td
{
    font-weight: 700;
    background: beige;
    /* color: white; */
}

.leaderboard_root .current_user:last-child td
{
    padding-top: .5em;
    padding-bottom: .5em;
    /* background: palegoldenrod; */
    border-top: 2px dashed #ddd;
}


/*************** USER ACTIVITY ****************/
.user_activity_root .panel-body
{
    height: 400px;
}

.user_activity_root .user_activity_result,
.user_activity_root .no_user_activity
{
    display: none;
    height: 100%;
}

.user_activity_root .no_user_activity > div
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.user_activity_root .no_user_activity h3
{
    margin-bottom: 3em;
}

.user_activity_root .no_user_activity li
{
    margin: 0;
}

.user_activity_root .user_activity_result > div
{
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    height: 100%;
}

.user_activity_root .user_activity_chart
{
    flex-grow: 1;
}

.user_activity_root .user_activity_result small
{
    flex-grow: 0;
    margin-top: .5em;
}

.user_activity_root .loading_activity_data
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}


/*************** BOOKINGS DISPLAY **************/
.bookings_display .booking_day
{
    font-size: 90%;
    font-weight: 600;
    text-align: center;
    background: #f5f5f5;
    font-style: italic;
}

.bookings_display .table > tbody > tr.no_results td,
.bookings_display .table > tbody > tr.loading td
{
    color: #888;
    cursor: default;
    font-size: 90%;
    line-height: 1.58681;
    text-align: center;
    text-transform: uppercase;
}

.bookings_display .booking_summary
{
    cursor: pointer;
}

.bookings_display .booking_summary .callsign
{
    white-space: nowrap;
}

.bookings_display .bookings_times
{
    text-align: right;
}

.bookings_display .bookings_times .start_time,
.bookings_display .bookings_times .end_time
{
    /* 	font-size: 0.75em; */
    display: inline;
    cursor: help;
}

.bookings_display .bookings_times .start_time:after
{
    content: ' - ';
}

.bookings_display .bookings_times .fir_times
{
    border-bottom: solid 1px #ddd;
}

.bookings_display .bookings_times .fir_times:last-child
{
    border-bottom: none;
}

.bookings_display .bookings_times .fir
{
    float: left;
}

@media (max-width: 579px)
{
    .bookings_flights tbody tr,
    .bookings_atc tbody tr
    {
        font-size: 90%;
    }
}

#bookings_modal .row
{
    margin-bottom: 0.5em;
    line-height: 1;
}

#bookings_modal .title
{
    color: #aaa;
    font-size: 90%;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 1em;
}

#bookings_modal .external_fir
{
    color: #aaa;
}

/**************** Dashboard **************/

.action_buttons
{
    margin-top: 4em;
}

.right_action_button
{
    float: right;
    margin-left: 1em;
}

.rating_name,
.user_details
{
    font-weight: 600;
}

.visiting_controller,
.oceanic_endorsement
{
    font-weight: 600; /*color: #4080d0;*/
}

/************** HOMEPAGE FEATURED ITEM ************/

.homepage_featured_item h2
{
    margin: 0;
}

.homepage_featured_item h2 a
{
    color: #fff;
}

.homepage_featured_item time
{
    /*float: right;*/
    font-size: 14px;
    color: #ddd;
}

body.dev_site #top_nav
{
    background: linear-gradient(to bottom, #ded 0%, #efe 100%) repeat scroll 0 0;
}

body.landing_page #breadcrumbs
{
    display: none;
}

body.landing_page .dropdown.open .dropdown-toggle
{
    background-color: rgba(231, 231, 231, 0.5);
}

body.landing_page .dropdown-menu
{
    background-color: rgba(255, 255, 255, 0.8);
}

body.landing_page #top_nav
{
    background: transparent;
    border-color: transparent;
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    right: 0;
}

/*
body.landing_page .navbar-default .navbar-nav > li > a
{
    color: #fff;
    font-size: 0.8em;
    font-weight: 600;
}
*/

body.landing_page .navbar-collapse.collapse.in
{
    background: rgba(221, 221, 221, .8); /*#dddc;*/
}

body.landing_page .navbar-collapse.collapse.in .navbar-nav > li > a
{
    color: #666;
}

body.landing_page .landing_page_cover_image
{
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 0; /*-52px;*/
    padding: 2em;
    position: relative;
    background-blend-mode: multiply;
}

body.landing_page .landing_page_cover_image .cover_image_overlay
{
    position: absolute;
    left: 8vw;
    right: 8vw;
    bottom: 8vw;
}

body.landing_page .landing_page_cover_image.dark .cover_image_overlay
{
    color: #ddd;
}

body.landing_page .landing_page_cover_image h1
{
    font-family: Montserrat, 'Open Sans Condensed', Bitter, serif;
    font-weight: 700;
    font-size: 8vw;
    margin: 0 0 0.5em 0; /*1em 1em 1em;*/
    line-height: 1em;
}

body.landing_page .landing_page_cover_image.dark h1
{
    border-bottom-color: #aaa;
}

body.landing_page .landing_page_cover_image p.description
{
    font-size: 4vw;
    margin: 0 /*2em*/;
    font-family: 'Open Sans Condensed', sans-serif;
    font-weight: 300;
    text-shadow: 1px 1px 1px #666;
}

body.landing_page .landing_page_cover_image .scrollToBody
{
    font-size: 4vw;
    position: absolute;
    bottom: -8vw;
    left: 0;
    right: 0;
    cursor: pointer;
    color: #666;
    text-align: center;
}

body.landing_page .landing_page_cover_image .scrollToBody:hover
{
    color: #888;
}

body.landing_page #landing_page_body_content
{
    margin-top: 8vw;
}