/*
Theme Name: Business One Page Shawfield and Stone
Template: business-one-page
*/

/* --- child theme styles: --- */

body {
    color: #595959;
    font: 150 20px/26px 'Outfit', sans-serif !important;
	font-weight: 150;
}

@media (prefers-reduced-motion: no-preference)
{
	.animate-on-scroll, h2 {
		animation-name: upslide;
		animation-duration: 10s;
		animation-fill-mode: forwards;
		animation-timeline: view();
		animation-iteration-count: 1;
		animation-range-start: entry;
		animation-range-end: contain 80%;
		transform: translateY(300px);
	}
}
@keyframes upslide {
	0% { transform: translateY(150px); opacity: 0; }
	100%{ transform: translateY(0); opacity: 1; }
}

@media (prefers-reduced-motion: no-preference)
{
	.whitebordered {
		animation-name: borderopacity;
		animation-duration: 10s;
		animation-fill-mode: forwards;
		animation-timeline: view();
		animation-iteration-count: 1;
		animation-range-start: entry;
		animation-range-end: contain 80%;
		border-width: 1px;
		border-style: solid;
		border-color: rgba(255, 255, 255, 0);
	}
}
@keyframes borderopacity {
	0% { border-color: rgba(255, 255, 255, 0); }
	100%{ border-color: rgba(255, 255, 255, 1); }
}

.house { color: #4a759b !important; }
.light { color: #91a7c4 !important; }
.grey { color: #797978 !important; }
.white { color: #ffffff !important; }
.black { color: #000000 !important;; }

.housebg { background: #4a759b; }
.lightbg { background: #91a7c4; }
.greybg { background: #797978; }
.whitebg { background: #ffffff; }
.blackbg { background: #000000; }

#masthead { border-bottom: 1px solid #d9dbde; padding-bottom: 0; }
#mobile-header-primary { float: right; }

h1,h2,h3,h4,h5,h6,p,ul,ol,li,div { font-family: Outfit, sans-serif !important; font-weight: 150; margin: 0; }
h1,h2,h3 { font-weight: 180 !important; }
h4,h5,h6 { font-weight: 400 !important; }

.hentry { margin: 0; }

.entry-meta { padding: 75px 0 0 0; }
.entry-meta a { color: #797978 !important; }

.byline, .author.vcard, .author-block { display: none; }

.entry-title { margin-top: 6px !important; }

.content-area .page .entry-content p, p { margin: 1.3em 0; }
.content-area .page .entry-content ul, ul, .content-area .page .entry-content ol, ol { margin-inline-start: 25px; margin: 0 0 0.5em 3em;}
.content-area .page .entry-content ul li, ul li, .content-area .page .entry-content ol li, ol li { margin: 1em 0;}

ul#primary-menu li { margin: 0; }

p:empty { display: none; }

h1 { font-size: clamp(36px, 5vw + 1rem, 60px) !important; line-height: 1.1em !important; font-weight: 100 !important; color: #797979 !important; margin: 0.5em 0 !important; }
h2 { font-size: clamp(34px, 4vw + 1rem, 55px) !important; line-height: 1.1em !important; font-weight: 100 !important; color: #797979 !important; margin: 0.5em 0 !important; }
h3 { font-size: clamp(30px, 3vw + 1rem, 48px) !important; line-height: 1.1em !important; font-weight: 100 !important; color: #797979 !important; margin: 0.5em 0 !important; }
h4 { font-size: clamp(28px, 2vw + 1rem, 36px) !important; line-height: 1.1em !important; font-weight: 100 !important; color: #797979 !important; margin: 0.5em 0 !important; }
h5 { font-size: clamp(24px, 1vw + 1rem, 30px) !important; line-height: 1.1em !important; font-weight: 100 !important; color: #797979 !important; margin: 0.5em 0 !important; }
h6 { font-size: clamp(20px, 1vw + 1rem, 26px) !important; line-height: 1.1em !important; font-weight: 100 !important; color: #797979 !important; margin: 0.5em 0 !important; }

h1.house, h2.house, h3.house, h4.house, h5.house, h6.house, p.house { color: #4a759b !important; }
.house h1, .house h2, .house h3, .house h4, .house h5, .house h6, .house p { color: #4a759b !important; }
.whitebg h1, .whitebg h2, .whitebg h3, .whitebg h4, .whitebg h5, .whitebg h6, .whitebg p { color: #4a759b !important; }

h1.white, h2.white, h3.white, h4.white, h5.white, h6.white, p.white { color: #ffffff !important; }
.white h1, .white h2, .white h3, .white h4, .white h5, .white h6, .white p { color: #ffffff !important; }
.housebg h1, .housebg h2, .housebg h3, .housebg h4, .housebg h5 , .housebg h6, .housebg p { color: #ffffff !important; }
.greybg h1, .greybg h2, .greybg h3, .greybg h4, .greybg h5 , .greybg h6, .greybg p { color: #ffffff !important; }

a:link {
    color: #4a759b;
    text-decoration: none;
}

a:visited,
a:hover,
a:active {
    color: #91a7c4;
    text-decoration: none;
}

.row { margin: 0; padding: 0; }

.container { width: 100%; max-width: 1280px !important; margin: 0 auto !important; padding: 0; box-sizing: border-box; }
.containernarrow { width: 100%; max-width: 600px !important; margin: 0 auto !important; padding: 0; box-sizing: border-box; }
.containermedium { width: 100%; max-width: 800px !important; margin: 0 auto !important; padding: 0; box-sizing: border-box; }
.containerwider { width: 100%; max-width: 1000px !important; margin: 0 auto !important; padding: 0; box-sizing: border-box; }
.containerwide { width: 100%; max-width: 1380px !important; margin: 0 auto !important; padding: 0; box-sizing: border-box; }

.entry-header { display: none; }

.entry-content, .entry-summary { margin: 0 !important; }
.entry-content a:link, .entry-summary a:link, .page-content a:link, .comment-content a:link, .widget .textwidget a:link,
.entry-content a:visited, .entry-summary a:visited, .page-content a:visited, .comment-content a:visited, .widget .textwidget a:visited,
.entry-content a:active, .entry-summary a:active, .page-content a:active, .comment-content a:active, .widget .textwidget a:active
 {
    color: #4a759b;
    text-decoration: none;
}

.entry-content a:hover, .entry-summary a:hover, .page-content a:hover, .comment-content a:hover, .widget .textwidget a:hover {
    color: #91a7c4;
    text-decoration: none;
}

.site-header .container, .mobile-site-header .container { width: 100%; max-width: 1380px !important; padding: 0 10px !important; margin: 0 auto !important; box-sizing: border-box; position: relative; }

.site-header {
        display: none; 	/* always use .mobile-site-header */
}
.mobile-site-header { padding: 0; background: transparent; 
	display: block;	/* always use .mobile-site-header */
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	height: 100px;
	z-index: 999;
}

.mobile-site-header:after {
	content: '';
	display: block;
	width: 100%;
    line-height: 0;
	height: 1px;
	background: linear-gradient(to left, transparent 50%, #ffffff 50%) right;
    background-size: 200%;
    transition: 5s ease-out;
}
		
.site-branding, .mobile-site-branding { float: none; text-align: center; margin: 0 auto; width: 100%; height: 100px; max-width: 330px; box-sizing: border-box; }
.site-branding img, .mobile-site-branding img { width: 100%; margin-top: 10px; }

.header-right { float: none; text-align: center;}

.header-right .site-title {
    margin: 0;
    font-size: 30px;
    font-weight: 600;
	display: none;
}
.header-right .site-title a {
    color: #4a759b;
	display: none; 
}
.header-right .site-title a:hover {
    text-decoration: none;
}
.header-right .site-description {
    margin: 9px 0;
    font-size: 16px;
    line-height: 20px;
    color: #91a7c4;
    letter-spacing: 0.03em;
	display: none; 
}

.mobile-site-title, .mobile-site-description { display: none; }

/* moved mobile menu styles: */
	.mobile-menu-opener {
        width: 60px;
        height: 60px;
        border: 1px solid transparent;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: column;
        padding: 9px;
        cursor: pointer;
        position: absolute;
        top: 50%;
        right: 10px;
        z-index: 20;
		transform: translateY(-50%);
        background: transparent;
    }

	.mobile-menu-opener span {
		display: block;
		width: 100%;
		height: 1px;
		background: #ffffff;
		border: 0 none;
	}

	.mobile-menu-opener:hover { border: 1px solid #ffffff; }

    .mobile-menu {
        position: absolute;
        top: 100px;
        right: 0;
        width: 320px;
        max-width: 100%;
        height: 200vh;
        z-index: 10;
    /*  background: rgba(145, 167, 196, .95); */
        background: rgba(255, 255, 255, .85);
        padding-top: 0;
        display: none;
		border-top: 1px solid #ffffff;
    }
	
	.mobile-main-navigation {
		width: 100%;
	/*	border-top: 1px solid #ffffff; */
	}

    .mobile-main-navigation ul {
        margin: 0;
        padding: 0;
        list-style: none;
        width: 320px;
    }

    .mobile-main-navigation ul li {
        position: relative;
    }

    .mobile-main-navigation ul li a {
        display: block;
        padding: 10px 20px;
		color: #000000;
		border-top: 0 none;
		border-bottom: 1px solid #000000;
        -webkit-transition: ease 0.2s;
        -moz-transition: ease 0.2s;
        transition: ease 0.2s;
    }

    .mobile-main-navigation ul li a:hover,
    .mobile-main-navigation ul li a:focus {
        text-decoration: none;
        color: #000000; /* was #f4b400*/
    }

    .mobile-main-navigation ul ul {
        display: none;
    }

    .mobile-main-navigation ul li .angle-down {
        position: absolute;
        top: 0;
        right: 0;
        width: 47px;
        height: 47px;
		box-shadow: none !important;
		border: 0 none !important;
		background-color: transparent !important;
        cursor: pointer;
        -webkit-transition: ease 0.2s;
        -moz-transition: ease 0.2s;
        transition: ease 0.2s;
    }

    .mobile-main-navigation ul li .angle-down.active {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .mobile-main-navigation ul li .angle-down:after {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 25px;
        content: '';
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

	.mobile-main-navigation ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

	.mobile-main-navigation ul li:hover {
		background: #ffffff; /* was #4a759b*/
	}

	.mobile-main-navigation ul li:hover>a {
		color: #000000; /* was #ffffff*/
	}

	.mobile-main-navigation ul li a:hover, .mobile-main-navigation ul li a:focus, .mobile-main-navigation ul li a:active {
		color: #000000; /* was #ffffff */
		text-decoration: none;
	}

	.mobile-main-navigation ul li .angle-down {
        border-left: 0 none;
        border-bottom: 0 none;
		color: #000000 !important;
		outline: 0 none !important;
    }
	.mobile-main-navigation ul li .angle-down:after {
		background: url('images/angle-down-black.png');
		background-size: contain;
	}
	.mobile-main-navigation ul li .angle-down.active {
		color: #000000 !important; /* was #ffffff !important*/
		outline: 0 none !important;
    }
	.mobile-main-navigation ul li .angle-down.active:after {
		background: url('images/angle-down-black.png');
		background-size: contain;
	}

    .mobile-main-navigation ul li .angle-down:focus {
        outline: 1px dotted #f4b400;
    }

/* /moved mobile menu styles */

.main-navigation {
    flex-basis: auto;
	flex-grow: 0;
	display: none; /* always use mobile menu */
/*	margin-right: 40px; */
}

.main-navigation ul li {
	font-size: 18.5px;
	font-weight: 300;
    padding-bottom: 9px;
	margin: 0 40px 0 0;
}

.main-navigation ul li a, .main-navigation ul li > a {
    border-bottom: 1px solid transparent;
}
.main-navigation ul li a:hover, .main-navigation ul li:hover > a {
    padding: 0 0 0 0;
}

.main-navigation ul ul,
.main-navigation ul ul li {
	font-size: 16px;
	padding: 0;
}

.main-navigation ul li a {
    color: #4a759b;
}
.main-navigation ul li a:hover {
    color: #000000;
}

.main-navigation ul>li a,
.main-navigation ul>li a:visited,
.main-navigation ul>li a:active
{
    color: #ffffff;
}
.main-navigation ul>li a:hover {
    color: #000000;
}

.main-navigation ul>li.current-menu-item>a {
    color: #ffffff;
}

.main-navigation ul li ul li a,
.main-navigation ul li ul li a:visited,
.main-navigation ul li ul li a:active
{
    color: #4a759b;
}
.main-navigation ul li ul li a:hover {
    color: #000000;
}

.main-navigation ul li ul li.current-menu-item>a {
    color: #4a759b !important;
}

.header-no-media {
	width: 100%;
	height: 100px;
	background: #91a7c4;
}

.overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(to bottom, rgba(0,0,0,0%) 0%, rgba(0,0,0,33%) 100%) !important;
}

.header-media {
	width: 100%;
	max-height: 100vh;
	overflow: hidden;
	position: relative;
	box-sizing: border-box;
	aspect-ratio: 16/9;
	background: #91a7c4;
}

.header-media video,
.header-media img  {
	display: block;
	width: 100%;
	padding-bottom: 0 !important;
}

.header-media .overlay {
	background: linear-gradient(to bottom, rgba(0,0,0,0%) 0%, rgba(0,0,0,66%) 100%) !important;
}

.header-media .caption {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: 75px;
	transform: translate(-50%,-50%);
	background: transparent;
	z-index: 3;
	width: 100%;
	max-width: 1380px;
	padding: 25px;
	box-sizing: border-box;
}

.wp-singular .header-media .caption h1{
	max-width: 1200px;
}
.header-media .scrolldown {
	position: absolute;
	bottom: 20px;
	left: 50%;
}
.header-media .scrolldown a {
	color: #ffffff !important;
}
.header-media .caption h1, 
.header-media .caption h2 { font-size: 70px !important; line-height: 1em !important; font-weight: 100 !important; color: #ffffff !important; margin: 0 !important; }
.header-media .caption p { font-size: 24px !important; font-weight: 100 !important; color: #ffffff !important; margin: 0.75em 0 0 0 !important; max-width: 1000px; }
.header-media .caption .button { color: #ffffff; background: rgba(0,0,0,33%) !important; font-size: 17px; font-weight: 100; text-align: center; border: 2px solid #ffffff; border-radius: 0; padding: 8px 45px; line-height: 1em; letter-spacing: 0.1rem; margin-top: 50px; }
.header-media .caption .button:hover { background: #000000; }

.connect-icons { display: none; font-size: 1.2em; }
.connect-icons a { color: #ffffff !important; }

.site-content {
    margin-top: 135px;
	border-top: 0 none;
	padding-bottom: 0;
}

.site-footer {
    background: #4a759b; /* was #91a7c4 */
    padding: 0;
    color: #ffffff;
	font-weight: 200 !important;
}

.site-footer a:link,
.site-footer a:visited,
.site-footer a:active {
    color: #ffffff;
}
.site-footer a:hover {
    color: #ffffff;
	text-decoration: underline;
}

.site-footer .footer-t {
    border-bottom: 0 none;
    padding-bottom: 0;
}

.footer-t .widget p, .companyinfo p, .sticky-banner p {
    margin: 9px 0;
}	
.footer-t .widget ul, .companyinfo ul, .sticky-banner ul {
    list-style: none;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    color: inherit;
    margin: 9px 0;
    padding: 0;
}

.footer-logos { border-top: 1px solid #91a7c4; padding: 9px; box-sizing: border-box; }
.footer-logos h6 { margin: 9px auto; }
.footer-logos img { margin: 9px; }

.companyinfo ul li, .sticky-banner ul li {
    display: inline;
}

.dashicons { transform: translateY(15%); }

.button,
.button-house,
.button-large,
.wpcf7-submit,
.nav-previous a,
.nav-next a {
	color: #ffffff !important;
	background: transparent !important;
	display:inline-block;
	font-size: 18px;
	font-weight: 100;
	text-align: center;
	border: 2px solid #ffffff;
	border-radius: 0 !important;
	margin: 0;
	padding: 15px 50px;
	line-height: 1.1em;
	cursor: pointer;
	text-decoration: none !important;
	appearance: none;
}
.button:hover,
.button-house:hover,
.button-large:hover,
.wpcf7-submit:hover,
.nav-previous a:hover,
.nav-next a:hover  {
	color: #ffffff !important;
	background: #000000 !important;
	text-decoration: none !important;
}
.button-large {
	font-size: 26px !important;
}

.button-house,
.button-house-large,
.nav-previous a,
.nav-next a {
	background: #4a759b !important;
}

.wpcf7-submit {
	color: #ffffff !important;
	background: #4a759b !important;
	font-size: 26px !important;
	font-weight: 100 !important;
	border-radius: 0 !important;
	padding: 15px 50px !important;
	line-height: 1.1em !important;
	cursor: pointer;
	text-decoration: none !important;
	appearance: none;
	width: auto !important;
	height: auto !important;
}

/*
.nav-previous a, .nav-next a {
	line-height: 18px !important;
	font-size: 0 !important;
}
.nav-previous a:after { content: '‹ Previous'; font-size:18px; }
.nav-next a:after { content: 'Next ›'; font-size:18px; }
*/

#primary .post-thumbnail { display: none; }

.banner  {
    margin-top: 0;
	border-top: 0 none;
}

.banner-text {
	z-index: unset;
	bottom: 20% !important;
}

.banner-text .text .title {
	background: rgba(0,0,0,0.5); font-family: Outfit, sans-serif; padding-right: 15px; padding-left: 15px;
}
.banner-text .text .btn-more {
	background: #4a759b;
	color: #ffffff;
	font-weight: 200;
}
.banner-text .text .btn-more:hover {
    background: #ffffff;
	color: #4a759b;
}

.banner .owl-theme .owl-dots .owl-dot.active span, .banner .owl-theme .owl-dots .owl-dot:hover span {
    border-color: #4a759b;
    background: #4a759b;
}

.wpcf7-form textarea {
    height: auto;
    resize: both;
}

span.wpcf7-list-item {
	margin: 0;
}

.region-tags { font-weight: 200 !important; color: #797978 !important; text-transform: uppercase; }

input[type="checkbox"] {width: 26px; height: 26px; padding: 6px 3px; border: 1px solid #a5a5a5; border-radius: 6px; vertical-align: middle;}
.smalltextbox { padding: 3px !important; max-width: 75px !important; }

.cf7sr-g-recaptcha { margin-left: 25px; }

.content-area .post .entry-content .highlight,
.content-area .page .entry-content .highlight {
    color: #ffffff;
    background: #4a759b;
}

.videowrapper {
	position: relative !important;
	padding-bottom: 56.25%; 	/* 16:9 */
	padding-top: 0;
	height: 0;
}
.videowrapper > iframe
{
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	overflow: auto !important;
}

.companyinfo {}

.copyright {
    background: #000000;
    color: #ffffff;
    padding: 16px 36px 16px 0;
}

.copyright a, .copyright a:active, .copyright a:visited {
    color: #ffffff !important;
}

.copyright a:hover {
    color: #ffffff !important;
	text-decoration: underline;
}

.scrollup {
	right: 23px;
}

.content-area .post .entry-content blockquote, 
.content-area .page .entry-content blockquote {
    margin: 1.5em 0 1.5em 25px;
	font-size: 1.4em;
    line-height: 1.4em;
    color: #ffffff;
	background: #4a759b;
    border-left: 60px solid #4a759b;
    border-right: 40px solid #91a7c4;
    padding: 40px 50px 40px 25px;
    position: relative;
	font-style: normal;
}

.content-area .post .entry-content blockquote:after, 
.content-area .page .entry-content blockquote:after {
    background: url(images/bg-quote.png) no-repeat;
}

blockquote:before, blockquote:after, q:before, q:after {
	margin-top: 40px;
	margin-left: 30px;
	content: unset;
}

.relative { position: relative; }

.uppercase { text-transform: uppercase; }
.hidden { display: none !important; }

.floatleft {float: left; margin: 0;}
.floatright {float: right; margin: 0;}
.floatleftimg {float: left; margin: 0 10px 10px 0;}
.floatrightimg {float: right; margin: 0 0 10px 10px;}
.no-wrap-text {overflow: hidden;}
.leftalign {text-align: left;}
.rightalign {text-align: right;}
.centered {text-align: center; margin: 0 auto; }
.justified {text-align: justify; }

b, strong, .strong {font-weight: 300;}
	
.column-70 {width: 70%;}
.column-66 {width: 66.67%;}
.column-60 {width: 60%;}
.column-50 {width: 50%;}
.column-40 {width: 40%;}
.column-33 {width: 33.33%;}
.column-30 {width: 30%;}
.column-25 {width: 25%;}
.column-20 {width: 20%;}

.smallest {font-size: 0.75em;}
.smaller {font-size: 0.85em;}
.small {font-size: 0.9em;}
.large {font-size: 1.1em;}
.larger {font-size: 1.3em;}
.largest {font-size: 1.6em;}

.caption p { margin: 1em 0; line-height: 1.1em;}

.fullwidth { width: 100%; }
.tight {margin: 0 !important; padding: 0 !important; min-height: 0 !important; line-height: 1.1em;}
.tight p {margin: 0; padding: 0; line-height: 1.1em;}
.tight ul {margin: 0; padding: 0; line-height: 1.1em;}
.tight li {margin: 0; padding: 0; line-height: 1.1em;}
.tight a {margin: 0; padding: 0; line-height: 1.1em;}
.nowrap { white-space: nowrap; }
.clear {clear: both;}
.clearleft {clear: left;}
.separator {clear: both; height: 6px; min-height: 0 !important;}
.spacer {clear: both; height: 15px; min-height: 0 !important;}
.bigspacer {clear: both; height: 25px; min-height: 0 !important;}
.bigspace {clear: both; height: 50px; min-height: 0 !important;}
.spaced {margin: 5px;}
.bigspaced {margin: 25px;}
.rounded {border-radius: 4px;}
.radiused {border-radius: 8px;}
.curved {border-radius: 12px;}
.toppadded { padding-top: 50px; }
.padded {padding: 10px; box-sizing: border-box;}
.bigpadded {padding: 25px; box-sizing: border-box;}
.paddedpercent {padding: 15px 7.5% !important; box-sizing: border-box;}
.h-padded-10 { padding-left: 10%; padding-right: 10%; }
.h-padded-15 { padding-left: 15%; padding-right: 15%; }
.v-padded-15 { padding-top: 15px; padding-bottom: 15px; }
.v-padded-30 { padding-top: 30px; padding-bottom: 30px; }
.bordered {border: 1px solid #333333;}
.thickbordered { border: 2px solid #333333;}
.dashed {border: 1px dashed #333333;}
.indented {margin-left: 25px;}
.shaded {background: #E7EAF3;}
.shaded-dark {background: #f0f2f7;}
.shadowed { box-shadow: 0 0 10px rgba(0,0,0,0.2); }
.text-shadowed { text-shadow: 3px 3px 4px rgba(59, 59, 59, 1); }

img.grayscale { filter: grayscale(0); }

.vmiddle { vertical-align: middle; }
.flex-grid .col.vmiddle { align-items: center; }
.flexbox div.vmiddle { align-items: center; }
.flexbox div.vmiddle>div{ display: flex; flex: 1 1 auto; align-items: center; }

.block { display: block; }
.inline { display: inline; }
.inline-block { display: inline-block; }

.overlayed { position: absolute; z-index: 2; top: 0; left: 0; }
.overlayed.bottom { top: unset; bottom: 0; }
.overlayed.right { left: unset; right: 0; }
.overlayed.center { top: 50%; left: 50%; transform: translate(-50%,-50%); }

ul.shawfield li, li.shawfield { list-style-type: none; background: url('images/shawfield_and_sloane_device_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }

li.pdf { list-style-type: none; background: url('images/pdf_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.ppt { list-style-type: none; background: url('images/ppt_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.doc { list-style-type: none; background: url('images/doc_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.xls { list-style-type: none; background: url('images/xls_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.web { list-style-type: none; background: url('images/web_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.img { list-style-type: none; background: url('images/img_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.email { list-style-type: none; background: url('images/email_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.facebook { list-style-type: none; background: url('images/facebook_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.linkedin { list-style-type: none; background: url('images/linkedin_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.instagram { list-style-type: none; background: url('images/instagram_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.x, li.twitter { list-style-type: none; background: url('images/x_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
li.youtube { list-style-type: none; background: url('images/youtube_38.png') 0 0 no-repeat; padding: 12px 0 12px 40px; margin: 0; }
ul.nobull { margin: 0 !important; }
ul.nobull li, li.nobull {list-style: none; padding: 5px 0 5px 0; margin: 0; }
ul.shawfield li a, li.shawfield a, li.pdf a, li.ppt a, li.doc a, li.xls a, li.web a, li.img a, li.email a, li.facebook a, li.youtube a, li.nobull a {display: block;}

.square-box {aspect-ratio: 1/1;}
.portrait-box {aspect-ratio: 2/3;}
.sideways-box {aspect-ratio: 4/3;}
.landscape-box {aspect-ratio: 6/4;}
.selfie-box {aspect-ratio: 9/16;}
.movie-box {aspect-ratio: 16/9;}

.vertically-centered { display: flex; flex-direction: column; justify-content: space-around; }

	#sets_apart .flexbox-item-2 { line-height: 1.1em; }

	#specialist_search>h2  { margin-top: 60px !important; margin-bottom: 10px !important; }
	#specialist_search>p { margin-top: 0 !important; margin-bottom: 30px !important; letter-spacing: 0.1rem; }
	
	#specialist_search .flexbox h3 { margin: 1.5em 0 !important; font-size: 22px !important; line-height: 1.5em !important; }
	#specialist_search .flexbox-cta p { line-height: 1.5em !important; }

	#process ul { }
	#process>h2 { margin-top: 60px !important; margin-bottom: 10px !important; }
	#process>p { margin-top: 0 !important; margin-bottom: 60px !important; letter-spacing: 0.1rem; }

	#trusted_by { min-height: 500px; }
	#trusted_by .overlayed.caption { padding-top: 150px; }

	.process-item h6 { font-size: 22px !important; }
	.process-item p { font-size: 20px !important; line-height: 1.3em !important; }

	.process-item { width: 25%; float: left; box-sizing: border-box; }

	.process-progress { overflow: hidden; height: 32px; background: transparent url('/images/process_bar_future.png') center left no-repeat; }
	.process-progress.start {background: transparent url('/images/process_bar_future.png') center center no-repeat; }
	.process-progress.end { background: transparent url('/images/process_bar_future.png') center center no-repeat; }
	.process-icon { width: 26px; height: 32px; margin: 0; background: transparent url('/images/process_icon_future.png') center center no-repeat; transform: translateX(-1px);}
	
	.process-item.current { color: #ffffff; }

	.process-item:hover { color: #eeeeee; cursor: col-resize; }
	.process-item:hover .process-icon, .process-item.current .process-icon { background: transparent url('/images/process_icon_past.png') center left no-repeat; }
	.process-item:hover .process-progress, .process-item.current .process-progress { background: transparent url('/images/process_bar_past.png') center center no-repeat; }
	.process-item:hover .process-progress.start, .process-item.current .process-progress.start { background: transparent url('/images/process_bar_past.png') center center no-repeat; }
	.process-item:hover .process-progress.end, .process-item.current .process-progress.end { background: transparent url('/images/process_bar_past.png') center center no-repeat; }
	
	.process-item.past { color: #ffffff; }
	.process-item.past .process-icon { background: transparent url('/images/process_icon_past.png') center left no-repeat; }
	.process-item.past .process-progress { background: transparent url('/images/process_bar_past.png') center center no-repeat; }
	.process-item.past .process-progress.start { background: transparent url('/images/process_bar_past.png') center center no-repeat; }
	.process-item.past .process-progress.end { background: transparent url('/images/process_bar_past.png') center center no-repeat; }

	@media only screen and (max-width: 991px) {
		#process ul, #process-note { margin: 25px 0 0 10% !important; }
		.process-item { position: relative; width: 90%; max-width: 550px; float: none; padding: 0 0 0 32px; margin: 0 auto; }
		.process-progress { position: absolute; left: -220px; top: 50%; min-width: 400px; background: transparent url('/images/process_bar_future.png') center center no-repeat; transform: rotate(90deg); }
	}

.flex-grid {
	display: flex;
    flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
}

.flex-grid .col {
	display: flex;
	flex: 1 1 auto;
	width: 100%;
	box-sizing: border-box;
}

.flexbox
{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
	flex-direction: row;
	align-items: stretch;
    justify-content: space-between;
	row-gap: 25px;
	column-gap: 5%;
	margin: 0 auto;
}

.justify-center { justify-content: center; }
.items-centered { flex-direction: row !important; align-items: center !important; }

.flexbox h2 { padding: 0; margin: 0.75em 1.5em !important; text-align: center; font-size: 1.6em !important; }
.flexbox h3 { padding: 0; margin: 0.75em 1.5em !important; text-align: center; font-size: 1.45em !important; }
.flexbox h4 { padding: 0; margin: 0.75em 1.5em !important; text-align: center; font-size: 1.3em !important; }
.flexbox h5 { padding: 0; margin: 0.75em 1.5em !important; text-align: center; font-size: 1.15em !important; }
.flexbox ul, .flexbox ol { text-align: left !important; }
.flexbox img { border-radius: 0 !important; }

.flexbox-item,
.flexbox-item-2,
.flexbox-item-3,
.flexbox-item-4
{
	display: flex;
	flex: 1 1 47%;
	flex-direction: column;
	align-items: stretch;
	box-sizing: border-box;
}

.flexbox-item {
	flex: 1 1 auto;
}

.flexbox-item-3
{
	flex: 1 1 100%;
}
.flexbox-item-2,
.flexbox-item-4
{
	flex: 1 1 100%;
	flex: 1 1 47%;
}

.flexbox-cta {
	display: flex; /* set the context */
	flex: 1; /* flex an equal amount of space */
	align-items: flex-end; /* pin to bottom */
}
.flexbox-cta div { margin: 0 auto; }

.date-box { position: absolute; top: 0; right: 0; width: 80px; margin: 0; display: block !important; text-align: center; padding: 10px 20px; box-sizing: border-box; background: linear-gradient(90deg, #7d7d7d 0%, #fefefe 50%, #7d7d7d 100%); }
.date-box span { font-size: 0.7em; line-height: 1em; display: block; color: #000000; font-weight: 300; text-transform: uppercase; }
.date-box span:nth-child(2) { font-size: 1.1em;  }

img.fillwidth { width: 100%; }

.detail, .hidedetail { display: none; }

.notmediumscreen { display: inline-block; }

.large-screen-static { position: relative !important;}
.large-screen-relative { position: static !important;}

#jamieson-bio {
	min-height: 700px; 
	background-image: url('/wp-content/uploads/2026/03/Jamieson_1366x765.avif'); 
	background-position: right top; 
	background-repeat: no-repeat; 
	background-size: cover;
	background-color: #8F8F8F;
}

#emma-bio {
	min-height: 700px; 
	background-image: url('/wp-content/uploads/2026/03/Emma_1366x765.avif'); 
	background-position: left top; 
	background-repeat: no-repeat; 
	background-size: cover;
	background-color: #919191;
}

@media only screen and (max-width: 1200px)
{
	.header-media .caption h1, .header-media .caption h2 { font-size: 55px !important; }
}

@media only screen and (max-width: 991px)
{
	/* mobile menu styles were here */

	.header-media .caption { margin-top: 30px; }	
	.header-media .caption h1, .header-media .caption h2 { font-size: 42px !important; }
	.header-media .caption .button { margin-top: 0; }

	.container { padding: 0 2%; }
	
	.flexbox .square-box, .flexbox .portrait-box, .flexbox .selfie-box { aspect-ratio: auto; }
	.flex-grid .square-box, .flex-grid .portrait-box, .flex-grid .selfie-box { aspect-ratio: auto; }

/*	.site-header { position: static; } */
	.banner .owl-theme .owl-dots { bottom: 0;}

	.smallscreen { display: block; }
	.notsmallscreen { display: none; }
	
	.container, .containerwide { width: 100%; margin: 0 auto !important; box-sizing: border-box; }
	.home .site-content>.container { width: 100%; }

	.column-70 { width: 100%; float: none; clear: both; }
	.column-66 { width: 100%; float: none; clear: both; }
	.column-60 { width: 100%; float: none; clear: both; }
	.column-50 { width: 100%; float: none; clear: both; }
	.column-40 { width: 100%; float: none; clear: both; }
	.column-33 { width: 100%; float: none; clear: both; }
	.column-30 { width: 100%; float: none; clear: both; }
	.column-25 { width: 100%; float: none; clear: both; }
	.column-20 { width: 100%; float: none; clear: both; }

	#jamieson-bio { background-size: contain !important; }
	#emma-bio { background-size: contain !important; }

	#jamieson-bio .column-40 { padding: 60% 2% 2% 2% !important; margin-bottom: 2%; }
	#emma-bio .column-40 { padding: 60% 2% 2% 2% !important; margin-bottom: 2%; }
	/* background: linear-gradient(to bottom, rgba(0,0,0,0%) 25%, rgba(0,0,0,66%) 100%); border-radius: 15px; */

	.paddedpercent { padding: 0; }	

	.fm-label { color: transparent !important; background: transparent !important; width: 0 !important; max-width: 0 !important; min-width: 0 !important; height: 0 !important; max-height: 0 !important; min-height: 0 !important; }
}

@media only screen and (max-width: 767px)
{
	.header-media .caption h1, .header-media .caption h2 { font-size: 28px !important; }
	.header-media .caption p.strap { font-size: 18px; }
	.header-media .caption .button { font-size: 14px; padding: 3px 18px; border: 1px solid #ffffff; }

	.notmediumscreen { display: none; }

	.banner-text .text .title { display: block; }

	.floatleftimg {float: none; margin: 10px;}
	.floatrightimg {float: none; margin: 10px;}
}

@media only screen and (max-width: 600px) {
	.header-media .caption { padding: 10px; }
	.header-media .caption h1, .header-media .caption h2 { font-size: 20px !important; }
	.header-media .caption p.strap { display: none; }
	.header-media .caption p.region-tag { display: block; font-size: 18px !important; }
	.mobile-site-branding { margin: 0; padding-right: 65px; }

	#jamieson-bio {
		background-position: right top;
		background-size: 100%;
	}
	#emma-bio {
		background-position: left top;
		background-size: 100%;
	}
	#jamieson-bio .column-40 { padding: 60% 0 0 0 !important; background: transparent; }
	#emma-bio .column-40 { padding: 60% 0 0 0 !important; background: transparent; }
}

@media only screen and (max-width: 430px)
{
	.header-media .caption { margin-top: 30px; }

	.mobile-site-header, .mobile-site-branding, .header-no-media { height: 80px; }
	.mobile-menu { top: 80px; }

	.banner-text .text .title {
		display: block;
		padding: 9px;
		font-size: 16px;
		line-height: 18px;
		margin: 0 0 9px
	}
	.banner-text .text .btn-more { line-height: 28px; padding: 5px; }
}

@media only screen and (min-width: 600px)
{
	.in-page-navigation ul li { width: 50%; }
	.connect-icons { position: absolute; top: -80px; right: 10px; display: inline-block; z-index: 5; }
}

@media only screen and (min-width: 700px)
{
	.home .metaslider .caption-wrap .caption { padding: 15px 2% !important; }
	.home .metaslider .caption .caption-heading { display: inline; }
	.home .metaslider .caption p { margin: 15px 0 !important; }
}

@media screen and (min-width: 800px)
{

	.flex-grid.row-reverse {
		flex-direction: row-reverse;
	}
	.flex-grid .col.half,
	.flex-grid .col.quarter,
	.flex-grid .col.fifth 
	{
		width: 50%;
	}

	.flex-grid .col.third {
		width: 33.33%;
	}
	.flex-grid .col.two-third {
		width: 66.66%;
	}

	.flex-grid .col.thirty {
		width: 30%;
	}
	.flex-grid .col.seventy {
		width: 70%;
	}

	.flex-grid .col.fourty {
		width: 40%;
	}
	.flex-grid .col.sixty {
		width: 60%;
	}

	.large-screen-floatright { float: right; }

	.formfield {clear: both; margin: 5px 0;}
	.formlabel {width: 30% !important; text-align: left !important; margin-right: 10px; }
	.formlabelwide {width: 50% !important; margin-right: 10px; }

	input[type="text"],
	input[type="tel"],	
	input[type="email"],
	input[type="password"],
	textarea { width: auto !important; }

	.in-page-navigation ul li { float: none; width: auto; display: table-cell; }
}

@media only screen and (min-width: 992px)
{
	#why_boutique ul { margin-left: 100px !important; }

	.site-branding { float: left; text-align: left; flex-basis: 0; flex-grow: 1; }
	.site-branding img { max-width: 300px; }
	.header-right { float: right; text-align: right; }

	.flexbox-item-3
	{
		flex: 1 1 25%;
	}

	.two-columns, .three-columns { columns: 2; }

	.site-header { background: rgba(74,117,155,0.9); border-bottom: 0 none; }

	.home #metaslider-id-41,
	.home #metaslider-id-755	{
		width: 100vw !important;
		height: 100vh !important;
		background: #ffffff;
	}
	.home #metaslider_container_41 img, 
	.home #metaslider_container_41 video, 
	.home #metaslider_container_755 img, 
	.home #metaslider_container_755 video,
	.home .ms-local-video	{
		object-fit: cover;
		height: 100vh !important;
		border-radius: 0;
	}
	.local-video { padding-bottom: 0 !important; }

	.content-area .post .entry-content blockquote, 
	.content-area .page .entry-content blockquote {
		margin: 1.5em 0 1.5em 65px;
	}

	.home #welcome { padding: 50px 0; }
	.home #sectors { padding: 135px 0; }
	.home #core { padding: 100px 0 75px 0; }
	.home #team { padding: 135px 0; }

}

@media only screen and (min-width: 1180px)
{
	.flex-grid .col.quarter {
	  width: 25%;
	}
	.flex-grid .col.fifth {
	  width: 20%;
	}

	.flexbox.flex4
	{
		column-gap: 0.5%;
	}

	.flexbox-item-4
	{
		flex: 1 1 20.5%;
	}
}

@media only screen and (min-width: 1200px)
{

	.region-tags { text-align: right; transform: translateY(-2.1em); margin: 0 !important; }

	#trusted_by { min-height: 750px; }

	#jamieson-bio .column-40 { padding: 15px 7.5% 15px 7.5%; }
	#emma-bio .column-40 { text-align: justify; padding: 15px 7.5% 15px 7.5%; }
}

@media only screen and (min-width: 1380px)
{
	.mobile-menu {
		width: calc(320px + calc( calc(100vw - 1395px) / 2) );
    }
	.mobile-main-navigation ul {
		margin-right: calc( calc(100vw - 1395px) / 2);
	}

	.three-columns { columns: 3; }
	
	#jamieson-bio { background-image: url('/wp-content/uploads/2026/04/Jamieson_1800x768.avif'); }
	#jamieson-bio .column-40 { padding: 15px 7.5% 15px 0; }
	#emma-bio .column-40 { padding: 15px 0 15px 7.5%; }
}

@media print { 
	/* all print styles go here */
	
	.animate-on-scroll, h2 { transform: translateY(0); opacity: 1; }
	.whitebordered { border-color: rgba(255, 255, 255, 1); }

	body { background: #ffffff; padding: 0; }

	#header-left-section, #header-logo-image, #header-text { float: none; margin: 0; width: 100%; text-align: center; }
	#site-navigation { display: none; }

	.site-branding, .header-left, .header-right { display: block; float: none; width: 100%; text-align: center; }
	.site-branding img, .header-left img { margin: 0 auto; text-align: center; }
	
	#main-navigation, .banner, .videocontainer, .header-media, .scrolldown, .scrollup, #contactform { display: none !important; }
	
	.site-content { margin-top: 0 !important; }
	
	.flexbox, .flexbox-item, .flexbox-item-2, .flexbox-wide-item-2, .flexbox-item-3, .flexbox-item-4, 
	.flex-grid, .flex-grid .col { width: 100%; display: block; !important; }

	#primary { width: 100%; }
	#secondary { display: none !important; }

	.noprint { display: none !important; }
	.column-70,
	.column-66,
	.column-60,
	.column-50,
	.column-40,
	.column-33,
	.column-30,
	.column-25,
	.column-20 {width: 100%; float: none !important;}
	.two-columns, .three-columns { columns: 1; }
	.details { display: block; }
	.closedetails { display: none; }

	.button,
	.button-large,
	form input[type="submit"] { display: none; }
	
	.in-page-navigation { display: none; }
	
	.footer-logos,
	.footer-widgets,
	#copyright-privacy,
	#copyright-sitemaps,
	#copyright-webmaster { display: none; }
}