﻿/*
 * Firehouse Lawyer main styles
 * @author Dustin Iacobazzi Riecan
 * @dependencies reset.css giovanna.css
 *
 */

/*
 * @section fonts
 */
@font-face {
    font-family: Brand;
    src: url('/Fonts/CrimsonText-Regular.ttf');
}
@font-face {
    font-family: Heading;
    src: url('/Fonts/Judson-Regular.ttf');
}
@font-face {
    font-family: Content;
    src: url('/Fonts/LibreBaskerville-Regular.ttf');
}

/*
 * @section global
 */
body {
    padding-top: 71px; /* Compensate for fixed mobile nav */
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    overflow-x: hidden;
    background-color: #aaa;
    font-weight: 300;
}
@media (min-width: 768px) {
    body {
        padding-top: 0;
    }
}

header,
section,
footer {
    background-color: #fff;
}

a {
    text-decoration: none;
    color: inherit;
}
a:hover,
a:active {
    color: inherit;
}

.container {
    -webkit-box-shadow: 0 0 10px #808080;
       -moz-box-shadow: 0 0 10px #808080;
            box-shadow: 0 0 10px #808080;
}

#page-content p {
    font-family: Content, serif;
    font-weight: 300;
    line-height: 1.5;
    color: #333;
}
#page-content h3 {
    font-family: Heading, serif;
    font-weight: 300;
    line-height: 1.1;
    color: firebrick;
}

/*
 * @section attorney photo definitions
 */
.atty-photo {
    background-size: cover;
}
.atty-photo.joe {
    background-image: url(/Images/joe-1.jpg);
    background-position: center;
}

.atty-photo.eric {
    background-image: url(/Images/eric-3.jpg);
    background-position: 35% center;
}



/*
 * @section main nav
 */

#main-nav {
    z-index: 998;
    -webkit-box-shadow: 0 10px 10px -10px #444;
       -moz-box-shadow: 0 10px 10px -10px #444;
            box-shadow: 0 10px 10px -10px #444;
}

/* Menu button wrapper */
#main-nav > div {
    padding: 10px;
    text-align: right;
}

#menu-btn {
    display: inline-block;
    width: 48px;
    height: 48px;
    cursor: pointer;
}
#menu-btn div {
    margin: 5px 11px;
    border-radius: 3px;
    height: 5px;
    background-color: firebrick;
}
#menu-btn div:first-child {
    margin-top: 11px;
}


#main-nav nav {
    padding: 15px;
    font-family: Heading;
    font-size: 22px;
    line-height: 26px;
    color: firebrick;
}

#main-nav .page-sections {
    position: absolute;
    width: 340px;
    max-height: 0;
    text-align: left;
    background-color: #fff;
    overflow: hidden;
    -webkit-transition: max-height .5s ease;
    -webkit-box-shadow: 0 10px 10px -10px #444;
       -moz-box-shadow: 0 10px 10px -10px #444;
            box-shadow: 0 10px 10px -10px #444;
    
}
#main-nav .main-pages > li a {
    display: block;
    padding: 2px 20px 4px;
    -webkit-transition: background-color .1s linear;
}
#main-nav .main-pages > li a:hover,
#main-nav .main-pages > li a:active {
    background-color: #ffdb99;
}
#main-nav .main-pages > li .no-link {
    display: block;
    padding: 2px 20px 4px;
    cursor: default;
}

/* Mobile nav styles */
@media (max-width: 767px) {
    #main-nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
    }
    #main-nav .main-pages > li a {
        font-size: 28px;
        line-height: 44px;
        background-color: snow;
    }
    #main-nav .main-pages > li:not(:last-child) a {
        border-bottom: 1px solid #ccc;
    }
    #main-nav .main-pages > li .no-link {
        display: none;
    }
    #main-nav .main-pages > li .no-link + .page-sections {
        position: relative;
        max-height: 200px;
        width: auto;
    }
}

/* Desktop nav styles */
@media (min-width: 768px) {
    .sticky-nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
    }
    #main-nav nav {
        text-align: center;
    }
    #main-nav .main-pages > li {
        display: inline-block;
        border-right: 1px solid #aaa;
    }
    #main-nav .main-pages > li:last-child {
        border-right: none;
    }
    #main-nav .main-pages > li:hover .page-sections {
        max-height: 450px;
    }
    #main-nav .page-sections li {
        padding-right: 15px;
        padding-left: 15px;
    }
    #main-nav .page-sections li:first-child {
        padding-top: 15px;
    }
    #main-nav .page-sections li:last-child {
        padding-bottom: 15px;
    }
    #main-nav .page-sections a {
        font-size: 20px;
        line-height: 30px;
        background-color: snow;
    }
    #main-nav .page-sections li:not(:last-child) a {
        border-bottom: 1px solid #ccc;
    }
}

/*
 * @section header (global)
 */
header {
    height: 450px;
    overflow: hidden;
}
#header-content {
    display: table;
    padding-right: 15px;
    padding-left: 15px;
    width: 100%;
    height: 100%;
}
#header-content > div {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.1;
    color: #fff;
    text-shadow: 3px 3px 6px #000;
}
header h1 {
    font-family: Brand, serif;
    font-size: 44px;
}
header h1 span {
    display: block;
}
header h2 {
    margin-top: 10px;
    font-family: Heading, serif;
    font-size: 32px;
}
#header-carousel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 450px;
}
#header-carousel .slide {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-position: center;
}
#header-carousel .slide.one {
    background: skyblue;
}
#header-carousel .slide.two {
    background: salmon;
}
#header-carousel .slide.three {
    background: seagreen;
}

/*
 * @section all-but-home page header
 */

#header-carousel .slide.one {
    background-color: salmon;
    background-repeat: no-repeat;
}
#header-carousel .slide.two {
    background-color: seagreen;
    background-repeat: no-repeat;
}
#header-carousel .slide.three {
    background-color: goldenrod;
    background-repeat: no-repeat;
}

/*
 * @section home page header
 */
#home #header-content h1 span:first-child {
    font-family: Heading, serif;
}
#home #header-carousel .slide.one {
    background-image: url(/Images/joe-3.jpg);
    background-size: cover;
}
#home #header-carousel .slide.two {
    background-image: url(/Images/rainier.jpg);
    background-size: cover;
}
#home #header-carousel .slide.three {
    background-image: url(/Images/bog-1.jpg);
    background-size: cover;
}
#home #header-carousel .slide.four {
    background-image: url(/Images/plant.jpg);
    background-size: cover;
}
/*
 * @section newsletters page header
 */
#newsletters #header-carousel .slide.one,
#newsletters-results #header-carousel .slide.one {
    background-image: url(/Images/barn-2.jpg);
    background-size: cover;
}


/*
 * @section practice areas page header
 */
#practice-areas #header-carousel .slide.one {
    background-image: url(/Images/fire-photo-1.jpg);
    background-size: cover;
}

/*
 * @section attorneys page header
 */
#attorney-joe #header-carousel .slide.one {
    background-image: url(/Images/joe-2.jpg);
    background-size: cover;
}
#attorney-eric #header-carousel .slide.one {
    background-image: url(/Images/eric-2.jpg);
    background-size: cover;
    background-position: center;
}


/*
 * @section contact page header
 */
#contact #header-carousel .slide.one {
    background-image: url(/Images/narrows-1.jpg);
    background-size: cover;
}





/*
 * @section page content
 */

/*
 * @section leading blurb (home page)
 */
#leading-blurb {
    padding-top: 60px;
    padding-bottom: 40px;
}
#leading-blurb h3 {
    font-size: 32px;
    padding-bottom: 20px;

}
#leading-blurb p {
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 18px; 
}

#leading-blurb .accordian {
    display: none;
}

#leading-blurb .more-btn {
    text-align: center;
}
#leading-blurb .more-btn span {
    display: inline-block;
    font-family: Brand, sans-serif;
    font-size: 16px;
    opacity: .75;
    color: blue;
    cursor: pointer;
    -webkit-transition: opacity .3s ease;
       -moz-transition: opacity .3s ease;
            transition: opacity .3s ease;
}
#leading-blurb .more-btn span:hover,
#leading-blurb .more-btn span:active {
    opacity: 1;
}
#leading-blurb .more-btn i {
    font-size: 48px;
}
#leading-blurb .success,
#leading-blurb .failure {
    border: 1px solid;
    padding: 20px;
    margin-bottom: 40px;
}
#leading-blurb .success {
    border-color: green;
    color: green;
    background-color: rgba(0, 128, 0, .1);
}
#leading-blurb .failure {
    border-color: red;
    color: red;
    background-color: rgba(128, 0, 0, .1);
}


/*
 * @section homepage columns
 */
#homepage-columns {
    padding: 60px 10px;
    background-color: #f5f5f5;
}
#homepage-columns .group > div:not(:last-child) {
}
#homepage-columns .column-box {
    min-height: 550px;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 20px;
}
#homepage-columns h3 {
    padding-bottom: 32px;
    font-size: 26px;
}
#homepage-columns h3 a
#homepage-columns h4 a {
    color: #b22222;
}
#homepage-columns h3 a:hover,
#homepage-columns h3 a:active,
#homepage-columns h4 a:hover,
#homepage-columns h4 a:active {
    color: #3399ff;
    cursor: pointer;
}

/* Newsletter column */
#newsletter-col #issue-box {
    padding: 20px;
    background-color: snow;
    -webkit-box-shadow: 3px 3px 3px #ccc;
       -moz-box-shadow: 3px 3px 3px #ccc;
            box-shadow: 3px 3px 3px #ccc;
}
#newsletter-col #issue-box h4 {
    padding-bottom: 20px;
    font-family: Brand, serif;
    font-size: 24px;
    color: #ff8c00;
}
#newsletter-col #issue-box p {
    padding: 5px;
    background-color: #fff;
    color: #777
}
#newsletter-col #issue-box span {
    display: block;
}
#newsletter-col #issue-box .title {
    margin-bottom: 15px;
    font-size: 20px;
    text-align: center;
}
#subscribe-btn,
#bodyContent_SendEmailBtn {
    height: 50px;
    max-width: 200px;
    margin-top: 20px;
    margin-right: auto;
    margin-left: auto;
    font-family: Brand, serif;
    font-size: 20px;
    text-align: center;
    line-height: 50px;
    background-color: #3399ff;
    color: #fff;
    cursor: pointer;
    -webkit-transition: all .2s ease;
}
#subscribe-btn:hover,
#subscribe-btn:active,
#bodyContent_SendEmailBtn:hover,
#bodyContent_SendEmailBtn:active {
    background-color: #297acc;
    color: lightyellow;
}

/* Practice areas column */
#areas-col ul {
    font-family: Brand, serif;
    font-size: 22px;
    line-height: 42px;
    color: #777;
}
#areas-col ul li:not(:last-child) {
    border-bottom: 1px solid #ddd;
}
#areas-col ul a {
    display: block;
    -webkit-transition: all .2s ease;
}

#areas-col ul a:hover {
    color: #333;
    background-color: #ffdb99;
}


/* Attorneys column */
#attorneys-col .atty {
    padding-bottom: 30px;
}
#attorneys-col .atty-photo {
    margin-right: 15px;
    margin-bottom: 10px;
    width: 120px;
    height: 150px;
    float: left;
    background-color: #aaa;
    color: #ddd;
    font-family: sans-serif;
    font-weight: 300;
    font-size: 10px;
    text-align: center;
}
#attorneys-col .atty-photo a {
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    line-height: 150px; /* dev only - remove! */
}
#attorneys-col h4 {
    padding-bottom: 20px;
    font-family: Heading, serif;
    font-size: 24px;
    color: #ff8c00;
}
#attorneys-col p {
    color: #777;
}

/* Subscribe box */
#subscribe-box {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    font-family: Brand, serif;
    line-height: 1.5;
    background-color: rgba(0,0,0,.5);
    /* TODO: ie alpha fallbacks */
    z-index: 999;
}
#subscribe-box .container {
    box-shadow: none;
}
#subscribe-box .group {
    margin-top: 10%;
    padding: 30px 30px 60px;
    background-color: #f5f5f5;
    box-shadow: 0px 0px 25px rgba(0,0,0,.5);
}
#subscribe-box label {
    display: block;
    margin-top: 15px;
    color: #777;
}
#subscribe-box .close-btn {
    float: right;
    cursor: pointer;
}
#subscribe-box .field-box p {
    width: 400px;
    z-index: 0;
}
#bodyContent_SendEmailBtn {
    display: block;
    padding: 0 20px;
    border: none;
    -webkit-border-radius: 0;
       -moz-border-radius: 0;
            border-radius: 0;
}
    



/*
 * @section newsletters
 */
#newsletters-topics {
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: #f9f9f9;
}
#newsletters-topics h3 {
    padding-bottom: 40px;
    font-size: 32px;
}
#newsletters-results h3 {
    padding-top: 60px;
    padding-bottom: 40px;
    font-size: 20px;
    color: #808080;
}
#newsletters-results h3 .results-topic {
    color: #333;
}
#newsletters-topics ul {
    margin: auto;
    font-family: Content, serif;
    font-size: 18px;
    line-height: 1.5;
}
#newsletters-topics li > div {
    padding-left: 30px;
}
#newsletters-topics a {
    display: block;
    color: blue;
}
#newsletters-topics a:hover,
#newsletters-topics a:active {
    color: navy;
    text-decoration: underline;
}
#newsletters-topics a i {
    display: inline-block;
    top: -1px;
    font-size: 9px;
}
#newsletters-table table {
    width: 100%;
    border: 1px solid #aaa;
}
#newsletters-table tr:first-child {
    border: none;
    background-color: #444;
    color: #fff;
}
#newsletters-table th {
    padding: 10px 20px;
    text-align: left;
}
#newsletters-table td {
    padding: 10px 20px;
    border: 1px solid #ddd;
}
#newsletters-table td a {
    color: firebrick;
}
#newsletters-table td a:hover {
    text-decoration: underline;
}
@media (max-width: 767px) {
    #newsletters-table th:nth-child(3),
    #newsletters-table th:nth-child(4),
    #newsletters-table td:nth-child(3),
    #newsletters-table td:nth-child(4) {
        display: none;
    }
}
@media (max-width: 480px) {
    #newsletters-table th:nth-child(5),
    #newsletters-table th:nth-child(6),
    #newsletters-table td:nth-child(5),
    #newsletters-table td:nth-child(6) {
        display: none;
    }
}




/*
 * @section practice areas
 */
.practice-area {
    padding-top: 70px;
    padding-bottom: 50px;
    border-bottom: 1px solid #ccc;
}
@media (min-width: 768px) {
    .practice-area {
        padding-top: 100px;
        padding-bottom: 80px;
    }
}
.practice-area:last-child {
    border-bottom: none;
}
.practice-area:nth-child(even) {
    background-color: #f8f8f8;
}
.practice-area h3 {
    font-size: 32px;
    padding-bottom: 20px;
}
.practice-area p {
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 18px; 
}






/*
 * @section attorney pages
 */
#attorney-eric #header-content > div,
#attorney-joe #header-content > div {
    padding-bottom: 40px;
    vertical-align: bottom;
}
#attorney-eric h1,
#attorney-joe h1 {
    font-size: 36px;
}
.atty-content {
    padding-top: 50px;
    padding-right: 10px;
    padding-bottom: 20px;
    padding-left: 10px;
}
@media (min-width: 480px) {
    .atty-content {
        padding-top: 70px;
        padding-bottom: 40px;
    }
}
.atty-content h3 {
    font-size: 28px;
}
.atty-content h3:not(:first-of-type) {
    padding-top: 30px;
}
.atty-content p {
    padding-top: 20px;
    padding-bottom: 30px;
    font-size: 18px;
}
.atty-content p + p {
    padding-top: 0;
}
.atty-content .atty-photo {
    margin-bottom: 20px;
    max-width: 250px;
    height: 275px;
    background-color: #aaa;
}
@media (min-width: 415px) {
    .atty-content .atty-photo {
        margin-right: 30px;
        margin-bottom: 15px;
        width: 150px;
        height: 175px;
        float: left;
    }
}
@media (min-width: 768px) {
    .atty-content .atty-photo {
        width: 200px;
        height: 250px;
    }
}
@media (min-width: 992px) {
    .atty-content .atty-photo {
        margin-right: 60px;
        margin-bottom: 40px;
        width: 300px;
        height: 325px;
    }
}



/*
 * @section contact page
 */
#contact hr {
    margin-top: 20px;
    margin-bottom: 40px;
    background-color: #ddd;
    border-color: #ddd;
}
#contact #leading-blurb a {
    color: blue;
}
#contact #leading-blurb a:hover,
#contact #leading-blurb a:active {
    text-decoration: underline;
}
#google-map {
   padding-bottom: 40px;
}



/*
 * @section footer
 */

footer {
    margin-bottom: 10px;
    padding: 40px 15px;
    background-color: #808080;
    font-family: Brand, serif;
    line-height: 1.5;
    font-weight: 300;
    color: #fff;
}
@media (min-width: 480px) {
    footer {
        padding-right: 0;
        padding-left: 0;
    }
}

/* Fixes padding-right issue */
@media (max-width: 767px) {
    .Gio footer .group > div {
        float: none;
    }
}

footer .xs-12-12 {
    padding-bottom: 50px;
    font-size: 16px;
}
@media (min-width: 768px) {
    footer .xs-12-12 {
        font-size: 17px;
        padding-right: 45px;
    }
}


footer a:hover,
footer a:active {
    text-decoration: underline;
    color: #ffdb99;
}

@media (max-width: 767px) {
    footer li {
        margin-bottom: 1px;
    }
    footer li a {
        display: block;
        padding-right: 10px;
        padding-left: 10px;
        height: 48px;
        line-height: 48px;
        background-color: #909090;
    }
}

#disclaimer {
    font-size: 13px;
}

#copyright {
    padding-top: 50px;
    font-size: 14px;
}
@media (min-width: 768px) {
    #copyright {
        font-size: 15px;
    }
}

#copyright span {
    display: block;
}
@media (min-width: 360px) {
    #copyright span {
        display: inline;
    }
    #copyright span:after {
        content: "\00a";
    }
}



/*
 * @section admin pages and content
 */
#loggedInMenu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 997;
    font-family: Brand, serif;
    font-size: 18px;
    line-height: 24px;
    font-weight: 300;
    background-color: #aaa;
}
#admin #loggedInMenu {
    position: relative;
}
#loggedInMenu .container {
    padding: 15px 20px;
    -webkit-box-shadow: none;
       -moz-box-shadow: none;
            box-shadow: none;
}
#loggedInMenu h1 {
    color: #fff;
}
#loggedInMenu ul {
    margin-top: 10px;
    color: #eee;
}
#loggedInMenu a:hover,
#loggedInMenu a:active {
    text-decoration: underline;
    color: lightyellow;
}
#loggedInMenu button,
#loggedInMenu #email-verification-msg input {
    padding: 10px 20px 10px 15px;
    margin: 5px 0;
    border: none;
    font-family: "Calibri Light", Calibri, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 300;
    background-color: #f5f5f5;
    color: #444;
    cursor: pointer;
}
#loggedInMenu button:hover {
    color: #f5f5f5;
    background-color: #444;
}
#loggedInMenu #email-verification-msg {
    color: firebrick;
    background-color: #fff;
    background-color: rgba(255,255,221,1);
    margin-top: 10px;
    margin-bottom: 20px;
    padding: 20px;
}
#loggedInMenu #email-verification-msg p {
    padding-bottom: 20px;
}
#loggedInMenu #email-verification-msg input {
   font-size: 16px;
   padding: 20px;
   background-color: orange;
   color: #fff;
}
#loggedInMenu #email-verification-msg input:hover,
#loggedInMenu #email-verification-msg input:active {
    background-color: darkorange;
}
#loggedInMenu #email-verification-msg.hide {
    display: none;
}
#loggedInMenu #EmailSentStatus {
    display: block;
    background: #fff;
}
#loggedInMenu #EmailSentStatus li {
    padding-right: 20px;
    padding-left: 20px;
}
#loggedInMenu #EmailSentStatus li:first-child {
    margin-top: 10px;
    padding-top: 20px;
}
#loggedInMenu #EmailSentStatus li:last-child {
    margin-bottom: 20px;
    padding-bottom: 20px;
}
#loggedInMenu #EmailSentStatus li.success {
    color: green;
}
#loggedInMenu #EmailSentStatus li.failure {
    color: red;
}


.admin-content {
    padding: 40px;
    background-color: #f5f5f5;
    font-family: Brand, serif;
    font-size: 16px;
    line-height: 1.5;
    color: #222;
}
.admin-content p {
    padding: 10px;
    color: #666;
}
.admin-content label {
    padding-top: 11px;
    float: left;
    min-width: 145px;
    text-align: right;
}
.admin-content input,
.admin-content textarea,
.admin-content select {
    padding: 5px;
    margin: 10px;
}
.admin-content textarea {
    min-height: 150px;
}
.admin-content textarea,
.admin-content select,
.admin-content input {
    min-width: 300px;
    font-family: 'Calibri', sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #333;
}
.admin-content #adminPageContent_TopicListbox,
.admin-content #adminPageContent_SubtopicListbox {
    min-height: 250px;
}
.admin-content option {
    padding: 2px 5px;
}


.admin-content .description-section,
.admin-content .index-section {
    margin-top: 15px;
    padding: 20px;
    border: 1px solid #ccc;
    background-color: #eee;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .15);
}
.admin-content .submit-box {
    text-align: center;
}
.admin-content input[type=submit],
.admin-content #add-newsletter-btn,
.admin-content #no-btn {
    margin-top: 25px;
    padding: 10px 30px;
    min-width: 150px;
    border: none;
    font-family: "Calibri Light", Calibri, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 300;
    background-color: orange;
    color: white;
    cursor: pointer;
}
.admin-content input[type=submit]:hover,
.admin-content #add-newsletter-btn:hover,
.admin-content #no-btn:hover {
    background-color: darkorange;
}
.admin-content td {
    text-align: center;
}
.admin-content input[type=checkbox] {
    margin: 5px;
    min-width: 0;
    width: auto;
    float: none;
}
.admin-content input[type=checkbox] + label {
    float: none;
}
.admin-content #selected-topics span,
.admin-content #selected-subtopics span {
    display: block;
}
.admin-content h2 .status-msg {
    display: block;
    margin-top: 20px;
    padding: 30px;
    border: 1px solid #ccc;
    font-size: 20px;
    background-color: #f9f9f9;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .15);
}
.admin-content h2 .status-msg.success,
.admin-content .status-msg.success p {
    color: green;
}
.admin-content h2 .status-msg.failure,
.admin-content .status-msg.failure p {
    color: red;
}
.admin-content .conformation-box {
    display: none;
}
#all-newsletters table {
    font-family: Calibri, Arial, sans-serif;
    font-size: 14px;
    color: #222;
}
#all-newsletters th {
    padding: 5px;
    background-color: #444;
    color: #fff;
}
#all-newsletters td {
    padding: 5px;
    border: 1px solid #ccc;
    text-align: left;
}
#all-newsletters tr:nth-child(even) {
    background-color: #f9f9f9;
}
#all-newsletters tr:nth-child(odd) {
    background-color: #eee;
}