/*
Theme Name: Legacy Homes Theme
Description: Custom designed theme specially for Legacy Homes
Version: 0.9
Author: Rob Williams, DevUp Inc <hello@devup.ca>
Tags: custom template
*/

/* Default Styles */

:root {
    --container-width: 1280px;
    --highlight: #174053;
    --dark-highlight: #167dac;
}



html, body {
    width:                  100%;
    height:                 100%;
    font-family:            'Open Sans', 'Arial', sans-serif;
    line-height:            1.4em;
    background:             white;
}

p { padding: 0 0 1em 0; font-weight: 300; }
.bold { font-weight: bold; }
.italic { font-style: italic; }
.textleft { text-align: left; }
.textcenter { text-align: center; }
.textright { text-align: right; }
.clear { clear: both; }
.floatleft { float: left; }
.floatright { float: right; }

img.centered {
	display: block;
	margin: 0 auto;
}

img.alignright {
	padding: 4px;
	margin: 0 0 1em 1em;
	display: inline;
}

img.alignleft {
	display: inline;
}

img.aligncenter {
    display: block;
}

.alignright { float: right; }
.alignleft { float: left; }
.aligncenter { margin: 0 auto; }


.margin_top { margin-top: 2rem !important; }
.margin_bottom { margin-bottom: 2rem !important; }

/* Basic styles */


a { text-decoration: none; color: var(--highlight); font-weight: 600; transition: 0.5s all; }
a:hover { color: var(--dark-highlight); }


h1 {}
h2 { font-size: 2.5em; line-height: 1.2em; font-weight: 300; }
h3 { font-size: 1.5em; line-height: 1.2em; font-weight: 500; margin-bottom: 1rem; }
h4 { font-size: 1em; line-height: 1.2em; font-weight: 300; }
.blue_section h2 { color: white; margin-bottom: 1rem; }

.padtop { margin-top: 3rem !important; }
.padbottom { margin-bottom: 3rem !important; }

sup { font-size: 0.6em; position: relative; top: -0.5em; }

.line_below { position: relative; }
.line_below:after { content: ''; display: block; width: 100px; height: 2px; background: var(--highlight); margin-top: 1rem; margin-bottom: 2rem; }
.line_below.has-text-align-center:after { margin-left: auto; margin-right: auto; }

.button_link { line-height: 3em; }
.button_link a { border: 2px var(--highlight) solid; background: var(--highlight); padding: 0.5rem 2rem; font-weight: normal; color: white; transition: 0.5s all; border-radius: 5px; white-space: nowrap; }
.button_link a:hover { background: transparent; color: var(--highlight); }
.button_link_to_white a:hover { background: white; }
.button_link_hollow a { background: transparent; }
.button_link_hollow a:hover { background: var(--highlight); color: white; }
.hero_area .button_link { margin-top: 2rem; }

header { background: white; }
.header_bar { list-style: none outside; width: 95%; max-width: var(--container-width); margin: 0 auto; padding: 1rem 0; text-align: right; }
.header_bar:after { content: ''; display: table; clear: both; }
.header_bar > li { display: inline-block; vertical-align: middle; }
.header_bar > li:first-child { float: left; }
.header_bar > li:last-child { text-align: right; }
.header_bar figure { height: 35px; width: auto; }
.header_bar figure img { height: 35px; width: auto !important; }

.header_bar .menu { list-style: none outside; text-align: right; }
.header_bar .menu > li { display: inline-block; margin-left: 1.5rem; }
.header_bar .menu > li a { font-weight: normal; color: #444; position: relative; transition: 0.5s all; }
.header_bar .menu > li a:after { content: ''; background: var(--dark-highlight); width: calc( 100% + 1rem ); height: 3px; position: absolute; bottom: -0.5rem; left: 50%; transform: translate(-50%, 0) scaleX(0); transition: 0.5s all; }
.header_bar .menu > li:hover a { color: var(--highlight); }
.header_bar .menu > li:hover a:after { transform: translate(-50%, 0) scaleX(1); }

footer { background: white; border-top: 8px var(--highlight) solid; margin-top: 3rem; padding: 2rem; }
.footer_bar { list-style: none outside; }
.footer_bar > li { text-align: center; padding: 0.5rem 0; }
.footer_bar img { height: 40px !important; width: auto !important; }
.footer_bar p { color: #999; }
footer .menu li { display: inline-block; margin: 0 2rem; }

.hero_area > .wp-block-cover__inner-container { width: 95%; max-width: var(--container-width); margin: 0 auto; }
.hero_area h2.wp-block-heading { width: 60%; margin-top: 2rem; margin-bottom: 2rem; margin-left: 0 !important; }
.hero_area h2:after { background: white; }

.social-media { list-style: none outside; text-align: right; }
.social-media li { display: inline-block; margin-left: 4rem; }
.social-media li a { color: #333; }
.social-media li a:hover { color: var(--highlight); }
.social-media li i { font-size: 4em; }
.social_media_area { border-bottom: 1px #ddd solid; }
.social_media_area .wp-block-columns { align-items: center !important; }

.white_section { background: white; padding: 2rem 0; }
.grey_section { background: #f5f5f5; padding: 2rem 0; }
.blue_section { background: #174053; padding: 2rem 0; }
.white_section > *, .grey_section > *, .blue_section > *, main > *:not(.fullwidth):not(.alignnormal) {
    width: 95%; max-width: var(--container-width) !important; margin: 0 auto;
}
.fullwidth p:not(.fullwidthp) { max-width: var(--container-width); margin-left: auto; margin-right: auto; }
main > .alignnormal { margin-bottom: 3rem; }

.maple_leaf_cols { margin: 3rem auto !important; }
.maple_leaf_cols .wp-block-column { text-align: center; }
.maple_leaf_cols .circle_around { border: 2px var(--highlight) solid; border-radius: 99px; padding: 1rem; width: fit-content; margin: 2rem auto; color: var(--highlight); }

hr { border: none !important; background: var(--highlight); height: 2px; margin-bottom: 3rem; }

.fp_selector, .sh_selector { list-style: none outside; }
.fp_selector li { border-bottom: 1px white solid; background: #333; text-align: center; transition: 300ms; }
.sh_selector li { border-right: 1px white solid; background: #333; text-align: center; transition: 300ms; }
.sh_selector { display: flex; }
.sh_selector li { flex-grow: 1; }
.fp_selector li:first-child { border-top-left-radius: 5px; border-top-right-radius: 5px; }
.fp_selector li:last-child { border-bottom: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
.sh_selector li:first-child { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
.sh_selector li:last-child { border-right: none; border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
.fp_selector li.active, .sh_selector li.active { background: var(--highlight); }
.fp_selector li a, .sh_selector li a { color: white; width: 100%; padding: 3rem 0; display: block; }

.fp_feature_box, .sh_feature_box { display: flex; opacity: 0; transition: 300ms; position: absolute; }
.sh_feature_box { display: block; width: var(--container-width); }
.fp_feature_box.active, .sh_feature_box.active { transition-delay: 200ms; }
.fp_feature_box_planning, .sh_feature_box_the_dunstaffnage { opacity: 1; }
.fp_feature_box h2, .sh_feature_box h2 { margin-bottom: 1rem; }
.fp_feature_box .button_link, .sh_feature_box .button_link { margin-top: 1rem; }
.sh_feature_box .button_link a + a { margin-left: 2rem; }
.fp_feature_box figure img:not(:first-child) { opacity: 0.5; transform: rotate(180deg) scaleX(-1); }

.sh_feature_box_container { margin: 2rem 0; }

.fp_feature_columns { margin-top: 2rem; margin-bottom: 4rem; }
.fp_feature_columns figure { padding: 1rem; border: 2px var(--highlight) solid; border-radius: 99em; margin-bottom: 1rem !important; }

blockquote > p { background: #f5f5f5; padding: 1rem; position: relative; border-radius: 5px; }
blockquote > p:after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='0,0 36,0 18,24' fill='%23f5f5f5' /%3E%3C%2Fsvg%3E");
    position: absolute;
    top: 100%;
    left: 18px;
    width: 36px;
    height: 36px;
}
blockquote div { width: fit-content; display: inline-block; vertical-align: middle; margin-top: 2rem; }
blockquote figure { float: none !important; }
blockquote cite { display: inline-block; width: calc( 100% - 110px ); padding-left: 10px; vertical-align: middle; }

.gform-rowspan-2 { grid-row: span 2; }
.gform_button { background: var(--highlight) !important; margin: 0 auto !important; }

.team { list-style: none outside; display: flex; align-items: flex-start; flex-wrap: wrap; gap: 2rem; margin: 0 auto 3rem; }
.team li { flex-basis: 31%; text-align: center; box-sizing: border-box; margin-bottom: 2rem; }
.team li img { border: 1px #ddd solid; width: 100%; height: auto; transition: 0.25s all; }
.team li img:hover { transform: scale(1.05); }
.team li h3 { margin-bottom: 0; }

.fancy_bullets { list-style: none outside; }
.fancy_bullets li { position: relative; padding-left: 3rem; margin-bottom: 1rem; font-weight: 300; }
.fancy_bullets li h4 { font-size: 1.25em; font-weight: 600; }
.fancy_bullets li i { position: absolute; left: 0; top: 50%; }
.fancy_bullets li h4 i { top: 20%; }
.fancy_bullets li p { font-size: 1em; }

.wp-block-gallery.has-nested-images figure.wp-block-image { flex-grow: unset !important; }

.modular_home_links { list-style: none outside; }
.modular_home_links li { display: inline-block; margin: 0 0.75rem; }
.modular_home_links li:first-child { margin-left: 0; }
.modular_home_links a { display: block; color: white; font-weight: bold; border: 1px white solid; padding: 0.25rem 0.5rem; }
.modular_home_links li.current_home a { background: white; color: #444; }

.parent-pageid-12 main .white_section .wp-block-columns h3 { margin-bottom: 0; padding-bottom: 0; }

.hide_for_desktop { display: none; }

@media screen and (max-width: 1300px) {
    .header_bar .menu > li { margin-left: 1rem; }
    .header_bar .menu > li a { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; }
}

@media screen and (max-width:1120px) {
    .header_bar > li { display: block; text-align: center; }
    .header_bar > li:first-child { float: none; }
    .header_bar .menu { text-align: center; margin: 2rem auto 0; }
    .header_bar .menu li { margin: 0 0.75rem 1rem; }
    .hero_area h2.wp-block-heading { width: 100%; }
    .header_bar .menu > li a { font-family: 'Open Sans', sans-serif; }
}

@media screen and (max-width:1000px) {
    .team { justify-content: center; }
    .team li { flex-basis: 45%; }
}
@media screen and (max-width:800px) {
    .fp_feature_box figure img:first-child { margin-bottom: 3rem; }
    .fp_feature_box figure img:not(:first-child) { display: none; }
    .social_media_area div div div { text-align: center; }
    .social_media_area div div div p { width: 80%; }
    .social-media { text-align: center; }
    .social-media li { margin-left: 2rem; margin-right: 2rem; }
    .minwidth_150 { flex-basis: 150px !important; }
    .footer_bar img { height: auto !important; }
    main > div:nth-child(even) .wp-block-columns > div:first-child { order: 2; }
    main > div:nth-child(even) .wp-block-columns > div:last-child { order: 1; }
    .hide_for_desktop { display: block; }
    .hide_for_mobile { display: none; }
}
@media screen and (max-width: 650px) {
    .team { margin-top: 3rem; }
    .team li { flex-basis: 60%; }
}



