@import url('normalize.css');
@import url('/css/uh-fonts.css');
@import url('animate.css');

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Base styles
   ========================================================================== */

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

body * {
    -webkit-transition: all 0.2s;
       -moz-transition: all 0.2s;
        -ms-transition: all 0.2s;
         -o-transition: all 0.2s;
            transition: all 0.2s;
}

html,
body {
    overflow-x: hidden
}

html {
    background: #c8102e;
    color: black;
    font-family: 'Milo';
    font-size: 1em;
    line-height: 1.625;
}

body {
    background: #c8102e;
    margin: 0 auto;
}

section {
    background: white;
}

section:before,
section:after {
    content: " ";
    display: table;
}

section:after {
    clear: both;
}

audio,
canvas,
img,
svg,
video {
    display: block;
    vertical-align: middle;
}

img {
    height: auto;
    max-width: 100%;
}

p,
img,
figcaption {
    margin: 1em 0;
}

figure {
    margin: 2em 0 1em;
}

figure img {
    margin: 1em auto;
}

figcaption p {
    margin: 4em 0 0;
}

p + p {
    margin-top: -1em;
    padding-top: 1em;
}

figcaption p + p {
    margin-top: 1em;
}

h1 {
    font-family: 'League Gothic';
    font-size: 4em;
    font-weight: normal;
    line-height: 1;
    text-transform: uppercase;
}

h2 {
    font-size: 3.5em;
    font-weight: 100;
    line-height: 1.25;
    margin: .5em 0;
}

h3 {
    font-size: 3em;
    font-weight: normal;
    margin: 0.5em 0;
    text-transform: lowercase;
}

h4 {
    color: #00B388;
    font-family: 'League Gothic';
    font-size: 2.5em;
    line-height: 1;
    margin-bottom: 0;
    text-transform: uppercase;
}

h5 {
    color: #00B388;
    font-size: 1em;
    font-weight: normal;
}

h1 small {
    font-family: 'Milo';
    font-size: .25em;
    font-weight: normal;
    text-shadow: none;
    text-transform: capitalize;
}

h2 small {
    display: block;
    font-size: .5em;
    font-weight: normal;
    margin-top: .25em;
}

h5 strong {
    color: #cd102e;
    display: block;
    font-size: 1.5em;
    margin-top: -0.25em;
    text-transform: uppercase;
}

figcaption h4 {
    margin-top: .25em;
}

h4 + h5 {
    margin: 0em;
}

.container {
    background: white;
    background: rgba(255,255,255,.98);
}

.touch .container {
    background: white;
}

.dots {
    background: url('../img/dots.svg') 0 0 repeat-y;
    padding-left: 1.5em;
}

blockquote,
figcaption p {
    font-family: 'Crimson';
    font-style: italic;
}

blockquote {
    line-height: 1.75em;
}

cite {
    display: block;
    font-style: normal;
    font-weight: 600;
    line-height: 1.25;
    text-align: right;
}

cite .title {
    font-weight: normal;
}

.container .banner {
    margin-left:  -4em;
    margin-right: -4em;
}

.container .banner img {
    margin: 2em 0;
}

/* very large devices */
@media only screen and (min-height: 900px) and (min-width: 1900px) {
    html {
        font-size: 1.5em;
        line-height: 1.625;
    }
}

@media all and (max-width: 1024px) {
    .container {
        background: white;
    }
}

/* small devices */
@media only screen and (max-width: 768px) {
    h2 {
        font-size: 3em;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    h1 {
        font-size: 3.5em;
    }
    h2 {
        font-size: 2.5em;
    }
    figcaption p {
        margin: 0;
    }
    .dots {
        padding-left: 1.25em;
    }
    blockquote {
        line-height: inherit;
    }
}

/* very small devices */
@media only screen and (max-width: 480px) {
    h1 {
        font-size: 2.5em;
    }
    h2 {
        font-size: 2em;
        font-weight: normal;
    }
    figure {
        margin: 1em 0;
    }
    .dots {
        padding-right: .625em;
    }
    .container .banner img {
        margin: 1em 0;
    }
}

/* ==========================================================================
   Grid
   ========================================================================== */

.container {
    padding: 2em 4em;
}

.row {
    margin-left: -2em;
    margin-right: -2em;
}

.row:before,
.row:after {
    content: " ";
    display: table;
}

.row:after {
    clear: both;
}

.row [class*="col-lg-"] {
    float: left;
    padding-left: 2em;
    padding-right: 2em;
}

.col-lg-10 {
    width: 10%;
}

.col-lg-20 {
    width: 20%;
}

.col-lg-25 {
    width: 25%;
}

.col-lg-30 {
    width: 30%;
}

.col-lg-33 {
    width: 33.3333333%;
}

.col-lg-40 {
    width: 40%;
}

.col-lg-45 {
    width: 45%;
}

.col-lg-50 {
    width: 50%;
}

.col-lg-60 {
    width: 60%;
}

.col-lg-65 {
    width: 60%;
}

.col-lg-67 {
    width: 66.6666666%;
}

.col-lg-70 {
    width: 70%;
}

.col-lg-75 {
    width: 75%;
}

.col-lg-80 {
    width: 80%;
}

.col-lg-90 {
    width: 90%;
}

/* medium devices */
@media only screen and (max-width: 1024px) {
    .row [class*="col-md-"] {
        float: left;
        padding-left: 2em;
        padding-right: 2em;
    }
    .col-md-100 {
        width: 100%;
    }
    .col-md-75 {
        width: 75%;
    }
    .col-md-67 {
        width: 66.6666666%;
    }
    .col-md-50 {
        width: 50%;
    }
    .col-md-33 {
        width: 33.3333333%;
    }
    .col-md-25 {
        width: 25%;
    }
}

/* small devices */
@media only screen and (max-width: 768px) {
    .container {
        padding: 2em 2em;
    }
    .row {
        margin-left: -1em;
        margin-right: -1em;
    }
    .row [class*="col-"] {
        float: left;
        padding-left: 1em;
        padding-right: 1em;
    }
    .col-sm-75 {
        width: 75%;
    }
    .col-sm-67 {
        width: 66.6666666%;
    }
    .col-sm-50 {
        width: 50%;
    }
    .col-sm-33 {
        width: 33.3333333%;
    }
    .col-sm-25 {
        width: 25%;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    .row [class*="col-lg-"] {
        float: none;
        width: 100%;
    }
    .hidden-sm {
        display: none;
    }
}

/* extra small devices */
@media only screen and (max-width: 480px) {
    .container {
        padding: 1em;
    }
}

/* ==========================================================================
   Navigation
   ========================================================================== */

#nav {
    background: #960C22;
    background: rgba(0,0,0,.25);
    font-size: 1.125em;
    font-weight: normal;
    line-height: 1.7777777778;
    height: 100%;
    position: fixed;
    right: 0;
    text-align: left;
    top: 0;
    width: 220px;
    z-index: 99;
}

#main {
    margin-right: 220px;
    position: relative;
}

#nav ul {
    list-style: none;
    margin: 40px 0 0;
    padding: 0 0 2em;
}

#nav li {
    padding-left: 2em;
}

#nav a {
    color: white;
    text-decoration: none;
    text-shadow: -1px 1px 2px rgba(0,0,0,.5);
}

#nav a:hover {
    color: #F1E6B2;
    text-decoration: none;
}

#nav .active {
    background: #640817;
    background: rgba(0,0,0,.25);
}

#nav .active a,
#nav .active a:hover {
    color: white;
}

/* very large devices */
@media only screen and (min-height: 900px) and (min-width: 1900px) {
    #main {
        margin-right: 250px;
    }
    #nav {
        width: 250px;
    }
}

/* hide nav on medium and smaller devices */
@media only screen and (max-width: 1024px) {
    #nav {
        display: none;
    }
    #header,
    #main {
        margin-right: 0;
    }
}

/* ==========================================================================
   Section heights
   ========================================================================== */

section > header,
section .container,
#no-limit {
    min-height: 80vh;
}

#president .container {
    min-height: 0;
}

#header,
#footer {
    height: 100vh;
}

.ie #header,
.ie #footer {
    height: 700px;
}

/* very large devices */
@media only screen and (min-height: 900px) and (min-width: 1900px) {
    section > header {
        height: 80vh !important;
        max-height: 810px !important;
        min-height: 0 !important;
    }
    #no-limit,
    #no-limit > header,
    #president .container {
        height: 101vh !important;
        max-height: 1080px !important;
        min-height: 0 !important;
    }
    section .container,
    #twenty-thirteen header {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
}

/* small devices */
@media only screen and (max-width: 768px) {
    section > header {
        height: 500px;
        min-height: 0 !important;
    }
    section .container,
    #no-limit,
    #no-limit > header {
        height: auto;
        min-height: 0;
    }
    #president .container {
        height: auto;
        min-height: 0 !important;
    }
    #twenty-thirteen header {
        height: auto;
    }
}

/* extra small devices */
@media only screen and (max-width: 480px) {
    section > header {
        height: auto;
        min-height: 0;
    }
}

/* ==========================================================================
   Section backgrounds
   ========================================================================== */



/* ==========================================================================
   Section styles
   ========================================================================== */

section > header {
    background: transparent url('../img/red-bg.png') repeat;
    background: rgba(200,16,46,.85);
    color: white;
    margin-left: 60%;
    padding: 2em 2em 10px;
    position: relative;
}

section > header h1 {
    background: #00B388;
    box-shadow:  0px  1px 0 #00866C,
                -1px  0px 0 #005950,
                -1px  2px 0 #00866C,
                -2px  1px 0 #005950,
                -2px  3px 0 #00866C,
                -3px  2px 0 #005950,
                -3px  4px 0 #00866C,
                -4px  3px 0 #005950,
                -4px  5px 0 #00866C,
                -5px  4px 0 #005950,
                -5px  6px 0 #00866C,
                -6px  5px 0 #005950,
                -6px  7px 0 #00866C,
                -7px  6px 0 #005950,
                -7px  8px 0 #00866C,
                -8px  7px 0 #005950,
                -8px  9px 0 #00866C,
                -9px  8px 0 #005950,
                -9px 10px 0 #00866C,
               -10px  9px 0 #005950,
               -10px 10px 0 #00866C;
    color: white;
    margin: 0 -.5em 0 -50%;
    padding: .175em .5em .125em .25em;
    position: relative;
    right: -9px;
    text-shadow: -.0625em .05em rgba(0,0,0,.125);
    z-index: 200;
}

/* very small devices */
@media only screen and (max-width: 600px) {
    section > header {
        padding-left: 1em;
        padding-right: 1em;
    }
}

/* extra small devices */
@media only screen and (max-width: 480px) {
    section {
        background-size: 120% !important;
    }
    section > header {
        background: white;
        color: #c8102e;
        margin: 56.25vw 0 0;
        padding: 2em 1em 0;
    }
    section > header h1 {
        margin: 16px 0 0;
        padding-top: .25em;
        position: absolute;
        top: -56.25vw;
    }
    section > header h2 {
        margin: 0;
    }
}

@media only screen and (max-width: 360px) {
    section > header h1 {
        margin-top: -10px;
    }
}

/*
 * Cover
 */

#header {
    background: #c8102e url('../img/background-header.jpg') no-repeat center center;
    background-size: cover;
    position: relative;
    z-index: 200;
}

#header h1 {
    background: transparent url('../img/seal-small.svg') no-repeat left center;
    background-size: 120px;
    bottom: 0;
    color: white;
    font-family: 'Milo';
    left: .5em;
    line-height: 0.875;
    margin: 0;
    padding: 1em 220px 1em 140px;
    position: absolute;
    text-align: left;
}

#header .hint {
    bottom: 3.3125em;
    color: white;
    padding-left: 2em;
    position: absolute;
    right: 2.625em;
}

@media only screen and (max-width: 875px) {
    #header h1 {
        background-size: 160px;
        padding-left: 180px;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #header {
        background-position: left center;
    }
    #header h1 {
        background-position: center top;
        background-size: 120px;
        bottom: 1em;
        font-size: 3em;
        left: auto;
        padding: 140px 0 0;
        text-align: center;
        width: 100%;
    }
    #header .hint {
        bottom: .25em;
        padding: 0;
        right: auto;
        text-align: center;
        width: 100%;
    }
}

/*
 * No Limit
 */

#no-limit {
    background: #c8102e url('../img/background-nolimit.jpg') no-repeat -110px center;
    background-attachment: fixed;
    background-size: cover;
    color: white;
}

.touch #no-limit {
    background-attachment: scroll;
}

#no-limit > header {
    background: transparent url('../img/red-bg.png') repeat;
    background: rgba(200,16,46,.90);
    margin-left: 50%;
    position: relative;
}

#no-limit blockquote {
    margin: 4em 1em 3em;
}

/* very large devices */
@media only screen and (min-height: 900px) and (min-width: 1900px) {
    #no-limit {
        background-position: 0 0;
    }
}

/* medium devices */
@media only screen and (max-width: 1024px) {
    #no-limit {
        background-position: center center;
    }
    #no-limit > header {
        margin-left: 40%;
    }
    #no-limit > header > h1 {
        margin-left: -20%;
    }
}

/* small devices */
@media only screen and (max-width: 768px) {
    #no-limit {
        background-attachment: scroll;
        background-position: center top;
        background-size: auto 500px;
        padding: 2em 0 3em;
    }
    #no-limit > header {
        background:  rgba(200,16,46,1);
        margin: 516px 0 0;
        padding: 0 2em;
    }
    #no-limit > header h1 {
        margin: 0 0 0 50%;
        position: absolute;
        top: -500px;
    }
    #no-limit blockquote {
        margin: 0;
        padding: 0;
    }
}

/* extra small devices */
@media only screen and (max-width: 480px) {
    #no-limit {
        padding: 0;
    }
    #no-limit > header {
        color: white;
        margin: 56.25vw 0 0;
        padding: 0 1em;
    }
    #no-limit > header h1 {
        margin-top: -56.25vw;
        top: 16px;
    }
    #no-limit blockquote {
        padding: 1em 0 2em;
    }
}

/*
 * Houston
 */

#houston {
    background: #c8102e url('../img/background-houston.jpg') no-repeat center center;
    background-size: cover;
}

#houston > header {
    background: none;
    float: left;
    margin-left: 0;
    min-height: 0;
    width: 40%;
}

#houston > header h1 {
    box-shadow: 0px  1px 0 #00866C,
                1px  0px 0 #005950,
                1px  2px 0 #00866C,
                2px  1px 0 #005950,
                2px  3px 0 #00866C,
                3px  2px 0 #005950,
                3px  4px 0 #00866C,
                4px  3px 0 #005950,
                4px  5px 0 #00866C,
                5px  4px 0 #005950,
                5px  6px 0 #00866C,
                6px  5px 0 #005950,
                6px  7px 0 #00866C,
                7px  6px 0 #005950,
                7px  8px 0 #00866C,
                8px  7px 0 #005950,
                8px  9px 0 #00866C,
                9px  8px 0 #005950,
                9px 10px 0 #00866C,
               10px  9px 0 #005950,
               10px 10px 0 #00866C;
    left: -9px;
    margin: 0 0 0 -.5em;
    right: 0;
    text-align: right;
}

#houston .container {
    background: none;
    float: left;
    margin-bottom: 2em;
    padding: 2em 2em 0 0;
    width: 60%;
}

#houston .letter {
    color: black;
    background: white;
    background: rgba(255,255,255,.9);
    font-family: 'Crimson';
    font-size: 0.875em;
    padding: 4em 4em 2em;
    text-align: justify;
}

#houston .letter header {
    margin: -2.5em -4em 3em -2.5em;
}

#houston .letter header img {
    margin: 0;
}

#houston .signature {
    width: 12em;
}

/* small devices */
@media only screen and (max-width: 768px) {
    #houston .letter {
        padding-left:  2em;
        padding-right: 2em;
    }
    #houston .letter header {
        margin: -2.5em -2em 2em -1.5em;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #houston > header {
        float: none;
        height: auto;
        margin: 0 0 -2em;
        width: 100%;
    }
    #houston > header h1 {
        margin-right: 50%;
        position: relative;
        top: auto;
    }
    #houston .container {
        float: none;
        padding: 2em 16px 0;
        width: 100%;
    }
    #houston .letter {
        padding: 2em 16px 16px;
    }
    #houston .letter header {
        margin: -1em -16px 2em -8px;
    }
}

/* extra small devices */
@media only screen and (max-width: 480px) {
    #houston {
        background-size: cover !important;
    }
    #houston > header {
        padding: 0 1em;
    }
    #houston > header h1 {
        top: 16px;
    }
    #houston > header h2 {
        color: white;
        margin: 1.25em 0 0.5em;
    }
}

/*
 * Student Success
 */

#student-success {
    background: #c8102e url('../img/background-studentsuccess.jpg') no-repeat -220px center;
    background-attachment: fixed;
    background-size: cover;
}

.touch #student-success {
    background-attachment: scroll;
    background-position: center top;
    background-size: 100vw auto;
}

.ie #student-success {
    background-position: center center;
}

#student-success figcaption p {
    margin-top: 2em;
}

/* small devices */
@media only screen and (max-width: 768px) {
    #student-success {
        background-attachment: scroll;
        background-position: center top;
        background-size: auto 500px !important;
    }
    #student-success figcaption p {
        margin-top: 0;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #student-success figcaption p {
        margin-top: 2em;
    }
    #student-success .row .col-lg-50:last-child > p {
        background: url('../img/dots.svg') 0 0 repeat-y;
        margin-top: -1em;
        padding-top: 1em;
        padding-left: 1.25em;
    }
}


/*
 * Faculty
 */

#faculty {
    background: #c8102e url('../img/background-faculty.jpg') no-repeat -110px 0;
    background-attachment: fixed;
    background-size: cover;
}

.touch #faculty {
    background-attachment: scroll;
    background-position: center top;
    background-size: 100vw auto;
}

/* very large devices */
@media only screen and (min-height: 900px) and (min-width: 1900px) {
    #faculty {
        background-position: 0 0;
    }
}

/* small devices */
@media only screen and (max-width: 768px) {
    #faculty {
        background-attachment: scroll;
        background-position: center top;
        background-size: auto 500px !important;
    }
}

/*
 * Research
 */

#research {
    background: #c8102e url('../img/background-research.jpg') no-repeat -220px center;
    background-attachment: fixed;
    background-size: cover;
}

.touch #research {
    background-attachment: scroll;
    background-position: center top;
    background-size: 100vw auto;
}

#research figure {
    position: relative;
}

#research figure img {
    margin-left: auto;
    margin-right: 0;
    position: relative;
    right: -36px;
}

#research figcaption {
    bottom: 0;
    margin-bottom: 0;
    position: absolute;
}

/* very large devices */
@media only screen and (min-height: 900px) and (min-width: 1900px) {
    #research {
        background-position: 0 0;
    }
}

/* small devices */
@media only screen and (max-width: 768px) {
    #research {
        background-attachment: scroll;
        background-position: center top;
        background-size: auto 500px !important;
    }
}

/*
 * Initiatives
 */

#initiatives {
    background: white;
}

#initiatives > header {
    background: #c8102e url('../img/background-initiatives.jpg') no-repeat center top;
    background-size: cover;
    margin: 0;
    padding: 0;
}

#initiatives > header h1 {
    margin: 0 0 0 50%;
    top: 32px;
}

#initiatives > header h2 {
    background: transparent url('../img/red-bg.png') repeat;
    background: rgba(200,16,46,.85);
    margin: -83px 0 0 60%;
    padding: 3em 32px 1em;
}

#initiatives > header,
#initiatives > header h2 {
    height: auto;
    min-height: 80vh;
}

#initiatives .container {
    background: white;
    padding-top: 1em;
}

#initiatives h3 {
    background-color: #c8102e;
    color: white;
    font-size: 4em;
    margin: 0.5em -1em 0.5em;
    padding: 2em 1em;
    text-shadow: 0 0 10px rgba(0,0,0,.5);
}

#initiatives h3.energy {
    background: #c8102e url('../img/background-energy.jpg') no-repeat center center;
    background-attachment: fixed;
    background-size: cover;
}

#initiatives h3.health {
    background: #c8102e url('../img/background-health.jpg') no-repeat center center;
    background-attachment: fixed;
    background-size: cover;
}

#initiatives h3.arts {
    background: #c8102e url('../img/background-arts.jpg') no-repeat center center;
    background-attachment: fixed;
    background-size: cover;
}

.touch #initiatives h3.energy,
.touch #initiatives h3.health,
.touch #initiatives h3.arts {
    margin-top: 0.5em;
    background-attachment: scroll;
    background-position: center top;
    background-size: 100vw auto;
}

#initiatives figcaption p {
    margin-top: 2em;
}

#initiatives .figure {
    text-align: center;
}

#initiatives .figure img {
    max-width: 5em;
}

#initiatives .figure figcaption {
    margin: 0;
}

#initiatives .figure figcaption .number {
    color: #00B287;
    display: block;
    font-family: 'League Gothic';
    font-size: 5em;
    line-height: 1;
}

#initiatives .figure figcaption p {
    font-family: 'Milo';
    font-style: normal;
    margin: 0;
}

/* small devices */
@media only screen and (max-width: 768px) {
    #initiatives > header,
    #initiatives > header h2 {
        min-height: 0;
    }
    #initiatives h3.energy,
    #initiatives h3.health,
    #initiatives h3.arts {
        margin-top: 0.5em;
        background-attachment: scroll;
        background-position: center top;
        background-size: 100vw auto;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #initiatives header > h2 {
        margin-top: -73px;
        padding: 3.25em 16px 1em;
    }
    #initiatives h3 {
        font-size: 3em
    }
    #initiatives figure:first-child {
        margin-top: 0;
    }
}

/* extra small devices */
@media only screen and (max-width: 480px) {
    #initiatives {
    }
    #initiatives > header {
        background-color: white;
        background-size: 101%;
        color: #c8102e;
        /*height: 56.25vw;*/
        margin: 0 0 -32px;
        padding: 2em 0 0;
    }
    #initiatives > header h1 {
        margin: 16px 0 0;
        padding-top: .25em;
        position: absolute;
        top: 0;
    }
    #initiatives > header h2 {
        background: none;
        margin: 0;
        padding: 16px 16px 32px;
        padding-top: 56.25vw;
        /*position: relative;*/
    }
    #initiatives h3 {
        padding: 1em
    }
}

@media only screen and (max-width: 360px) {
    #initiatives > header h1 {
        margin-top: -10px;
    }
}

/*
 * Athletics
 */

#athletics {
    background: #c8102e url('../img/background-athletics.jpg') no-repeat -220px center;
    background-attachment: fixed;
    background-size: cover;
}

.touch #athletics {
    background-attachment: scroll;
    background-position: center top;
    background-size: 100vw auto;
}

#athletics p + img {
    margin-top: 3em;
}

/* small devices */
@media only screen and (max-width: 768px) {
    #athletics {
        background-attachment: scroll;
        background-position: center top;
        background-size: auto 500px !important;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #athletics p + img {
        margin-top: 2em;
    }
}

/*
 * Alumni and Donors
 */

#alumni-donors {
    background: #c8102e url('../img/background-alumni-donors.jpg') no-repeat -220px center;
    background-attachment: fixed;
    background-size: cover;
}

.touch #alumni-donors {
    background-attachment: scroll;
    background-position: center top;
    background-size: 100vw auto;
}

#alumni-donors .callout {
    background: #F1E6B2;
    text-align: center;
}

#alumni-donors .callout img {
    margin: 0;
    width: 100%;
}

#alumni-donors .callout figcaption {
    margin: 0;
    padding: 1em;
}

#alumni-donors .callout * {
    color: #B97800;
}

#alumni-donors .callout h4 {
    line-height: 1.125;
}

#alumni-donors .chart-gifts img {
    margin: 0 auto 3em;
}

/* small devices */
@media only screen and (max-width: 768px) {
    #alumni-donors {
        background-attachment: scroll;
        background-position: center top;
        background-size: auto 500px !important;
    }
}

/*
 * 2013
 */

#twenty-thirteen * {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}

#twenty-thirteen > header {
    background: white;
    min-height: 0;
    padding-bottom: 0;
}

#twenty-thirteen > header h1 {
    background: #c8102e;
    box-shadow:  0px  1px 0 #850B1E,
                -1px  0px 0 #640817,
                -1px  2px 0 #850B1E,
                -2px  1px 0 #640817,
                -2px  3px 0 #850B1E,
                -3px  2px 0 #640817,
                -3px  4px 0 #850B1E,
                -4px  3px 0 #640817,
                -4px  5px 0 #850B1E,
                -5px  4px 0 #640817,
                -5px  6px 0 #850B1E,
                -6px  5px 0 #640817,
                -6px  7px 0 #850B1E,
                -7px  6px 0 #640817,
                -7px  8px 0 #850B1E,
                -8px  7px 0 #640817,
                -8px  9px 0 #850B1E,
                -9px  8px 0 #640817,
                -9px 10px 0 #850B1E,
               -10px  9px 0 #640817,
               -10px 10px 0 #850B1E, inset -1px 1px rgba(0,0,0,.1);
    color: white;
    margin: 0 -.5em 0 0;
}

#twenty-thirteen .container {
    padding: 2em
}

.timeline {
    margin: 2em 0;
    padding-top: 28em;
    position: relative;
    text-transform: uppercase;
}

.timeline dt {
    background: #00B388;
    color: white;
    display: block;
    float: left;
    font-size: 1.25em;
    margin: 0 .33333333333%;
    padding: .25em 0;
    text-align: center;
    width: 16%;
}

.timeline dt.odd,
.timeline dt:nth-of-type(odd) {
    background: #00866C;
}

.timeline dd {
    background: white;
    border: 3px dotted #c8102e;
    border-right-width: 0;
    border-top-width: 0;
    font-family: 'League Gothic';
    font-size: 2em;
    line-height: 1;
    margin: 0;
    padding: 0 0 .25em 1%;
    position: absolute;
    top: 0;
    width: 20%;
}

.timeline dt:before {
    border-right: 3px dotted #c8102e;
    content: '';
    display: block;
    font-size: 1.6em;
    position: absolute;
}

.timeline dd.oct {
    border-color: #00866C;
    left: 4%;
    margin-left: 1px;
    top: 8em;
}

.timeline dt.oct:before {
    border-color: #00866C;
    height: 6em;
    left: 25%;
    top: 8em;
}

.ie .timeline dt.oct:before {
    height: 8em;
    top: 10em;
}

.timeline dd.nov {
    left: 17%;
    top: 1em;
}

.timeline dt.nov:before {
    height: 13em;
    left: 38%;
    top: 1em;
}

.ie .timeline dt.nov:before {
    height: 15em;
    top: 3em;
}

.timeline dd.dec {
    border-color: #F6BE00;
    left: 41%;
    top: 8em;
}

.timeline dt.dec:before {
    border-color: #F6BE00;
    height: 6em;
    left: 62%;
    top: 8em;
}

.ie .timeline dt.dec:before {
    height: 8em;
    top: 10em;
}

.timeline dd.jan {
    border-color: #00866C;
    left: 48%;
    padding-right: 2%;
    top: 2em;
}

.timeline dd.jan + .jan {
    border-width: 0 3px 3px 0;
    left: 71%;
    margin-left: 3px;
    padding-left: 0;
    padding-right: 1%;
    top: 0;
}

.timeline dt.jan:before {
    border-left: 3px dotted transparent;
    border-right: 3px dotted #00866C;
    height: 14em;
    left: 71%;
    top: 0em;
}

.ie .timeline dt.jan:before {
    height: 16em;
    top: 2em;
}

.timeline dd.feb {
    left: 75%;
    top: 7em;
}

.timeline dt.feb:before {
    height: 7em;
    left: 96%;
    top: 7em;
}

.ie .timeline dt.feb:before {
    height: 9em;
    top: 9em;
}

.timeline dd.mar {
    border-color: #F6BE00;
    border-width: 0 3px 3px 0;
    padding-left: 0;
    padding-right: 1%;
    left: 4%;
    top: 8em;
}

.timeline dt.mar:before {
    border-color: #F6BE00;
    height: 6em;
    left: 4%;
    top: 8em;
}

.ie .timeline dt.mar:before {
    height: 8em;
    top: 10em;
}

.timeline dd.apr {
    border-color: #00866C;
    left: 8%;
    top: 0;
}

.timeline dt.apr:before {
    border-color: #00866C;
    height: 14em;
    left: 29%;
    top: 0;
}

.ie .timeline dt.apr:before {
    height: 16em;
    top: 2em;
}

.timeline dd.jun {
    border-color: #F6BE00;
    left: 37%;
    top: 5em;
}

.timeline dt.jun:before {
    border-color: #F6BE00;
    height: 9em;
    left: 58%;
    top: 5em;
}

.ie .timeline dt.jun:before {
    height: 11em;
    top: 7em;
}

.timeline dd.aug {
    left: 66%;
    padding-right: 1%;
    top: 7em;
    width: 28%;
}

.timeline dd.aug + .aug {
    left: 72%;
    margin-left: 3px;
    padding-right: 0;
    top: 1em;
    width: 23%;
}

.timeline dt.aug:before {
    border-left: 3px dotted transparent;
    border-right: 3px dotted #c8102e;
    height: 13em;
    left: 96%;
    top: 1em;
}

.ie .timeline dt.aug:before {
    height: 15em;
    top: 3em;
}

.borderimage .timeline dd,
.borderimage .timeline dt:before {
    border-style: solid;
    border-width: 0 0 6px 6px;
    border-image: url('../img/dots-red.svg') 6 round;
}

.borderimage .timeline dd.oct,
.borderimage .timeline dt.oct:before,
.borderimage .timeline dd.jan,
.borderimage .timeline dt.jan:before,
.borderimage .timeline dd.apr,
.borderimage .timeline dt.apr:before {
    border-image: url('../img/dots-green.svg') 6 round;
}

.borderimage .timeline dd.dec,
.borderimage .timeline dt.dec:before,
.borderimage .timeline dd.mar,
.borderimage .timeline dt.mar:before,
.borderimage .timeline dd.jun,
.borderimage .timeline dt.jun:before {
    border-image: url('../img/dots-yellow.svg') 6 round;
}

.borderimage .timeline dt.sep:before,
.borderimage .timeline dt.may:before,
.borderimage .timeline dt.jul:before {
    border: none;
}

.borderimage .timeline dt:before {
    margin-top: -2px;
}

.borderimage .timeline dd.jan {
    margin-top: -1px;
}

.borderimage .timeline dd.jan,
.borderimage .timeline dd.aug {
    background: none;
}

.borderimage .timeline dd.jan + .jan,
.borderimage .timeline dd.mar {
    background: white;
    border-width: 0 6px 6px 0;
    margin-left: -2px;
}

.borderimage .timeline dd.oct,
.borderimage .timeline dd.aug + .aug {
    background: white;
    margin-left: 0;
}

/* small devices */
@media only screen and (max-width: 768px) {
    #twenty-thirteen > header h1 {
        margin-left: -50%;
    }
    #twenty-thirteen .container {
        padding: 1em;
    }
    .timeline {
        padding-top: 22.75em
    }
    .timeline dt {
        font-size: 1em
    }
    .timeline dd {
        font-size: 1.5em;
    }
    .borderimage .timeline dt:before {
        margin-top: 3px;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #twenty-thirteen .container {
        padding: 1em 0;
    }
}

/* extra small devices */
@media only screen and (max-width: 480px) {
    #twenty-thirteen > header {
        margin: 0;
    }
    #twenty-thirteen > header h1 {
        margin: 0;
        position: absolute;
        top: -16px;
    }
    #twenty-thirteen > header h1 small {
        font-size: .5em;
    }
    #twenty-thirteen .container {
        margin-top: 1em;
        padding: 1em;
    }
    #twenty-thirteen .timeline {
        margin: 0;
        padding-top: 0;
    }
    #twenty-thirteen .timeline dt {
        background: #00B388;
        font-size: 1em;
        float: none;
        margin: .5em 0;
        width: 100%;
    }
    #twenty-thirteen .timeline dd {
        background: none;
        border: none;
        left: auto;
        margin: .5em 0;
        padding: 0;
        position: relative;
        top: auto;
        width: 100%;
    }
    #twenty-thirteen .timeline dt:before {
        display: none !important;
    }
    #twenty-thirteen .timeline dt.march {
        margin-top: 0;
    }
    .borderimage .timeline dt.sep,
    .borderimage .timeline dt.may,
    .borderimage .timeline dt.jul {
        display: none;
    }
}

/*
 * President and Board of Regents
 */

#president .container {
    /*padding-bottom: 0;*/
}

#president .pres-photo {
    margin: -2em -2em 2em;
    max-height: 56em;
    width: auto;
}

.ie #president .pres-photo {
    margin: 0;
}

#president h1,
#board-of-regents h1 {
    font-family: 'Milo';
    font-size: 3em;
    letter-spacing: -.03125em;
    margin-top: 0;
    text-transform: none;
}

#president .container > p,
#board-of-regents .container > p {
    font-family: 'Crimson';
    font-style: italic;
}

#board-of-regents h5 {
    color: #B97800;
    font-size: 1.5em;
    font-weight: bold;
    margin: 0.5em 0 0;
    text-transform: uppercase;
}

#board-of-regents figure {
    margin-top: 1em;
}

#board-of-regents figcaption p {
    font-family: 'Milo';
    font-style: normal;
    line-height: 1.25;
    margin: 1em 0;
}

#board-of-regents .title {
    font-style: italic;
}

#board-of-regents .members {
    list-style: none;
    padding: 0;
}

/* medium devices */
@media only screen and (min-width: 769px) {
    #president .row .col-lg-50:first-child {
        padding: 0;
    }
    #president .pres-photo {
        margin: -2em -2em 0;
        width: 100%;
    }
}

/* small devices */
@media only screen and (max-width: 768px) {
    #president .pres-photo {
        margin-top: 5em;
        margin-left: 0;
        margin-right: 0;
    }
    #president h1 {
        margin-left: -110%;
    }
    #board-of-regents .col-lg-75,
    #board-of-regents .col-lg-25 {
        float: none;
        width: 100%;
    }
    #board-of-regents .col-lg-75 .col-lg-33 {
        float: left;
        width: 33%;
    }
    #board-of-regents .members {
        margin-left: -1em;
        margin-right: -1em;
    }
    #board-of-regents .members li {
        float: left;
        padding: 0 1em;
        width: 33.3333333%;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #president .container {
        padding-top: 0;
    }
    #president .pres-photo {
        float: none;
        margin: 0;
    }
    #president h1 {
        margin: 0.67em 0;
    }
    #board-of-regents .col-lg-75 .row {
        margin-right: -.5em;
        margin-left: -.5em;
    }
    #board-of-regents .col-lg-75 .col-lg-33 {
        float: left;
        padding: 0 .5em;
        width: 33%;
    }
    #board-of-regents .members li {
        float: none;
        width: 100%
    }
}

/* very small devices */
@media only screen and (max-width: 480px) {
}

/* very small devices */
@media only screen and (max-width: 360px) {
    #board-of-regents .col-lg-75 .row {
        margin-right: 0;
        margin-left: 0;
    }
    #board-of-regents .col-lg-75 .col-lg-33 {
        float: none;
        margin-bottom: 2em;
        padding: 0;
        width: 100%;
    }
    #board-of-regents .members li {
        float: none;
        width: 100%
    }
}

/*
 * Numbers
 */

#stats {
    background: #c8102e url('../img/background-stats.jpg') no-repeat right 0;
    background-attachment: fixed;
    background-size: cover;
}

.touch #stats {
    background-attachment: scroll;
}

#stats .container {
    background: none;
    margin: 0;
    padding: 0;
}

#stats dl {
    background: white;
    background: rgba(255,255,255,.95);
    float: right;
    line-height: 1.25;
    margin: 2em 4em;
    padding: 2em;
}

#stats dt {
    clear: left;
    color: #c8102e;
    float: left;
    overflow: hidden;
    text-align: right;
    text-transform: uppercase;
    white-space: nowrap;
    width: 220px;
}

#stats dt,
#stats dt + dd {
    padding-top: .75em;
}

#stats dt.first-child,
#stats dt.first-child + dd,
#stats dt:first-child,
#stats dt:first-child + dd {
    padding-top: 0;
}

#stats dd {
    border-left: 1px solid black;
    margin-left: 240px;
    padding-left: 20px;
    position: relative;
}

#stats dd:before,
#stats dd:after {
    content: " ";
    display: table;
}

#stats dd:after {
    clear: both;
}

#stats dd:before,
#stats dd:after {
    content: " ";
    display: table;
}

#stats dd:after {
    clear: both;
}

#stats .number {
    left: 120px;
    position: absolute;
    text-align: right;
}

/* small devices */
@media only screen and (max-width: 768px) {
    #stats {
        background-attachment: scroll;
        background-position: center top;
        background-size: cover;
    }
    #stats > header {
        height: auto;
    }
}

/* very small devices */
@media only screen and (max-width: 600px) {
    #stats {
        background-size: cover !important;
    }
    #stats .container {
        padding: 2em;
    }
    #stats dl {
        margin: 0 auto 2em;
        padding: 2em 1em;
        width: 100%;
    }
    #stats dt {
        padding-right: 1em;
        width: 50%;
    }
    #stats dd {
        margin-left: 50%;
        padding-left: 1em;
    }
}

/* extra small devices */
@media only screen and (max-width: 470px) {
    #stats .container {
        padding: 2em 1em;
    }
    #stats dl {
        padding: 1em;
    }
    #stats dt {
        float: none;
        text-align: left;
        width: 100%;
    }
    #stats dd {
        border: none;
        margin: 0;
        padding: 0;
    }
    #stats dt + dd {
        padding-top: 0;
    }
}

/*
 * Footer
 */

#footer {
    background: #c8102e;
    position: relative;
    z-index: 9999;
}

#footer .seal {
    height: 254px;
    left: 50%;
    margin: -127px 0 0 -127px;
    position: absolute;
    top: 50%;
    width: 254px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
    background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
    text-decoration: underline;
    }

    a[href]:after {
    content: " (" attr(href) ")";
    }

    abbr[title]:after {
    content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    a[href^="javascript:"]:after,
    a[href^="#"]:after {
    content: "";
    }

    pre,
    blockquote {
    border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
    display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
    page-break-inside: avoid;
    }

    img {
    max-width: 100% !important;
    }

    p,
    h2,
    h3 {
    orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
    page-break-after: avoid;
    }
}
