/* ============================================================================ *
        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: #ffffff;
    color: #000000;
    font-family: 'EB Garamond', serif;
    font-size: 22px;
    font-weight: 500;
}

a {
    color: #253471;
}

/* ======================================== *
        Large Screen Container Width CSS
 * ======================================== */
@media screen and (min-width: 1600px) {
    body .section-container:not(#billboard-container):not(#footer-container) {
        max-width: 90%;
    }

    .sidebar-image {
        max-width: 100% !important;
    }
}

/* ======================================== *
        Header 1
 * ======================================== */
h1,
h1#page-title,
.editor-content h1 {
    color: #253471;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.1em;
    margin-bottom: 15px;
    text-transform: uppercase;
}


/* ======================================== *
        Header 2
 * ======================================== */
h2,
.tmf-post > h2,
.editor-content h2 {
    color: #253471;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.2em;
    margin-bottom: 15px;
}

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


/* ======================================== *
        Header 3
 * ======================================== */
h3,
.tmf-post > h3,
h3.tmf-module-title {
    color: #253471;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.1em;
    margin-bottom: 15px;
}

h3 a,
.tmf-post > h3 a,
h3.tmf-module-title a {
    color: #253471;
}

h3 a:hover,
.tmf-post > h3 a:hover,
h3.tmf-module-title a:hover {}


/* ======================================== *
        Header 4
 * ======================================== */
h4,
.tmf-post > h4 {
    color: #59638f;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 15px;
}

h4 a,
.tmf-post > h4 a {
    color: #59638f;
    text-decoration: none;
}

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


/* ======================================== *
        Secondary Navigation Section
 * ======================================== */
#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:hover {}
#secondary-nav .menu > .menu-item:hover a {}
#secondary-nav .menu:hover > .menu-item.current-menu-item > a {}

/* ======================================== *
        Header Section
 * ======================================== */
#header-wrapper {
    background: #ffffff;
}

#header {
    color: #000;
    font-size: 25px;
    line-height: normal;
    padding: 25px 0 10px;
    text-align: center;
}

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

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

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

#header .tmf-module-area-header { 
    padding-top: 15px;
}

#header .phone-1::before {
    background: url(../images/icon_sprite_3x.png) no-repeat -40px 0px;
    background-size: 347px;
    content: "";
    display: inline-block;
    width: 25px;
    height: 24px;
    vertical-align: middle;
}

#header .email::before {
    background: url(../images/icon_sprite_3x.png) no-repeat 0px 0px;
    background-size: 347px;
    content: "";
    display: inline-block;
    width: 35px;
    height: 20px;
    vertical-align: middle;
}

#header .email:after { 
    content: "|"; 
    font-size: 25px; 
    font-weight: 400; 
    color: #000000; 
    margin: 0 15px; 
}

@media screen and (max-width: 1200px) {
    #header-top-cell-1 .inner{
        padding: 0 25px;
    }
}

@media screen and (max-width: 1000px) {
    #header {
        padding: 25px 0;
        text-align: center;
    }
}

@media screen and (max-width: 500px) {
    #header .phone-1 { 
       display: block; 
    }

    #header .email:after { 
       display: none; 
    }
}

/* ======================================== *
        Primary Navigation Section
 * ======================================== */
#primary-nav-wrapper {
    background: #253471;
    font-family: 'EB Garamond', serif;
}

#primary-nav-container {
    max-width: 1000px !important;
}

#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;
    font-weight: 500;
    padding: 15px 25px;
    text-decoration: none;
    text-transform: uppercase;
}

#primary-nav .menu > .menu-item.current-menu-item > a,
#primary-nav .menu > .menu-item:hover > a {
    background: #59638f;
    color: #ffffff;
}

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

#primary-nav .menu .sub-menu {
    min-width: 330px;
}

#primary-nav .menu .sub-menu .menu-item{
    background: #59638f;
}

#primary-nav .menu .sub-menu .menu-item {}
#primary-nav .menu .sub-menu .menu-item.first {}
#primary-nav .menu .sub-menu .menu-item.last {}
#primary-nav .menu .sub-menu .menu-item > a {
    color: #fff;
    font-size: 18px;
    padding: 10px 15px;
}

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

@media screen and (max-width: 1250px) {
    #primary-nav {
        padding: 0;
    }
}

@media screen and (max-width: 1050px) {
    #primary-nav .menu > .menu-item > a {
        padding: 15px 10px;
    }
}

/* ======================================== *
    Mobile Menu
 * ======================================== */
#mobile-nav-wrapper {
    font-family: 'EB Garamond', serif;
    text-align: left;
}

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

#mobile-nav a {
    color: #fff;
    font-size: 16px;
}

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

#mobile-nav .menu .menu-item.display {
    background: #4b547b;
}

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

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

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

#mobile-nav .mobile-menu .current-menu-item {
    background: transparent;
}

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

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

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

#billboard .billboard-content {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 800px;
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    z-index: 9;
    padding: 0 25px;
}

#billboard h1 {
    color: #ffffff;
    font-size: 60px;
    font-weight: 500;
    margin-bottom: 15px;
    text-transform: none;
}

#billboard h1.last-slogan {
    padding-left: 135px;
}

@media screen and (max-width: 1000px) {
    #billboard .billboard-content {
        background: #999999;
        max-width: 100%;
        position: inherit;
        bottom: inherit;
        text-align: center;
        padding: 25px 25px;
    }

    #billboard h1.last-slogan {
        padding-left: 0;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 700px) {
    #billboard h1 {
        font-size: 38px;
    }
}

@media screen and (max-width: 450px) {
    #billboard h1 {
        font-size: 26px;
    }
}

/* ======================================== *
       Slogan Section
 * ======================================== */
#slogan-wrapper{
    background: #999999;
}

#slogan-container {
    max-width: 1250px;
}

#slogan {
    color: #ffffff;
    font-size: 34px;
    font-weight: 500;
    line-height: normal;
    text-align: center;
    padding: 15px 0;
}

/* ======================================== *
        Home Page Body Section
 * ======================================== */
#home-body-wrapper{}

#home-body-container {
    max-width: 1250px;
}

#home-body {
    padding: 45px 0;
}

@media screen and (max-width: 1000px) {
    #home-body {
        text-align: center;
    }
}

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

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

#body {
    padding: 45px 0;
}

#body .custom-inner{
    padding: 0 25px;
}

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

/* ======================================== *
        Home Bottom Bg Section
 * ======================================== */
.home-bottom-bg{
    background: url('../images/home_footer_bg_1x.jpg') no-repeat center center / cover;
}

/* ======================================== *
        Home Testimonial Section
 * ======================================== */
#home-testimonials-wrapper{}

#home-testimonials-container {
    max-width: 1250px;
}

#home-testimonials {
    padding: 45px 0 0;
}

#home-testimonials h3.tmf-module-title {
    color: #ffffff;
    font-size: 34px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
    text-transform: uppercase;
}

#home-testimonials .tmf-button {
    display: inline-block;
    max-width: 200px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 25px;
    padding: 4px 15px;
}

/*Bx Slider CSS*/
#home-testimonials .bx-wrapper {
    margin: 0 auto;
    cursor: pointer;
}

#home-testimonials .bx-wrapper .bx-viewport {
    left: 0;
    max-width: 100%;
}

#home-testimonials .bx-wrapper .bx-pager {
    position: relative;
    padding-top: 15px;
}

#home-testimonials .bx-wrapper .bx-pager.bx-default-pager a {
    background: transparent;
    border: 2px solid #ffffff;
    width: 15px;
    height: 15px;
    margin: 0 8px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    line-height: normal;
}

#home-testimonials .bx-wrapper .bx-pager.bx-default-pager a.active {
    border: 2px solid #ffffff;
    background: #ffffff;
}

/* ======================================== *
        Attorney Single Accordion
 * ======================================== */
.attorney-accordion .editor-content ul {
    padding-left: 25px;
}

/* ======================================== *
        Footer Section
 * ======================================== */
#footer-wrapper {
    background: url('../images/home_footer_bg_1x.jpg') no-repeat bottom center / cover;
}

.home #footer-wrapper {    
    background: transparent;
}

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

#footer {
    padding: 80px 0 60px;
}

.home #footer {
    padding: 60px 0;
}

@media screen and (max-width: 900px) {
    #footer-container {
        max-width: 470px;
    }
}

/* ======================================== *
        Copyright Section
 * ======================================== */
.post-type-archive-location #copyright-wrapper {
    border-top: 10px solid #253471;
}

#copyright {
    color: #424241;
    font-size: 19px;
    padding: 25px 0 50px;
}

#copyright a{
    color: #424241;
}

/* ======================================== *
        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: #253471;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.tmf-multi-module-area .tmf-module-22 h3.tmf-module-title {
    font-size: 28px;
}

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

.tmf-multi-module-area .tmf-module .tmf-button {
    display: block;
    margin-top: 10px;
    padding: 15px;
}

.sidebar-image {
    margin-bottom: 40px;
    max-width: 366px;
    width: 100%;
}

/* ======================================== *
        Inputs & Buttons
 * ======================================== */
input[type="text"], 
textarea {
    background: #fff none repeat scroll 0 0;
    border: 1px solid #cccccc;
    color: #848484;
    font-size: 16px !important;
    margin-bottom: 10px !important;
    max-width: 100%;
    padding: 10px !important;
}

textarea {
    height: 100px !important;
}

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

.tmf-button,
.page-numbers,
.gform_wrapper.tmf-form_wrapper input[type=submit]{
    font-size: 20px;
    padding: 15px;
    background: #253471;
    cursor: pointer;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    cursor: pointer;
    text-align: center;
    text-decoration: none !important;
    color: #fff;
    font-family: 'EB Garamond', serif;
    font-weight: 600;
}

.tmf-button:hover,
.page-numbers:hover,
.gform_wrapper.tmf-form_wrapper input[type=submit]:hover{
    background: #2b3c81;
    text-decoration: none;
    color: #fff;
}

.tmf-button:active,
.page-numbers:active,
.gform_wrapper.tmf-form_wrapper input[type=submit]:active {
    background: #253471;
    text-decoration: none;
    color: #fff;
}

.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: #000000;
}

.vcard .value {
    background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) no-repeat scroll -320px 0px;
    background-size: 347px;
    height: 30px;
    width: 29px;
    vertical-align: middle;
}

/* ======================================== *
        Breadcrumbs
 * ======================================== */
#breadcrumbs {
    color: #666666;
    font-size: 20px;
    margin: 0 0 15px;
}

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

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

/* ======================================== *
        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
 * ======================================== */
.social-icons {
    vertical-align: middle;
}

.social-icons .icon {
    width: 51px;
    height: 51px;
}

.social-icons .facebook {
    background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) repeat scroll -564px 0;
    background-size: 567px;
}

.social-icons .linked-in {
    background: rgba(0, 0, 0, 0) url("../images/icon_sprite_3x.png") repeat scroll -619px 0;
    background-size: 567px;
}

.social-icons .twitter {
    background: rgba(0, 0, 0, 0) url("../images/icon_sprite_3x.png") repeat scroll -675px 0;
    background-size: 567px;
}

aside {
    color: #59638f;
    font-family: 'EB Garamond', serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 34px; 
}

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

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

blockquote {
    color: #253471;
    font-family: 'EB Garamond', serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    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: #f2f2f2;
    top: 140px;
    z-index: -9;
    font-style: normal;
}

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

.mobile {
    display: none;
}

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

    .mobile {
        display: inherit;
    }
}


/* ======================================== *
        Gravity Form
 * ======================================== */
.gform_wrapper.tmf-form_wrapper {
    margin: 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.tmf-form_wrapper .top_label .gfield_label {
    margin-bottom: 0;
}

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

.gform_wrapper.tmf-form_wrapper .gform_footer {
    padding: 0;
    margin: 0;
    clear: both;
    width: 100%;
}

.gform_wrapper.tmf-form_wrapper .gform_footer input.button,
.gform_wrapper.tmf-form_wrapper input[type=submit] {
    font-family: 'EB Garamond', serif;
    font-size: 20px;
    font-weight: 600;
    border: none;
    padding: 15px 15px;
    width: 100%;
    margin-right: 0;
}

#body-cell-2 .gform_wrapper.tmf-form_wrapper .gform_footer input.button,
#body-cell-2 .gform_wrapper.tmf-form_wrapper input[type=submit] {
    font-size: 26px;
    padding: 15px 15px;
}