/*!
Theme Name: Soho
Theme URI: https://roderickpughmarketing.com/
Author: Roderick Pugh Marketing
Author URI: https://roderickpughmarketing.com/
Description: Websites Made Smarter: Soho
Version: 6.2.2
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: soho
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

Soho is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

It also utilises Bootstrap (v5.0.1) and Font Awesome (v5.15.3)

/**
 * v6.2.2 Jul 2025
 * - bug fixes for PHP v8.1
 * v6.2.1 Apr 2025
 * - fixed page priority on the redux options
 * v6.2.0 Jul 2023
 * - fixed JS bug as teamModal is not on all pages
 * - fixed bug so that the accordions actually work ... and look ok
 * v6.1.1 Jun 2022
 * - book online btn now bigger
 * v6.1 Nov 2021
 * - Accommodates two locations
 * - Text logo
 * - Bootstrap upgraded to v5.1.3
 * - logos shortcode allows for incorrect (missing) image IDs
 * - card shortcode enhanced to add image
 * - allows SVGs to be uploaded
 * - no longer needs (or even wants) the Bootstrap 3 shortcodes plugin
 * - added blockquote css
 */

/**
 * Bootstrap
 */

.container {/*max-width: 1400px;*/}
[type="button"], [type="reset"], [type="submit"], button {-webkit-appearance:none;}
.btn {/*border-radius: 20px; border-width: 2px;*/}
.btn-group-lg > .btn, .btn-lg {/*border-radius: 30px; border-width: 3px;*/}
.btn-group-xl > .btn, .btn-xl {padding: .8rem 1.5rem; font-size: 1.45rem; border-radius: .4rem;}
img {max-width: 100%; height: auto;}
@media (min-width: 1550px){
	.navbar-expand-xl .navbar-nav .nav-link {/*padding-right: 20px; padding-left: 20px;*/}
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin-bottom: 1rem;}

/**
 * Alignments
 */

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.alignleft, img.alignright {max-width: 50%;}

/*--------------------------------------------------------------
## Header and top menu
--------------------------------------------------------------*/

/* Message Bar */
.messagebar-text-wrap {padding-top: 15px; padding-bottom: 15px;}
.messagebar-closer {position: absolute; right: 0; top: 0;}

.site-header-wrap {position:fixed; top:0; width:100%; z-index: 100;}
.site-header {padding-top: 10px; padding-bottom: 10px;}
.admin-bar .site-header-wrap {top:46px;}
@media (min-width: 782px){
	.admin-bar .site-header-wrap {top:32px;}
}

.topbar {height: auto; border-bottom: 1px solid transparent; margin-bottom: 5px;}
.shrink .topbar {display: none !important; border-bottom: none; margin-bottom: 0;}

.site-header a {text-decoration: none;}
.site-header .header-item {display: inline-block; border-right:1px solid transparent;}
.site-header .header-item:last-child {border:none;}

.header-icon {padding: 3px 5px;}

.topbar .phone-number, .topbar .findus-text-wrap {margin-right: 10px;}

.site-menu-col {position: fixed; top:0; left: -1000px; transition: left 0.5s;z-index:100; min-height: 1px; padding-right: 15px; padding-left: 15px; float:left; width:100%; max-width: 960px; opacity: 0.95; height: 100%;}
.admin-bar .site-menu-col {top: 46px;}
.site-menu-closer-wrap {text-align: right; font-size: 48px; padding-top: 15px;}
@media (min-width: 782px){
	.admin-bar .site-menu-col {top: 32px;}
}
@media (min-width:1201px){
	.site-menu-col {}
	.site-menu-closer-wrap {}
}
@media (min-width:1451px){
	.site-menu-col {}
	.shrink.two-locations .site-menu-col {}
	.shrink.one-location .site-menu-col {;}
}
@media (min-width:1686px){
	.site-menu-col {}
	.shrink.two-locations .site-menu-col {}
	.shrink.one-location .site-menu-col {}
}
.site-menu-col.onscreen {left:0;}

.site-trigger-col {position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; float:left; width:25%;}
.shrink .site-trigger-col {width:15%;}
.site-menu-trigger {font-size: 36px;}
.shrink .site-menu-trigger {font-size: 24px;}
@media (min-width:576px){
	.site-trigger-col {}
	.shrink .site-trigger-col {width:20%;}
	.shrink .site-menu-trigger {font-size: 30px;}
}
@media (min-width:768px){
	.site-trigger-col {width:33.33333333%}
	.shrink .site-trigger-col {width:33.33333333%;}
}
@media (min-width:992px){
	.site-trigger-col {}
	.shrink .site-trigger-col {}
}
@media (min-width:1200px){
	.site-trigger-col {}
}

/* the .site-logo-col column needs to adjust a lot depending on screen width and whether the header is scrolled or not */
.site-logo-col {position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; float:left; width:75%; text-align: right; }
.site-logo-col a {max-width: 400px; transition: all 0.5s;}
.site-logo-col img {width:auto; height:auto; max-width: 100%; max-height: 50px; transition: all 0.5s;}
.shrink .site-logo-col {width:40%; text-align: center;}
.shrink .site-logo-col a {max-width: 300px; max-height: 80px;}
.shrink .site-logo-col img {max-height: 30px;}
@media (min-width:576px){
	.site-logo-col {}
	.site-logo-col img {max-height: 80px;}
	.shrink .site-logo-col {}
	.shrink .site-logo-col a {}
	.shrink .site-logo-col img {max-height: 40px;}
}
@media (min-width: 768px){
	.site-logo-col {width:33.33333333%; text-align: center;}
	.shrink .site-logo-col {width:33.33333333%;}
}
@media (min-width: 992px){
	.site-logo-col {}
	.shrink .site-logo-col {}
	.shrink .site-logo-col img {max-height: 50px;}
}
@media (min-width: 1200px){
	.site-logo-col {}
	.shrink .site-logo-col {}
}
@media (min-width: 1451px){
	.site-logo-col {}
	.shrink .site-logo-col {}
}
@media (min-width: 1686px){
	.site-logo-col {}
	.shrink .site-logo-col {}
}
.site-header .navbar-brand {text-transform: uppercase; height: auto; padding: 0;}

.menubar-contacts-col {position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; float:left; width:45%; display:none; text-align: right;}
.shrink .menubar-contacts-col {display: block;}
@media (min-width:576px){
	.shrink .menubar-contacts-col {width:40%;}
}
@media (min-width:768px){
	.menubar-contacts-col {display: block; width:33.33333333%;}
	.shrink .menubar-contacts-col {width:33.33333333%;}
}
@media (min-width:992px){
	.shrink .menubar-contacts-col {}
}
@media (min-width: 1200px){
	.shrink .menubar-contacts-col {}
}
@media (min-width: 1451px){
	.shrink .menubar-contacts-col {}
	.shrink.two-locations .menubar-contacts-col {}
	.shrink.one-location .menubar-contacts-col {}
}
@media (min-width: 1686px){
	.shrink.two-locations .menubar-contacts-col {}
	.shrink.one-location .menubar-contacts-col {}
}

.header-icon-text {display: none;}
@media (min-width:576px){
	.topbar .header-icon-text {display: inline-block;}
}
@media (min-width:768px){}
@media (min-width:992px){
	.menubar .header-icon-text.header-action-text-wrap {display: inline-block;}
	.menubar .two-locs .header-icon-text.header-action-text-wrap {display: none;}
}
@media (min-width: 1200px){
	.menubar .one-loc .header-icon-text.phone-number {display: inline-block;}
	.menubar .two-locs .header-icon-text.header-action-text-wrap {display: inline-block;}
}
@media (min-width: 1400px){
	.menubar .header-icon-text.findus-text-wrap {display: inline-block;}
}
@media (min-width: 1686px){
	.menubar .two-locs .header-icon-text.phone-number {display: inline-block;}
	.menubar .two-locs .loc-one .header-icon-text {margin-right: 10px;}
	.menubar .two-locs .header-action-wrap {display: block;}
	.shrink .menubar .two-locs .header-action-wrap {display: inline-block;}
}

.site-menu .navbar {text-align: center; text-transform: uppercase; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.site-menu .navbar-nav {width: 100%;}
.site-menu .navbar-nav .menu-item {padding-top: 10px; padding-bottom: 10px;}
.site-menu .navbar-nav > .menu-item {border-bottom: 1px solid transparent;}
.site-menu .navbar-nav > .menu-item:last-child, .site-menu .navbar-nav > .menu-item.bold {border:none;}
.site-menu .navbar-nav .nav-link {padding-right: 30px; padding-left: 30px; transition:all 0.5s;}
.site-menu .dropdown-toggle::after {margin-left: 20px;}
.site-menu .dropdown-menu {border:none; text-align: center;}
.site-menu .navbar-nav .dropdown-menu .menu-item {padding-top: 0; padding-bottom: 0;}
.site-menu .dropdown-item:focus, .site-menu .dropdown-item:hover {background:none;}
.site-menu .bold .nav-link {font-weight: 700; border:none;}
.site-menu .extra-menu-item {padding-top: 0; padding-bottom: 15px;}
.extra-menu-item .phone-icon {margin-right: 15px;}

/* two locations */
@media (max-width:767px){
	.site-tel-dropdown-menu {transform: translate(-50%, 31px) !important;}
}
.site-tel-dropdown-item a:hover, .site-tel-dropdown-item a:focus, .site-tel-dropdown-item a:active {text-decoration:underline;}
.site-phones-wrap-lg .loc-one, .site-phones-wrap-lg .loc-two {display: inline-block;}

/**
 * Slides and featured images
 */

#home-slideshow-wrap {position: relative;}
#home-slideshow, .wp-post-image, .wp-post-map {}
.wp-post-image {position: relative;}
#home-slideshow .item-overlay, .wp-post-image .item-overlay {width: 100%; height: 100%;}
.full-screen .caption-container {width:auto; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; height: 100%; position: relative; max-width: 1400px;}
@media (min-width: 992px){
    .full-screen .caption-container {/*width:970px;*/}
}
@media (min-width: 1200px){
    .full-screen .caption-container {/*width:1170px;*/}
}
.caption-left .carousel-caption {}
@media (min-width: 768px){
    .caption-left .carousel-caption {left:20px; text-align: left; max-width: 50%; right: auto;}
    .caption-left .carousel-caption .caption-btn-wrap {text-align: right;}
    .full-screen .caption-left .carousel-caption {left: 0;}
}
#home-slideshow .carousel-caption, .wp-post-image .carousel-caption {padding-left:15px; padding-right: 15px; left:0; right:0; top:35%; bottom:auto;}
@media (min-width: 525px){
	#home-slideshow .carousel-caption, .wp-post-image .carousel-caption {top:35%;}
}
@media (min-width: 768px){
	#home-slideshow .carousel-caption, .wp-post-image .carousel-caption {top:40%;}
}
#home-slideshow .carousel-inner .item, .wp-post-image .item {background-repeat:no-repeat; background-position: center center; background-size: cover;}
.carousel-caption {/*text-shadow: 0 0 6px #000000;*/}
.carousel-indicators {bottom: -20px;}
.carousel-indicators li {margin: 1px 4px; box-shadow: 0 0 5px #000;}
.carousel-indicators .active {margin: 0 3px;}
.carousel.nocontrols .carousel-indicators {display: none;}
.carousel.nocontrols .carousel-control {display: none;}
.carousel-control.left, .carousel-control.right {background: none;}
.carousel-inner {/*padding-left: 11%; padding-right: 11%;*/}
.btn-feat {margin:3px;}
.feat-img-resp.parallax {background-attachment: fixed;}

/**
 * Sections
 */

.wms-sect-page-head {padding-top:75px;}
.wms-sect-page-head.no-hero {padding-top:200px;}
.wms-section-std, .wms-section-posts {padding-top: 50px; padding-bottom: 50px;}
.wms-section-left, .wms-section-right {padding-top: 50px; padding-bottom: 50px;}
.wms-section-wide-left .wms-section-content, .wms-section-wide-right .wms-section-content {padding-top: 50px; padding-bottom: 50px;}
.wms-section-wide {padding-top: 50px; padding-bottom: 50px;}
@media (min-width: 768px){
	.wms-section-std, .wms-section-posts {padding-top: 115px; padding-bottom: 70px;}
	.wms-section-left, .wms-section-right {padding-top: 150px; padding-bottom: 150px;}
	.wms-section-wide-left .wms-section-content, .wms-section-wide-right .wms-section-content {padding-top: 115px; padding-bottom: 70px;}
	.wms-section-wide-left.big-padd .wms-section-content, .wms-section-wide-left.big-padd-top .wms-section-content, .wms-section-wide-right.big-padd .wms-section-content, .wms-section-wide-right.big-padd-top .wms-section-content {padding-top: 250px;}
	.wms-section-wide-left.big-padd .wms-section-content, .wms-section-wide-left.big-padd-bot .wms-section-content, .wms-section-wide-right.big-padd .wms-section-content, .wms-section-wide-right.big-padd-bot .wms-section-content {padding-bottom: 250px;}
	.wms-section-wide {padding-top: 90px; padding-bottom: 70px;}
}

.wms-section-left .wms-section-content, .wms-section-right .wms-section-content {padding-top: 60px; padding-bottom: 20px;}
.wms-section-grid .wms-section-content {padding-top: 90px; padding-bottom: 90px;}
.wms-section-grid .wms-grid-tall_text {padding-top: 200px;}
.wms-section-menu-bar .wms-section-content {padding-top: 90px; padding-bottom: 90px;}
.wms-section-menu-bar .wms-section-content h2 {margin-bottom: 60px;}
.wms-section-menu-bar .wms-section-content h3 {margin-top: 60px;}
@media (min-width: 768px){
	/*.wms-section-wide-left .wms-section-content, .wms-section-wide-right .wms-section-content {padding: 115px 90px 70px;}*/
	.wms-section-wide {padding-left: 90px; padding-right: 90px;}
	/*.wms-section-std .wms-section-content,*/ .wms-section-left .wms-section-content, .wms-section-right .wms-section-content {padding: 60px 60px 20px;}
	.wms-section-grid .wms-section-content {padding-left: 90px; padding-right: 90px;}
}
.wms-grid-hover {padding: 0;}
.wms-grid-hover-show {padding: 100px 50px 50px; font-size: 200%; text-align: center; line-height: 50px; display: none; position: relative;}
.wms-grid-hover.quote .wms-grid-hover-show:before {content:"\f10d"; font-family: FontAwesome; position: absolute; top:25px; left:25px; font-size: 48px;}
.wms-grid-hover.quote .wms-grid-hover-show:after {content:"\f10e"; font-family: FontAwesome; position: absolute; top:25px; right:25px; font-size: 48px;}

.wms-bg-img {background-repeat: no-repeat; background-position: center; background-size: cover; background-color: #ddd;}
a.wms-bg-img {display: block;}
/* background image columns are not normally shown when stacked unless ... */
.wms-sect-inner.wms-bg-img {min-height: 300px;}

.latest-post-col {padding: 0;}
.latest-post-img {padding-top: 62.5%;} /* 16:10 aspect ratio */
.latest-post-text {padding-left: 15px; padding-right: 15px; padding-top: 40px; padding-bottom: 30px;}
.latest-post-title {margin-bottom: 0;}
.latest-post-date {margin-bottom: 15px;}
.latest-post-excerpt {margin-bottom: 30px;}

.no-padd {padding-top: 0; padding-bottom: 0;}
.no-padd-top {padding-top: 0;}
.no-padd-bot, .no-padd-bottom {padding-bottom: 0;}
.sml-padd {padding-top: 30px; padding-bottom: 30px;}
.sml-padd-top {padding-top: 30px;}
.sml-padd-bot, .sml-padd-bottom {padding-bottom: 30px;}

.parallax .wms-bg-img, .parallax.wms-bg-img {background-attachment: initial;}
@media (min-width: 768px){
	.parallax .wms-bg-img, .parallax.wms-bg-img {background-attachment: fixed;}
}

.jumbo {font-size: 150%; line-height: 1;}
@media (min-width: 768px){
	.jumbo {font-size: 175%; line-height: 1;}
}
@media (min-width: 992px){
	.jumbo {font-size: 200%; line-height: 1;}
}

/**
 * Contact page
 */
.contact-icon-col {font-size: 14px;}
.contact-text-col {margin-bottom: 30px;}
@media (min-width: 1200px){
	.contact-icon-col-stacked {width: 12.5%;}
	.contact-text-col-stacked {width: 37.5%;}
}

/**
 * Team page
 */
.team-member-photo {height: 300px; margin-bottom: 20px;}
.team-member-modal .modal-header {border: none;}
.wms-team-inlines .team-member {margin-bottom: 50px; padding-bottom: 50px; border-bottom: 2px solid #ccc;}
.wms-team-inlines .team-member:last-child {border-color: transparent;}

/**
 * posts
 **/
.post-summary {border-bottom: 1px solid #ddd; margin-bottom: 20px; padding-bottom: 20px;}
.post-summary .entry-image {margin-bottom: 30px;}
article.post:last-of-type .post-summary {border:none;}
.entry-footer {padding: 20px 0;}
.updated:not(.published) {display:none;}
.entry-footer .posted-on, .entry-footer .byline, .entry-footer .cat-links, .entry-footer .tags-links, .entry-footer .comments-link, .entry-footer .entry-format, .entry-footer .full-size-link, .entry-footer .sticky-post {margin-right: 1em;}
.posts-navigation .nav-links {margin-right: -15px; margin-left: -15px;}
.posts-navigation .nav-links .nav-previous, .posts-navigation .nav-links .nav-next {min-height: 1px; padding-right: 15px; padding-left: 15px; float: left; width: 100%;}
.posts-navigation .nav-links .nav-next {text-align: right;}
.post-navigation .nav-links {margin-right: -15px; margin-left: -15px;}
.post-navigation .nav-links .nav-previous, .post-navigation .nav-links .nav-next {min-height: 1px; padding-right: 15px; padding-left: 15px; float: left; width: 100%;}
.post-navigation .nav-links .nav-next {text-align: right;}
@media (min-width: 992px){
  .post-navigation .nav-links .nav-previous, .post-navigation .nav-links .nav-next {width: 50%;}
  .posts-navigation .nav-links .nav-previous, .posts-navigation .nav-links .nav-next {width: 50%;}
}


/**
 * Icons and logos
 */
.wms-icon_left .icon-col i {font-size: 36px; margin-top: 7px;}
.wms-icon_left.large-icon .icon-col i {font-size: 50px;}

.wms-logos-col {position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; float: left; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem;}
.wms-logo {object-fit: contain;}

/**
 * Background
 */
.wms-background {position: relative;}
.wms-background .inner {padding: 35px 8%; position: relative; z-index: 2;}
.wms-background.indent {margin-left: 10%; margin-right: 10%;}
.wms-background .img-bg {background-size: cover; background-position: center; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1;}
.wms-background.quote:before, .wms-background.quote:after {font-family: FontAwesome; font-weight: normal; font-style: normal; display: inline-block; text-decoration: inherit; position: absolute; top:40px; color: #fff; font-size: 50px; }
.wms-background.quote:before {content: "\f10d"; left: 40px;}
.wms-background.quote:after {content: "\f10e"; right: 40px;}
.wms-background .alignleft, .wms-background .alignright {max-width: 50%;}
.wms-background.bg-link a, .wms-background.bg-link a:hover {text-decoration: none;}
@media only screen and (max-width: 768px){
  .wms-background .inner {padding-top: 70px;}
}

/**
 * Testimonial rotator
 */
.testimonial_rotator_wrap {padding-bottom: 0; margin-bottom: 0;}
.testimonial_rotator_wrap .testimonial-rotator-quote {font-size: 110%;}
.testimonial_rotator.template-default .testimonial_rotator_author_info {font-size:85%; border: none; padding-left: 0;}
.testimonial_rotator.template-default .testimonial_rotator_author_info p {margin-bottom: 0;}
.testimonial_rotator_star {float: none;}

/**
 * Accordions
 */
.accordion-item {border-color: transparent;}
.accordion-button {font-size: 22px;}
.accordion-button:not(.collapsed) {background-color: transparent; box-shadow: none; color: inherit;}
.accordion-body {padding: 0 1.25rem 1rem;}

/**
 * Widgets
 */

.social-icons .social-link {margin-right: 10px;}
.google-map .canvas { width: 100%; height: 300px;}
.google-map img { max-width: inherit !important; }
.footer-widget {margin-bottom: 30px;}
.footer-widget.WMS_Google_Maps .google-map {margin-bottom: 20px;}
.hours-div .day-name {width:35%; float:left; clear:both;}
.hours-div .day-hours {width:60%; float:left; text-align:center; padding-left: 5%;}

/**
 * Odds and sods
 */
blockquote {border-left: 1px solid #555; padding-left: 40px; font-style: italic;}

/**
 * Accessibility
 */
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/**
 * Footer
 */
#colophon {/*margin-top: 30px; remove v4.0.5 */ padding: 35px 0;}
.seo-footer-wrapper {padding-top: 35px;}
.sub-footer {padding: 20px 0;}
.footer-keywords {font-size: 80%;}
.footer-keywords ul {list-style: none; margin: 0; padding: 10px 0; text-align: center;}
.footer-keywords li {display: inline; padding: 0 10px 0 6px;}
.footer-keywords li:last-child {border: none;}
.footer-keywords, .copy-info {font-size: 80%; margin-top: 20px;}
.footer-widget.widget_nav_menu ul {list-style: none; margin-bottom: 0; padding-left: 0;}

/**
 * Side Link
 */
.sidelink-btn-wrap {position: fixed; right: 0; top:66.67%; transform-origin: 100% 0%; transform: rotate(90deg) translateX(50%); z-index: 2;}
.sidelink-btn {border-radius: 0 0 .3rem .3rem; box-shadow: 5px 5px 20px #000;}
@media (min-width: 1200px){
	.sidelink-btn {padding: 15px 30px; font-size: 24px;}
}

.opening-hours-btn-wrap {margin-top: 20px;}