* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: rgb(61, 146, 201);
}
a:hover,
a:focus {
    text-decoration: underline;
}

h3 {
    font-weight: 100;
}

hr {
    border-top: none;
    border-bottom: 1px solid #aaa;
}

.pure-form-aligned .pure-control-group label + label {
    width: auto;
}

.button-xsmall {
    font-size: 70%;
}

.button-small {
    font-size: 85%;
}

.button-large {
    font-size: 110%;
}

.button-xlarge {
    font-size: 125%;
}

.button-success,
.button-error,
.button-warning,
.button-secondary {
/*    color: white;*/
    border-radius: 4px;
/*    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);*/
}
.button-success,
a.button-success {
    background: rgb(28, 184, 65);
    /* this is a green */
}
.button-error,
a.button-error {
    background: rgb(202, 60, 60);
    /* this is a maroon */
}

.button-warning,
a.button-warning {
    background: rgb(223, 117, 20);
    /* this is an orange */
}

.button-secondary,
a.button-secondary {
    background: rgb(66, 184, 221);
    /* this is a light blue */
}

.inline {
    display: inline-block;
}
.button-floating {
    display: inline-block;
    margin-left: 3em;
    margin-top: -0.75em;
}

.float-right {
    float: right;
}
.text-align-right {
    text-align: right;
}

.nowrap {
    white-space: nowrap;
}
.noborder {
    border-left: none !important;
    border-right: none !important;
}

.mt-1 {
    margin-top: 1em;
}
.mt-2 {
    margin-top: 2em;
}

.alert {
 position:relative;
 padding:1rem 1rem;
 margin-bottom:1rem;
 border:1px solid transparent;
 border-radius:.25rem
}
.alert-heading {
 color:inherit
}
.alert-link {
 font-weight:700
}
.alert-dismissible {
 padding-right:3rem
}
.alert-dismissible .btn-close {
 position:absolute;
 top:0;
 right:0;
 z-index:2;
 padding:1.25rem 1rem
}
.alert-primary {
 color:#084298;
 background-color:#cfe2ff;
 border-color:#b6d4fe
}
.alert-primary .alert-link {
 color:#06357a
}
.alert-secondary {
 color:#41464b;
 background-color:#e2e3e5;
 border-color:#d3d6d8
}
.alert-secondary .alert-link {
 color:#34383c
}
.alert-success {
 color:#0f5132;
 background-color:#d1e7dd;
 border-color:#badbcc
}
.alert-success .alert-link {
 color:#0c4128
}
.alert-info {
 color:#055160;
 background-color:#cff4fc;
 border-color:#b6effb
}
.alert-info .alert-link {
 color:#04414d
}
.alert-warning {
 color:#664d03;
 background-color:#fff3cd;
 border-color:#ffecb5
}
.alert-warning .alert-link {
 color:#523e02
}
.alert-danger {
 color:#842029;
 background-color:#f8d7da;
 border-color:#f5c2c7
}
.alert-danger .alert-link {
 color:#6a1a21
}
.alert-light {
 color:#636464;
 background-color:#fefefe;
 border-color:#fdfdfe
}
.alert-light .alert-link {
 color:#4f5050
}
.alert-dark {
 color:#141619;
 background-color:#d3d3d4;
 border-color:#bcbebf
}
.alert-dark .alert-link {
 color:#101214
}

/* LAYOUT CSS */
.pure-table td {
    padding-top: 0.1em;
    padding-bottom: 0.1em;
}
.pure-table td.instructor-free {
    background: green;
}
.pure-table td.instructor-booked {
    background: red;
}
.pure-table td.instructor-booked-multiple {
    background: black;
}
.pure-table td.instructor-unavailable {
    background: white;
}
.pure-table td.instructor-timeout {
    background: #ffbf00;
}
.pure-form .pure-group input {
    display: inline-block;
}

.pure-img-responsive {
    max-width: 100%;
    height: auto;
}

#layout {
    padding: 0;
}

.header {
    text-align: center;
    top: auto;
    margin: 3em auto;
}

.sidebar {
    /*background: rgba(61, 79, 93, 0.7);*/
    background: #36454F;
    color: #fff;
}
.sidebar a {
    color: #dfc35a;
}
.sidebar a svg {
    fill: #dfc35a;
    width: 16px;
    height: 16px;
    margin-bottom: -2px;
}

.brand-title,
.brand-tagline {
    margin: 0;
}
.brand-title {
    text-transform: uppercase;
}
.brand-tagline {
    font-weight: 300;
    /*color: rgb(176, 202, 219);*/
}

.nav-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.nav-list li,
.nav-list li .nav-list {
    margin-bottom: 5px;
}
.nav-item {
    display: inline-block;
    *display: inline;
    zoom: 1;
}
.nav-item a {
    background: transparent;
    /*border: 2px solid rgb(176, 202, 219);*/
    border: 2px solid #fff;
    color: #fff;
    /*margin-top: 1em;*/
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 85%;
}
.nav-item a:hover,
.nav-item a:focus {
    /*border: 2px solid rgb(61, 146, 201);
    background: rgb(61, 146, 201);*/
    border: 2px solid #dfc35a;
    background: #dfc35a;
    color: #000;
    text-decoration: none;
}

.content-subhead,
.content-subhead2 {
    position: sticky;
    position: -webkit-sticky;
    top: 0px;
    background: #fff;
    margin-top: 0;

    /*text-transform: uppercase;*/
    color: #999;
    /*border-top: 1px solid #eee;*/
    border-bottom: 1px solid #eee;
    padding: 0.8em 0;
    /*padding-left: 1em;*/
    /*font-size: 80%;*/
    font-size: 1.2em;
    font-weight: 500;
    /*letter-spacing: 0.1em;*/

    z-index: 999; /* used for calendar overlay the sticky date */
}
.content-subhead2 {
    top: 60px;
    z-index: 998; /* used for calendar overlay the sticky date */
}
/*.content-subhead2:not(:first-of-type) {
    margin-top: 2em;
}*/

.content {
    padding: 2em 1em 0;
}

.post {
    /*padding-bottom: 2em;*/
    border: 1px solid #ccc;
    border-radius: 0.5em;
    padding: .5em;
    margin-bottom: 1em;
    max-width: 30em;
}
.post.unpaid {
    background: rgba(255,0,0,0.15);
}
.post.timeout {
    /* Celadon */
    /*background: rgba(175,225,175,0.15);*/
    /* Amber */
    background: rgba(255,191,0,0.15);
}
.post-title {
    font-size: 1.4em;
    color: #222;
    margin-bottom: 0.2em;
}
.post-avatar {
    border-radius: 50px;
    float: right;
    margin-left: 1em;
}
.post-description {
    /*font-family: Georgia, "Cambria", serif;*/
    color: #444;
    line-height: 1.4em;
}
.post-description form {
    display: inline-block;
}
.post-meta {
    color: #999;
    font-size: 90%;
    margin: 0 0 .8em 0;
}

.post-category {
    margin: 0 0.1em;
    padding: 0.3em 1em;
    color: #fff;
    background: #999;
    font-size: 80%;
}
    .post-category-ski {
        background: #5aba59;
    }
    .post-category-snowboard {
        background: #4d85d1;
    }
    .post-category-advanced {
        background: #8156a7;
    }
    .post-category-beginner {
        background: #df2d4f;
    }

.post-images {
    margin: 1em 0;
}
.post-image-meta {
    margin-top: -3.5em;
    margin-left: 1em;
    color: #fff;
    text-shadow: 0 1px 1px #333;
}

.footer {
    padding: 1em 0;
}
.footer a,
.menu-actions {
    color: #ccc;
    font-size: 80%;
}
.footer .pure-menu a:hover,
.footer .pure-menu a:focus,
.menu-actions a:hover,
.menu-actions a:focus {
    background: none;
}

.table-sticky-column {
  margin: auto;
  width: 100%;
}
.table-sticky-column .pure-table {
    border-collapse: separate;
}
.table-sticky-column .wrapper {
  position: relative;
  overflow: auto;
}
.table-sticky-column .nowrap {
  white-space: nowrap;
}
.table-sticky-column .sticky {
  position: sticky;
  position: -webkit-sticky;
  width: 105px;
  left: 0;  
}
.table-sticky-column th.sticky {
    background: #e0e0e0;
}
.table-sticky-column td.sticky {
    background: #fff;
}

@media (min-width: 48em) {
    .content {
        padding: 2em 3em 0;
        margin-left: 16.6667%;
    }

    .header {
        margin: 5em 2em 0;
        text-align: right;
    }

    .sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
    }

    .footer {
        text-align: center;
    }
}