﻿@charset "UTF-8";
/* CSS Document */

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
	font-family: 100%/1.3 Montserrat, sans-serif;
    font-size: 100%;
    margin: 0px auto 0px 1.2em;
    background-color: #87f1cd;
    background-image: linear-gradient(#87f1cd, #025539);
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding-top: 15px;
    padding-bottom: 15px;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.page {
    background-color: white;
    max-width: 98%;
    color: #025539;
    padding: 1em 1em 1em 1em;
    text-align: justify;
    box-shadow: 0 0 15px 8px darkgrey;
}

img {
    max-width: 100%;
}

/* -------------------
   -- links ----------
   ------------------- */
a:link {
    color: #025539;
    font-weight: bold;
    text-decoration: none;
}

a:visited {
    color: magenta;
}

a:focus {
    /* none */
}

a:hover {
    text-decoration: underline;
}

a:active {
    /* none */
}

/* --------------------
   -- navigation bar --
   -------------------- */
.navi {
    font-family: Helvetica, sans-serif, "Gill Sans";
    border-top: 5px solid #025539;
    border-bottom: 1 px solid lightgrey;
    background: #f7f7f7;
    padding: 0;
    margin: 1em 0 0 0;
    text-align: center;
}

.navi li {
    display: inline-block;
    border-left: 1px solid lightgrey;
    margin: 0;
    padding: .6em 1.5em;
}

.afterlogo {
    border-left: 1px solid lightgrey;
}

.navi li:first-child {
    border-left: none;
}

.navi li:last-child {
    border-right: 1px solid lightgrey;
}

.navi li:hover {
    background: #025539;
}

.navi a {
    color: #025539;
    text-transform: uppercase;
    display: inline-block;
    font-weight: bold;
    text-decoration: none;
}

.navi a:hover {
    color: white;
    background: #025539;
}

/* -----------------------
   -- general page info --
   ----------------------- */

main {
    background-color: #ccc;
    max-width: 100%;
    color: #025539;
    padding: 1em 1em 1em 1em;
    float: left;
    border-radius: 15px;
}

/* --------------------
   -- sidebar ---------
   -------------------- */
.sidebar {
    font-family: Verdana, "Lucida Sans", sans-serif;
    float: right;
    margin: 0;
    border: 1px solid lightgrey;
    max-width: 40%;
    background: #f7f7f7;
    color: blue;
    padding-left: 1em;
    padding-right: .5em;
    padding-bottom: .5em;
    font-size: .7em;
    text-align: left;
    line-height: 1.75em;
    border-radius: 15px;
}

.sidebar h2 {
    text-align: center;
    text-transform: uppercase;
    color: blue;
    font-size: 1.4em;
}

.sidebar a {
    color: blue;
}

.sidebar p {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.sidebar p + p {
    padding-top: 1.1em;
}

.intro {
    font-size: 1.3em;
}

.photo {
    text-align: center;
}

.intro-divide {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    border-bottom: 2px solid darkgrey;
}

.divide {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 2px solid darkgrey;
}

.divide-form {
    padding-top: .5em;
    padding-bottom: .5em;
    border-bottom: 2px solid darkgrey;
}

.divide-foot {
    padding-top: .2em;
    padding-bottom: .2em;
    border-bottom: 2px solid darkgrey;
}

figure {
    clear: both;
    float: left;
    margin: 0 1em 0 0;
}

figure img {
    border: 4px solid skyblue;
}

.figure-text {
    margin: 0 4px 0 0;
    font-size: .98em;
    line-height: 1.45em;
}

h1 {
    text-transform: upercase;
    font-variant: small-caps;
    font-size: 1.5em;
    line-height: 1.2;
    color: dimgrey;
    text-align: center;
    letter-spacing: 2px;
    text-shadow: 2px 2px lightgrey;
}

h2 {
    font-size: 1.75em;
    text-align: center;
}

h3 {
    font-family: "Courier New", sans-serif;
    font-size: .75em;
    color: grey;
    text-align: left;
}

p {
    line-height: 1.5;
}

.alert {
    color: red;
    font-weight: bold;
}

footer {
    color: dimgrey;
    font-size: small;
    text-align: left;
    padding: .2em 1em 1em 1em;
}

footer p {
    margin: 0;
}

/* ---------------------------
   -- footer navigation bar --
   --------------------------- */
.foot-navi {
    font-family: sans-serif, Helvetica, "Gill Sans";
    padding: 0.5em;
    font-size: small;
    margin: 0 0 0.5em 0;
}

.foot-navi li {
    display: inline-block;
    border-right: 2px solid darkgrey;
    margin: 0;
    padding: 0.25em 0.5em;
}

.foot-navi li:last-child {
    border-right: none;
}

.foot-navi a {
    color: red;
    display: inline-block;
    text-decoration: none;
}

.foot-navi a:hover {
    text-decoration: underline;
}

/* ---------------------------
   -- form styles           --
   --------------------------- */
fieldset {
    background-color: white;
}

label {
    cursor: pointer;
    display: inline-block;
    padding-left: 3px;
    text-align: right;
    vertical-align: top;
    width: 5.5em;             /* 90px/16= ~5.5em */
}

fieldset p + label {
    padding-top: 3px;
}

textarea {
    width: 20em;
    height: 10em;
    margin: 0 1em .2em 3px;
    resize: none;
}

input,
textarea {
    font-size: inherit;
}

.row {
    margin: .1em 3em 0.2em 3px;
}

.field-lg {
    width: 12em;
    margin-left: .2em;
}

.form-interaction {
    text-align: right;
}

.btn {
    cursor: pointer;
    background-color: deepskyblue;
    border: none;
    border-radius: 3px;
    box-shadow: 1px 1px 1px 1.5px darkgrey;
    color: black;
    margin: .5em .5em;
    padding: .5em .8em;
    text-shadow: 1px 1px 0 lightgrey;
}

input[type="submit"]:hover{
    color: red;
    text-shadow: 1px 1px 0 thistle;
}

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

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom 1;
}

/* ---------------------------------------------
   ----   Media Queries  -----------------------
   --------------------------------------------- */

/* ----   smartphone - portrait (and smaller) -- 
 * ----  ( 0px < screen < 480 px )   -----------
 * --------------------------------------------- */
@media only screen and (max-width: 29.999em) {
    body {
        font-size: 75%;
    }
    
    main {
        border-radius: 0;
    }
    
    .sidebar {
        float: left;
        max-width: 60em;
        width: 100%;
        border-radius: 0;
    }
    
    .navi li {
        display: block;
    }
    
    .navi li:last-child {
        border-right: none;
    }

    .navi {
        text-align: center;
        border-bottom: none;
    }
    
    .navi a {
        display: block;
        border-bottom: 1px solid lightgrey;
    }
        
    .figure-text {
        font-size: 1.15em;
    }

    figure img {
        max-width: 110%;
        height: auto;
        width: 22.333em;
        border: 1px solid skyblue;
        margin-right: 0;
        margin-left: 0;
    }
}

/* ----   smartphone - landscape   ------------- 
 * ----  ( 30em < screen < 47.9375em )  --------
 * --------------------------------------------- */
@media only screen and (min-width: 30em) and (max-width: 47.9375em) {
    main {
        max-width: 50em;
        border-radius: 0;
    }
    
    .navi li {
        display: block;
    }
    
    .navi li:last-child {
        border-right: none;
    }

    .navi {
        text-align: center;
        border-bottom: none;
    }
    
    .navi a {
        display: block;
        border-bottom: 1px solid lightgrey;
    }
    
    .sidebar {
        float: left;
        width: 100%;
        max-width: 70em;
        text-align: center;
        border-radius: 0;
    }
}