/* ============================================================================ *
        Structural Styles
    ---------------------------------------------------------------------------
        These are the styles which build the main site layout
        (headers, footers, body, etc.).

        If you are attempting to add styling for any elements placed inside of a 
        Wordpress Editor, use 'editor-content.css' stylesheet.
*/

body {
    background: #fff;
    color: #000000;
    font-size: 19px;
    font-family: 'Source Serif Pro', serif;
    font-weight: 400;
}

a {
    color: #142a4f;
}


/* ======================================== *
        Headers
 * ======================================== */
h1,
h1#page-title,
.editor-content h1 {
    color: #142a4f;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.1em;
    margin-bottom: 15px;
}

h2,
.tmf-post > h2,
.editor-content h2 {
    color: #142a4f;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2em;
    margin-bottom: 15px;
}

h2 a,
.tmf-post > h2 a,
.editor-content h2 a {
    color: #142a4f;
}

h3,
.tmf-post > h3, 
.editor-content h3 {
    color: #2a4169;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.1em;
    margin-bottom: 15px;
}

h3 a,
.tmf-post > h3 a, 
.editor-content h3 a {
    color: #2a4169;
}

h4,
.tmf-post > h4, 
.editor-content h4 {
    color: #000;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2em;
}

h4 a,
.tmf-post > h4 a, 
.editor-content h4 a {
    color: #000;
    text-decoration: none;
}

h4 a:hover,
.tmf-post > h4 a:hover, 
.editor-content h4 a:hover {
    text-decoration: underline;
}


/* ======================================== *
        Header Section
 * ======================================== */
#header-wrapper {}

#header-container {
    max-width: 1450px;
}

#header{
    padding: 30px 0;
}

#header a {
    color: #142a4f;
    text-decoration: none;
}

#header a:hover {
    text-decoration: underline;
}

#header .logo {
    max-width: 559px;
    width: 100%;
}

#header-cell-1,
#header-cell-2 {
    vertical-align: middle;
}

#header-cell-2 {
    color: #142a4f;
    font-size: 25px;
    font-weight: 400;
    line-height: 36px;
    text-align: right;
}

#header-cell-2 .consultation{
    font-size: 30px;
    font-weight: 600;
}

@media screen and (max-width: 850px) {
    #header-cell-1,
    #header-cell-2 {
        text-align: center;
    }

    #header-cell-2 {
        padding-top: 15px;
    }
}

@media screen and (max-width: 400px) {
    #header-cell-2 {
        font-size: 20px;
        line-height: 30px;
    }

    #header-cell-2 .consultation{
        font-size: 24px;
    }
}

/* ======================================== *
        Primary Navigation Section
 * ======================================== */
#primary-nav-wrapper {
    background-color: #142a4f;
}

#primary-nav-container {
    max-width: 1400px;
}
#primary-nav {}

#primary-nav .menu {}
#primary-nav .menu > .menu-item {}
#primary-nav .menu > .menu-item.first {}
#primary-nav .menu > .menu-item.last {}
#primary-nav .menu > .menu-item > a {
    color: #ffffff;
    font-size: 22px;
    padding: 20px 10px;
    font-weight: 400;
    text-transform: uppercase;
}

#primary-nav .menu > .menu-item.current-menu-item,
#primary-nav .menu > .menu-item:hover {
    background: #2a4169;
}

#primary-nav .menu > .menu-item:hover > a {}

#primary-nav .menu .sub-menu {
    background-color: #2a4169;
    min-width: 320px;
}

#primary-nav .menu .sub-menu .menu-item > a {
    color: #ffffff;
    font-size: 18px;
    font-weight: 400;
    padding: 10px 15px;
}

#primary-nav .menu .sub-menu .menu-item:hover > a {
    background-color: #e2a528;
}

#primary-nav .menu-bar {}

/* White Icon */
#primary-nav .menu-bar:before {
    background-position: -558px 0;
}

html.mobile-nav #primary-nav .menu {}
html.mobile-nav #primary-nav .menu > .menu-item {}
html.mobile-nav #primary-nav .menu > .menu-item > a{}

@media screen and (max-width: 1020px) {
    #primary-nav .menu > .menu-item > a {
        font-size: 18px;
    }
}

/* ======================================== *
    Mobile Menu
 * ======================================== */
#mobile-nav-wrapper {
    font-family: 'Source Serif Pro', serif;
}

.hamburger-container {
    max-width: none;
}

#mobile-nav a {
    color: #ffffff;
    font-size: 18px;
}

#mobile-nav .menu > .menu-item > a {
    color: #ffffff;
    font-size: 22px;
}

#mobile-nav .menu .menu-item.display > div > .sub-menu a {
    font-size: 18px;
}

#mobile-nav .menu .menu-item.display {
    background: #2a4169;
}

#mobile-nav .top-part .mob-cancel-button {
    color: #ffffff;
}

#mobile-nav .menu .menu-item.display a, 
#mobile-nav .menu .menu-item.display > .mob-expand-submenu:before {
    color: #ffffff;
}

#mobile-nav .menu .sub-menu .menu-item {
    padding: 5px 30px;
}

#mobile-nav .menu > .current-menu-item,
#mobile-nav .menu > .menu-item:hover {
    background: #2a4169;
}


/* ======================================== *
        Secondary Navigation Section
 * ======================================== */
#secondary-nav .inner {}
#secondary-nav .menu {}
#secondary-nav .menu > .menu-item {}
#secondary-nav .menu > .menu-item.first {}
#secondary-nav .menu > .menu-item.last {}
#secondary-nav .menu > .menu-item > a {}
#secondary-nav .menu > .menu-item.first a {}
#secondary-nav .menu > .menu-item:hover {}
#secondary-nav .menu > .menu-item:hover a {}
#secondary-nav .menu:hover > .menu-item.current-menu-item > a {}


/* ======================================== *
    Billboard Section
 * ======================================== */
#billboard-wrapper {
    overflow: hidden;
}

#billboard-container{
    max-width: 100%;
}

#billboard .modern-slider {
    border: none;
    margin: 0;
}

#billboard .billboard-content {
    position: absolute;
    bottom: 35px;
    max-width: 1000px;
    z-index: 2;
    text-align: center;
    margin: 0 auto;
    padding: 0 25px;
    left: 0;
    right: 0;
}

#billboard #tagline-text {
    color: #ffffff;
    font-size: 40px;
    font-weight: 400;
    text-shadow: 0 3px 5px rgba(0,0,0,0.8);
}

@media screen and (max-width: 770px) {
    #billboard .billboard-content {
        bottom: 15px;
    }

    #billboard #tagline-text {
        font-size: 30px;
    }
}

@media screen and (max-width: 600px) {
    #billboard #tagline-text {
        font-size: 25px;
    }
}

@media screen and (max-width: 600px) {
    #billboard .billboard-content {
        bottom: 10px;
    }

    #billboard #tagline-text {
        font-size: 20px;
    }
}

@media screen and (max-width: 400px) {
    #billboard .billboard-content {
        bottom: 5px;
        padding: 0;
    }

    #billboard #tagline-text {
        font-size: 17px;
    }
}


/* ======================================== *
        Body Section
 * ======================================== */
#body-wrapper {}

#body-container {
    max-width: 1450px;
}

#body {
    padding: 40px 0 !important;
}


@media screen and (max-width: 850px) {
    #body {
        padding: 25px 0;
    }
}


/* ======================================== *
        Home Practice Areas Section
 * ======================================== */
#home-practice-areas-wrapper{
    background: #e2a528;
}

#home-practice-areas-container{
    max-width: 1450px;
}

#home-practice-areas{
    text-align: center;
    padding: 40px 0 15px;
}

#home-practice-areas .inner{
    padding: 0;
}

@media screen and (max-width: 1330px) {
    #home-practice-areas-container {
        max-width: 840px;
    }
}

/* ======================================== *
        Footer Section
 * ======================================== */
#footer-wrapper {
    padding: 35px 0 90px;
    background: url(../images/footer_bg_1x.jpg) no-repeat center center/ cover;
}

#footer-container {
    max-width: 950px;
}

#footer {}

#footer h3.tmf-module-title {
    color: #142a4f;
    font-size: 34px;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: center;
}

#footer .tmf-module-content{
    background: rgba(42,65,105, 0.45);
}

@media screen and (max-width: 850px) {
    #footer-wrapper {
        padding: 40px 0;
    }

    #footer-container {
        max-width: 450px;
    }
}


/* ======================================== *
        Copyright Section
 * ======================================== */
#copyright-wrapper {
    border-top: 15px solid #142a4f;
}

#copyright {
    text-align: center;
    color: #45484d;
    font-size: 16px;
    padding: 25px 0 50px;
}

#copyright a {
    color: #45484d;
}



/* ======================================== *
        Modules
 * ======================================== */
 .tmf-multi-module-area .tmf-module {
    margin-bottom: 50px;
}

.tmf-multi-module-area .tmf-module:last-child {
    margin-bottom: 0;
}

.tmf-multi-module-area .tmf-module h3.tmf-module-title {
    color: #142a4f;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 15px;
}

.tmf-multi-module-area .tmf-module-22 h3.tmf-module-title {
    position: relative;
    padding-right: 85px;
}

.tmf-multi-module-area .tmf-module-22 h3.tmf-module-title:after {
    background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) repeat scroll -203px 0px;
    background-size: 804px;
    content: "";
    display: inline-block;
    height: 42px;
    vertical-align: middle;
    width: 71px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.tmf-multi-module-area .tmf-module-22{
    background: #cccccc;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    padding: 15px 15px 25px;
}

.tmf-multi-module-area .tmf-module .tmf-button{
    box-sizing: border-box;
    display: inline-block;
    margin-top: 15px;
    width: 100%;
}

#body-cell-1 .sidebar-image {
    max-width: 354px;
    width: 100%;
    float: right;
    margin-bottom: 0;
    margin-left: 15px;
}

#body-cell-2 .sidebar-image {
    margin-bottom: 40px;
    max-width: 425px;
    width: 100%;
}

@media screen and (max-width: 600px) {
    #body-cell-1 .sidebar-image {
        float: none;
        margin-bottom: 40px;
        margin-left: 0;
    }
}


/* ======================================== *
        Inputs & Buttons
 * ======================================== */
input[type=text], 
textarea {
    background: #f8f8f8;;
    border: 1px solid #f8f8f8;
    color: #45484d;
    font-size: 14px !important;
    padding: 12px 10px !important;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    max-width: 100%;
    margin-bottom: 13px !important;
}

input[type=text]:focus,
textarea:focus {
    border: 1px solid #f8f8f8;
}

.gform_wrapper.tmf-form_wrapper ul{
    padding-left: 0;
}

.tmf-button,
.page-numbers,
input[type=submit] {
    background: #2a4169;
    border: none;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none !important;
    text-align: center;
    color: #fff !important;
    font-family: 'Source Serif Pro', serif;
    font-size: 20px;
    font-weight: 400;
    padding: 15px;
}

.tmf-button:hover,
.page-numbers:hover,
input[type=submit]:hover {
    background: #304a77;
    text-decoration: none;
}

.tmf-button:active,
.page-numbers:active,
input[type=submit]:active {
    background: #2a4169;
    text-decoration: none;
}

.tmf-button.large {
    font-size: 1.1em;
    padding: 7px 25px;
}

.tmf-button.medium {
    font-size: .95em;
    padding: 5px 25px;
}

.tmf-button.small {
    font-size: .85em;
    padding: 3px 15px;
}

.tmf-button.tiny {
    font-size: .75em;
    padding: 2px 7px;
}

.page-numbers.current {
    background: none;
    border: 1px solid #ddd;
    color: #333;
}

.vcard .value {
    background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) repeat scroll -106px 4px;
    background-size: 804px;
    height: 25px;
    width: 27px;
}


/* ======================================== *
        Responsive Layout
 * ======================================== */
@media screen and (max-width: 700px) {
    #breadcrumbs {
        display: none;
    }
}

@media screen and (max-width: 500px) {
    #secondary-nav-wrapper {
        display: none;
    }
}

@media screen and (max-width: 450px) {
    .row > div > .inner {
        padding-left: 12px;
        padding-right: 12px;
    }
}



/* ======================================== *
        Miscellaneous
 * ======================================== */
aside {
    color: #000000;
    font-size: 24px;
    font-style: italic;
    font-weight: 400;
    line-height: 34px; 
}

aside.left {
    border-top: 6px solid #e2a528; 
    border-bottom: 6px solid #e2a528; 
}

aside.right {
    border-top: 6px solid #e2a528; 
    border-bottom: 6px solid #e2a528; 
}

blockquote {
    color: #142a4f;
    font-size: 24px;
    font-style: italic;
    font-weight: 400;
    line-height: 34px;
    position: relative;
    margin: 0;
    padding: 0 0 0 40px;
    z-index: 9;
}

blockquote:after {
    content: "“";
    display: inline-block;
    font-family: Georgia;
    font-size: 400px;
    position: absolute;
    left: -15px;
    color: #f3f3f3;
    top: 140px;
    z-index: -9;
    font-style: normal;
}

#breadcrumbs {
  font-size: 15px;
  margin: 0 0 15px;
  color: #484848;
}

#breadcrumbs a {
  color: #484848;
  text-decoration: underline;
}

#breadcrumbs a:hover {
  text-decoration: none;
}

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

.mobile {
    display: none;
}

@media screen and (max-width: 500px) {
    .not-mobile {
        display: none;
    }

    .mobile {
        display: inherit;
    }
}


/* ======================================== *
        Gravity Form
 * ======================================== */
.gform_wrapper.tmf-form_wrapper {
    margin: 0px 0 0 !important;
}

.gform_wrapper.tmf-form_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container input[type=text],
.gform_wrapper.tmf-form_wrapper input[type=text],
.gform_wrapper.tmf-form_wrapper textarea {
    margin: 0;
}

.gform_wrapper ul li.gfield {
    margin-top: 0;
    padding-top: 0;
}

.gform_wrapper.tmf-form_wrapper ul li.gfield {
    margin-bottom: 0px;
}

.gform_wrapper.tmf-form_wrapper ul.gform_fields li.gfield {
    padding-right: 0 !important;
    margin-top: 0;
}

.gform_wrapper.tmf-form_wrapper .top_label .gfield_label {
    color: #000;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 0;
}

.gform_wrapper.tmf-form_wrapper .gfield_checkbox li input, 
.gform_wrapper.tmf-form_wrapper .gfield_checkbox li input[type=checkbox]{
    margin-top: 2px !important;
    vertical-align: top;
    width: 15px !important;
    height: 15px;
}

.gform_wrapper.tmf-form_wrapper ul li.field_description_below div.ginput_container_checkbox {
    margin: 0 auto;
}

.gform_wrapper.tmf-form_wrapper .gfield_checkbox li label {
    color: #000;
    font-size: 14px;
    max-width: 88%;
    vertical-align: top;
}

.gform_wrapper.tmf-form_wrapper ul.gform_fields textarea{
    height: 100px;
}

.gform_wrapper.tmf-form_wrapper .gform_footer {
    text-align: center;
    margin: 15px 0 0;
    padding: 0;
}

.gform_wrapper.tmf-form_wrapper .gform_footer input.button, 
.gform_wrapper.tmf-form_wrapper input[type=submit] {
    font-family: 'Source Serif Pro', serif;
    font-size: 20px;
    padding: 18px 15px;
    margin-right: 0;
    width: 100%;
    box-sizing: border-box;
}