/*   
Theme Name: Walsh Hospitality Group
Theme URI: https://www.walshhospitalitygroup.com/
Description: Custom WordPress theme for Walsh Hospitality Group
Author: Torro Media
Author URI: https://www.torro.io
Version: 1.0
*/

@CHARSET "UTF-8";

/* =WordPress Core from http://codex.wordpress.org/CSS#WordPress_Generated_Classes
-------------------------------------------------------------- */

/*Required Styles*/

.alignnone {
    margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}
.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
a img.alignnone {
    margin: 5px 20px 20px 0;
}
a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}
.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}
.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}
.wp-caption p.wp-caption-text {
    font-size: 13px;
    line-height: 17px;
    margin: 0;
    padding: 0.5rem 0;
}

/*CUSTOM SCSS
-------------------------------------------------------------- */

:root{
    --font-heading:'freight-big-pro', serif;
    --font-body:'lora', serif;

    --color-orange:#C87223;
    --color-darkorange:#9C5615;
    --color-beige:#FFF9F4;
}

html, body{
    overflow-x:hidden;
    width:100%;
    font-family:var(--font-body);
    scroll-behavior: smooth;
    scroll-padding:220px 0 0;
}
h1, .h1{
    font-family:var(--font-heading);
    font-size:64px;
    font-weight:500;
    color:white;
}
h2, .h2{
    font-family:var(--font-heading);
    font-size:44px;
    font-weight:500;
}
h3, .h3{
    font-family:var(--font-body);
    color:var(--color-orange);
    font-size:24px;
}
h4, .h4{
    font-family:var(--font-body);
    font-size:22px;
}
h5, .h5{
    font-family:var(--font-body);
    color:var(--color-orange);
    font-size:20px;
}
h6, .h6{
    font-family:var(--font-body);
    font-size:18px; 
}
p{
    font-family:var(--font-body);
    font-size:18px;
}
p a{
    color:var(--color-orange);
}
p a:hover{
    color:var(--color-darkorange);
}
a:hover, a:focus{
    text-decoration: none;
}
main.nhc_main{
    margin-top:100px;
}


/*BUTTONS & LINKS*/

.nhc_button{
    background:var(--color-orange);
    display:inline-block;
    padding:0.5rem 2rem;
    color:white;
    font-family:var(--font-heading);
    font-size:21px;
    font-weight:700;
    line-height: 1.5;
}
.nhc_button:hover{
    background:var(--color-darkorange);
    color:white;
    transition-duration: 0.5s;
}

/*HEADER*/

.nhc_header{
    width:400px;
    background:white;
    position:absolute;
    top:0;
    left:0;
    padding:2rem 0;
}
.nhc_header .container{
    padding:0;
}
.logged-in .nhc_header{
    top:32px;
}
.nhc_header_logo{
    width:100%;
}
.nhc_header_logo a{
    display:block;
    width:100%;
    height:100%;
}
.nhc_header_logo img{
    width:100%;
    height:auto;
    padding:5rem 4rem;
}
.nhc_header_nav{
    list-style:none;
    margin:3rem 0 0;
    padding:0;
    font-family: var(--font-heading);
    font-size:31px;
    font-weight:400;
}
.nhc_header_nav li{
    display:block;
    position: relative;
}
.nhc_header_nav li::before{
    content:'';
    width:3rem;
    height:1px;
    background: black;
    position: absolute;
    top:50%;
    left:0;
    transform:translate(0,-50%);
}
.nhc_header_nav li a{
    display: block;
    padding:0.75rem 2rem 0.75rem 5rem;
    color:black;
}
.nhc_header_nav li a:hover{
    color:var(--color-orange);
    letter-spacing: 1px;
    transition-duration: 0.5s;
}
.nhc_header_nav li:hover::before{
    background:var(--color-orange);
}
.nhc_header_nav .sub-menu{
    display:none;
}
.nhc_header_nav_toggle{
    display:none;
    color:black;
    font-size:26px;
    font-family:var(--font-heading);
    padding:1.907rem 1rem;
    cursor: pointer;
}
.nhc_header_nav_toggle i{
    margin-right:0.25rem;
}
.nhc_header_menu_toggle{
    display:none;
}
.nhc_header.nhc_header_scrolled,
.nhc_header.nhc_header_interior{
    width:100%;
    height:100px;
    padding:0;
    position: fixed;
    z-index:1000;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    box-shadow:0 0 5px rgba(0,0,0,0.5);
}
.nhc_header.nhc_header_scrolled .container,
.nhc_header.nhc_header_interior .container{
    padding-left:15px;
    padding-right:15px;
    display:flex;
    max-width:100%;
    align-items: center;
    justify-content: space-between;
    height:100%;
}
.nhc_header.nhc_header_scrolled .nhc_header_logo,
.nhc_header.nhc_header_interior .nhc_header_logo{
    flex:0 0 17%;
    height:100%;
}
.nhc_header.nhc_header_scrolled .nhc_header_logo img,
.nhc_header.nhc_header_interior .nhc_header_logo img{
    height:100%;
    width:auto;
    padding:1rem 0;
}
.nhc_header.nhc_header_scrolled .nhc_header_menu,
.nhc_header.nhc_header_interior .nhc_header_menu{
    flex:0 0 10%;
    text-align: right;
    position: relative;
}
.nhc_header.nhc_header_scrolled .nhc_header_nav_toggle,
.nhc_header.nhc_header_interior .nhc_header_nav_toggle{
    display:block;
}
.nhc_header.nhc_header_scrolled .nhc_header_nav,
.nhc_header.nhc_header_interior .nhc_header_nav{
    display:none;
    width:400px;
    position: absolute;
    background:white;
    right:-1rem;
    top:100px;
    margin:0;
    padding:0 0 2rem;
    height: calc(100vh - 132px);
    overflow: scroll;
    text-align:left;
    box-shadow: -5px 5px 5px rgba(0, 0, 0, 0.1);
}
.nhc_header.nhc_header_scrolled .nhc_header_nav li:not(.sub-menu li),
.nhc_header.nhc_header_interior .nhc_header_nav li:not(.sub-menu li){
    border-top:1px solid rgba(255,255,255, 0.25);
    border-bottom:1px solid rgba(255,255,255, 0.25);
    position: relative;
}
.nhc_header.nhc_header_scrolled .nhc_header_nav li:not(.sub-menu li)::before,
.nhc_header.nhc_header_interior .nhc_header_nav li:not(.sub-menu li)::before{
    content:none;
}
.nhc_header.nhc_header_scrolled .nhc_header_nav li a,
.nhc_header.nhc_header_interior .nhc_header_nav li a{
    padding:1rem 2rem;
}
.nhc_header.nhc_header_scrolled .sub-menu,
.nhc_header.nhc_header_interior .sub-menu{
    display:none;
    font-size:20px;
    padding:0.5rem 0;
    border-top:1px solid rgba(255,255,255, 0.25);
}
.nhc_header.nhc_header_scrolled .nhc_header_nav li.opened .sub-menu,
.nhc_header.nhc_header_interior .nhc_header_nav li.opened .sub-menu{
    display:block;
}
.nhc_header.nhc_header_scrolled .sub-menu li a,
.nhc_header.nhc_header_interior .sub-menu li a{
    padding:0.5rem 2rem;
}
.nhc_header.nhc_header_scrolled .nhc_header_menu_toggle,
.nhc_header.nhc_header_interior .nhc_header_menu_toggle{
    display:block;
    position: absolute;
    color:white;
    right:0;
    top:0;
    padding:1rem 2rem;
    border-left:1px solid rgba(255,255,255, 0.25);
    cursor: pointer;
}

/*HERO*/

.nhc_hero{
    width:calc(100vw - 400px);
    margin-left:400px;
    min-height:500px;
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.nhc_hero_video,
.nhc_hero_overlay{
    width:100%;
    height:80%;
    position:absolute;
    bottom:0;
    left:0;
}
.nhc_hero_video{
    overflow:hidden;
}
.nhc_hero_video video{
    min-width:100%;
    min-height:100%;
    width:auto;
    height:auto;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}
.nhc_hero_overlay{
    background: linear-gradient(180deg, rgba(255, 249, 244, 0.00) 0%, #FFF9F4 100%);
}
.nhc_hero_overlay h1{
    position: absolute;
    bottom:2rem;
    left:2rem;
    line-height: 1.25;
    margin:0;
    color:black;
    font-size:36px;
    text-transform: none;
    width:790px;
    font-weight:400;
}
.nhc_hero_overlay h1 b,
.nhc_hero_overlay h1 strong{
    font-weight:700;
}

/*GENERAL CONTENT*/

.nhc_content{
    border-top:8px solid white;
    position: relative;
}
.nhc_content_padded{
    padding:5rem 0;
}
.nhc_split_content .row{
    margin:0 -4px;
}
.nhc_split_content .nhc_col{
    padding:0 4px;
}
.nhc_content_image{
    width:100%;
    padding-bottom:60%;
    min-height:100%;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.col-lg-4 .nhc_content_image{
    padding-bottom:80%;
}
.nhc_content_image_small{
    padding-bottom:15%;
    border-top:8px solid white;
}
.nhc_content_image_medium{
    padding-bottom:30%;
    border-top:8px solid white;
}
.nhc_content_image_large{
    padding-bottom:60%;
    border-top:8px solid white;
}
.nhc_content_text{
    padding:5rem 0;
}
.nhc_content_text.nhc_flex{
    display:flex;
    height:100%;
    align-items: center;
    padding:4rem 2rem;
}
.nhc_content_text h1{
    color:var(--color-orange);
}
.order-lg-1 .nhc_content_text.nhc_flex{
    padding-left:calc((100vw - 1110px) / 2);
}
.order-lg-2 .nhc_content_text.nhc_flex{
    padding-right:calc((100vw - 1110px) / 2);
}
.nhc_content_text .nhc_button{
    margin:1rem 0 0;
}
.nhc_content_black{
    background:black;
}
.nhc_content_black .nhc_content_text,
.nhc_content_black .nhc_content_text *{
    color:white;
}
.nhc_content_buttons .nhc_button{
    margin-right:0.25rem;
}

/*TITLE BAR*/

.nhc_title_bar{
    position: relative;
    width:100%;
    height:220px;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.nhc_title_bar_overlay{
    width:100%;
    height:100%;
    background: linear-gradient(270deg, rgba(255, 249, 244, 0.00) 0%, #FFF9F4 100%);
}
.nhc_title_bar .container{
    height:100%;
    display:flex;
    align-items: center;
}
.nhc_title_bar h1{
    margin:0;
    color:black;
}

/*FORMS*/

.gform_required_legend{
    display:none;
}
.gform_wrapper.gravity-theme .gfield_required{
    color:var(--color-orange) !important;
}
.gform_wrapper.gravity-theme .gfield_label{
    font-family: var(--font-heading) !important;
    font-size:20px !important;
    font-weight:300 !important;
}
.gform_wrapper.gravity-theme input[type=color],
.gform_wrapper.gravity-theme input[type=date],
.gform_wrapper.gravity-theme input[type=datetime-local],
.gform_wrapper.gravity-theme input[type=datetime],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=month],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme input[type=search],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=time],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=week],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea{
    border-radius:0 !important;
    border:1px solid var(--color-orange) !important;
    padding:0.75rem !important;
    width:100% !important;
    color:black !important;
}
.gform_wrapper.gravity-theme .gform_footer button,
.gform_wrapper.gravity-theme .gform_footer input,
.gform_wrapper.gravity-theme .gform_page_footer button,
.gform_wrapper.gravity-theme .gform_page_footer input{
    background:var(--color-orange);
    display:inline-block;
    padding:0.5rem 2rem;
    text-transform: uppercase;
    color:white;
    font-family:var(--font-heading);
    font-size:24px;
    font-weight:300;
    border:none !important;
    line-height: 1.5;
}
.gform_wrapper.gravity-theme .gform_footer button:hover,
.gform_wrapper.gravity-theme .gform_footer input:hover,
.gform_wrapper.gravity-theme .gform_page_footer button:hover,
.gform_wrapper.gravity-theme .gform_page_footer input:hover{
    background:var(--color-darkorange);
    color:white;
    transition-duration: 0.5s;
}
.gform_wrapper.gravity-theme .field_description_above .gfield_description{
    padding-top:0 !important;
}
.gform_wrapper.gravity-theme .ginput_complex label{
    font-style: italic;
}

/*ACCORDIONS*/

.nhc_accordion{
    border: 2px solid var(--color-orange);
    position: relative;
    margin:1rem 0 0;
}
.nhc_accordion::after{
    content:'+';
    font-size:32px;
    font-family: var(--font-heading);
    color:var(--color-orange);
    font-weight:300;
    position: absolute;
    right:0;
    top:0;
    padding:1rem 2rem;
    pointer-events: none;
}
.nhc_accordion.opened::after{
    content:'-';
}
.nhc_accordion_title{
    padding:1rem 5rem 1rem 2rem;
    font-family: var(--font-heading);
    color:black;
    font-weight:300;
    font-size:32px;
    text-transform: uppercase;
}
.nhc_accordion.opened .nhc_accordion_title{
    color:var(--color-orange);
}
.nhc_accordion_content{
    display:none;
    padding:0 2rem 2rem;
}
.nhc_accordion.opened .nhc_accordion_content{
    display:block;
}
.nhc_accordion_content .nhc_content_text{
    padding:0;
}

/*CTA/QUOTE*/

.nhc_cta{
    width:100%;
    height:auto;
    background-color:var(--color-beige);
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}
.nhc_cta_left{
    background-size:70%;
    background-position: right;
}
.nhc_cta_right{
    background-size:70%;
    background-position: left;
}
.nhc_cta_overlay{
    width:70%;
    height:100%;
    background: linear-gradient(270deg, rgba(255, 249, 244, 0.00) 0%, #FFF9F4 100%);
    position: absolute;
    top:0;
    left:0;
}
.nhc_cta.nhc_quote .nhc_cta_overlay{
    padding:2rem 0;
}
.nhc_cta_overlay_left{
    margin-left:30%;
    background: linear-gradient(270deg, rgba(255, 249, 244, 0.00) 0%, #FFF9F4 100%);
}
.nhc_cta_overlay_right{
    margin-right:30%;
    background: linear-gradient(270deg, #FFF9F4 0%, rgba(255, 249, 244, 0.00) 100%);
}
.nhc_cta .nhc_content_text{
    text-align:center;
    padding:7rem 0;
}
.nhc_cta.nhc_quote .nhc_content_text{
    text-align:left;
}

/*FOOTER*/

.nhc_footer{
    background:var(--color-beige);
    padding:1.5rem 0;
    text-align:center;
    font-size:12px;
}
.nhc_footer p{
    margin:0;
    font-size:12px;
    color:black;
}
.nhc_footer a{
    color:black;
    font-size:12px;
}
.nhc_footer a:hover{
    color:var(--color-orange);
}
.nhc_footer_nav{
    display:inline;
    list-style:none;
    margin:0;
    padding:0;
}
.nhc_footer_nav li{
    display:inline;
}
.nhc_footer_nav li::before{
    content:'|';
    margin:0 0.75rem;
}















