/*
	Theme Name: Dufferin Mutual
	Based on: Jessica
	Version: 1.8.3
	Template: genesis

	License: GPL-2.0+
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Text Domain: jessica
*/


/** Variables */
:root {
	--link-colour: #0c63ce;
	--link-hover-colour: #06356e;
}

/* # HTML5 Reset
---------------------------------------------------------------------------------------------------- */

/* ## Baseline Normalize
--------------------------------------------- */
/* normalize.css v3.0.1 | MIT License | git.io/normalize */

html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#333}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}


/* ## Box Sizing
--------------------------------------------- */
*,
input[type="search"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}


/* ## Float Clearing
--------------------------------------------- */
.author-box:before,
.clearfix:before,
.entry:before,
.entry-content:before,
.footer-widgets:before,
.nav-primary:before,
.nav-secondary:before,
.pagination:before,
.site-container:before,
.site-footer:before,
.site-header:before,
.site-inner:before,
.wrap:before {
	content: " ";
	display: table;
}

.author-box:after,
.clearfix:after,
.entry:after,
.entry-content:after,
.footer-widgets:after,
.nav-primary:after,
.nav-secondary:after,
.pagination:after,
.site-container:after,
.site-footer:after,
.site-header:after,
.site-inner:after,
.wrap:after {
	clear: both;
	content: " ";
	display: table;
}


/* # Defaults
---------------------------------------------------------------------------------------------------- */

/* ## Typographical Elements
--------------------------------------------- */

html {
	font-size: 62.5%; /* 10px browser default */
}

body {
	background-color: #fff;
	color: #20221d;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
	overflow-x: hidden;
}

a,
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition:    all 0.1s ease-in-out;
	-ms-transition:     all 0.1s ease-in-out;
	-o-transition:      all 0.1s ease-in-out;
	transition:         all 0.1s ease-in-out;
}

::-moz-selection {
	background-color: #20221d;
	color: #fff;
}

::selection {
	background-color: #20221d;
	color: #fff;
}

a {
	color: #9dafb6;
	text-decoration: underline;
	text-underline-position: under;
}
a:hover {
	color: #20221d;
	text-decoration: none;
}
body.archive .entry-title a {
	text-decoration: none;
}

p {
	margin: 0 0 20px;
	padding: 0;
}

ol,
ul {
	margin: 0;
	padding: 0;
}
.entry-content p + ul,
.entry-content p + ol{
	/*margin-top: -12px;*/
}

li {
	list-style-type: none;
}

b,
strong {
	font-weight: 500;
}

cite,
em,
i {
	font-style: italic;
}

blockquote {
	background: url(images/blockquote.png) no-repeat 0 0;
	margin: 40px 0;
	padding: 0 0 0 50px;
}

blockquote p {
	margin-bottom: 0;
}

.widget-area blockquote {
	background-image: none;
	border: 2px dashed #d8dbdc;
	margin: 0 0 40px;
	padding: 30px;
	position: relative;
}

.widget-area blockquote::after {
	background: url(images/quote-arrow.png) no-repeat 0 0;
	bottom: -37px;
	content: "";
	height: 37px;
	left: 20px;
	position: absolute;
	width: 41px;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin: 20px 0;
}

.box {
	background-color: #eaecec;
	border: 1px solid #daddde;
	padding: 20px;
}


/* ## Headings
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
	color: #20221d;
	font-family: 'Roboto Slab', serif;
	font-weight:300;
	line-height: 1.2;
	margin: 36px 0 10px;
}

h1 {
	font-size: 27px;
	font-size: 2.7rem;
	margin-top: 0;
}

h2 {
	font-size: 25px;
	font-size: 2.5rem;
}

h3 {
	font-size: 23px;
	font-size: 2.3rem;
}

h4 {
	font-size: 21px;
	font-size: 2.1rem;
}

h5 {
	font-size: 19px;
	font-size: 1.9rem;
}

h6 {
	font-size: 16px;
	font-size: 1.6rem;
}


/* ## Objects
--------------------------------------------- */
embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
}

.featured-content img,
.gallery img {
	width: auto;
}


/* ## Gallery
--------------------------------------------- */
.gallery {
	overflow: hidden;
}

.gallery-item {
	float: left;
	margin: 0 0 28px;
	text-align: center;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
	width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}

.gallery img {
	border: 1px solid #ddd;
	height: auto;
	padding: 4px;
}

.gallery img:hover {
	border: 1px solid #999;
}


/* ## Forms
--------------------------------------------- */
input,
select,
textarea {
	background-color: #eaecec;
	border: 1px solid #daddde;
	color: #20221d;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	padding: 6px 10px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::-moz-placeholder {
	color: #20221d;
	font-weight: 300;
	opacity: 1;
}

::-webkit-input-placeholder {
	color: #20221d;
	font-weight: 300;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
a.wp-block-button__link,
.button {
	background-color: var(--link-colour);
	border: none;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: 400;
	padding: 12px 20px;
	width: auto;
}

button:hover,
input:hover[type="button"],
input:hover[type="reset"],
input:hover[type="submit"],
a.wp-block-button__link:hover,
.button:hover {
	background-color: var(--link-hover-colour);
	color: #fff;
	box-shadow: 0px 0px 10px -2px rgba(4,38,80,0.35);
}

.entry-content .button:hover {
	color: #fff;
}

.footer-widgets button:hover,
.footer-widgets input:hover[type="button"],
.footer-widgets input:hover[type="reset"],
.footer-widgets input:hover[type="submit"],
.footer-widgets .button:hover {
	background-color: #fff;
	color: #333;
}

.button {
	display: inline-block;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

.entry-content form input,textarea,button,submit,select{
	margin-bottom: 10px;
}
.entry-content form label{
	clear: both;
	display: block;
}


/* ## Tables
--------------------------------------------- */
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 2;
	margin-bottom: 40px;
	width: 100%;
}

tbody {
	border-bottom: 1px solid #ddd;
}

td,
th {
	text-align: left;
}

td {
	border-top: 1px solid #ddd;
	padding: 6px 10px;
}

th {
	font-weight: 400;
}


/* ## Screen Reader Text
--------------------------------------------- */
.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
	position: absolute !important;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	width: 1px;
	border: 0;
	overflow: hidden;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.genesis-nav-menu .search input[type="submit"]:focus,
.widget_search input[type="submit"]:focus  {
	clip: auto !important;
	height: auto;
	width: auto;
	display: block;
	font-size: 1em;
	font-weight: bold;
	padding: 15px 23px 14px;
	color: #333;
	background: #fff;
	z-index: 100000; /* Above WP toolbar. */
	text-decoration: none;
	box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
}

.more-link {
    position: relative;
}


/* # Structure and Layout
---------------------------------------------------------------------------------------------------- */

/* ## Site Containers
--------------------------------------------- */
.wrap {
	margin: 0 auto;
	max-width: 1152px;
	padding: 0 22px;
}

.site-inner {
	clear: both;
	padding: 40px 0;
}

.page-template-landing .site-inner{
	padding-bottom: 0;
}

body.genesis-title-hidden .site-inner,
.home .site-inner {
	padding-top: 20px;
}

body.genesis-title-hidden .entry-content > div.wp-block-cover:first-child {
	margin-bottom: 42px;
}

/* ## Column Widths and Positions
--------------------------------------------- */
.content-sidebar-wrap {
	float: left;
	width: 100%;
}

.content-sidebar-sidebar .content-sidebar-wrap,
.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
	width: 980px;
}

.content-sidebar-sidebar .content-sidebar-wrap {
	float: left;
}

.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
	float: right;
}

.content-sidebar .content-sidebar-wrap {
	background: url(images/content-sidebar-border.png) repeat-y 800px 0;
}

.sidebar-content .content-sidebar-wrap {
	background: url(images/content-sidebar-border.png) repeat-y 315px 0;
}

/* ### Content */
.content {
	float: right;
	width: 760px;
}

.content-sidebar .content,
.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content {
	float: left;
}

.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content,
.sidebar-sidebar-content .content {
	width: 580px;
}

.full-width-content .content {
	width: 100%;
}


/* ### Primary Sidebar */
.sidebar-primary {
	float: right;
	width: 275px;
}

.sidebar-content .sidebar-primary,
.sidebar-sidebar-content .sidebar-primary {
	float: left;
}

/* ### Secondary Sidebar */
.sidebar-secondary {
	float: left;
	width: 180px;
}

.content-sidebar-sidebar .sidebar-secondary {
	float: right;
}



/* Gutenberg
--------------------------------------------- */
.wp-block-button.alignleft{
	margin-right: 15px;
}

.wp-block-image.alignleft.is-resized,
.wp-block-cover-image.alignleft,
.wp-block-cover.alignleft{
	margin-right: 30px;
}

.wp-block-button.alignright{
	margin-left: 15px;
}

.wp-block-image.alignright.is-resized,
.wp-block-cover-image.alignright,
.wp-block-cover.alignright{
	margin-left: 30px;
}

.wp-block-button__link:hover{
	box-shadow: 0px 0px 5px 1px rgba(128,128,128,0.7);
}

.full-width-content .alignfull{
	width: 100vw;
	margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
}

.full-width-content .alignwide {
	margin-left: -50px;
    margin-right: -50px;
    max-width: calc(100% + 100px);
    width: calc(100% + 200px);
}

.content-sidebar .alignfull,
.content-sidebar .alignwide,
.sidebar-content .alignfull,
.sidebar-content .alignwide{
	max-width: 100vw;
	width: 100vw;
}
.content-sidebar .alignfull,
.content-sidebar .alignwide{
	margin-left: calc(50% - 50vw);
}

.sidebar-content .alignfull,
.sidebar-content .alignwide{
	margin-right: calc(50% - 50vw);
}

.entry-content .wp-block-quote.is-large,
.entry-content .wp-block-quote.is-style-large{
	padding: 0 1em 0 40px;
}
.wc-block-featured-product{
	padding-top: 20px;
}

.wp-block-woocommerce-handpicked-products div[class*="columns-"] ul.products li.product{
	text-align: center;
}

.wp-block-group{
	overflow-y: hidden;
}

.content-sidebar .wp-block-group .wp-block-group__inner-container,
.sidebar-content .wp-block-group .wp-block-group__inner-container{
	width: 760px;
}

.content-sidebar .wp-block-group .wp-block-group__inner-container{
	float: right;
}

.alignfull iframe,
.alignwide iframe,
.alignfull img,
.alignwide img{
	max-width: 100%;
	margin-right:auto;
	width: 100%;
}

.wp-block-group.alignfull .wp-block-group__inner-container figure:not(.alignfull):not(.alignwide) img,
.wp-block-group.alignwide .wp-block-group__inner-container figure:not(.alignfull):not(.alignwide) img{
	width: initial;
}

@media only screen and (min-width: 781px){
	.content-sidebar .alignfull,
	.sidebar-content .alignfull,
	.content-sidebar .alignwide,
	.sidebar-content .alignwide{
		width: auto;

	}
	.content-sidebar .alignfull{
		margin-left: calc(50% / 0.69 - 50vw);
	}
	.sidebar-content .alignfull{
		margin-right: calc(50% / 0.69 - 50vw);
	}
	.content-sidebar .alignwide{
		margin-left: calc(50% / 0.64 - 50vw);
	}
	.sidebar-content .alignwide{
		margin-right: calc(50% / 0.64 - 50vw);
	}
}

.alignfull iframe,
.alignwide iframe,
.alignfull img,
.alignwide img{
	max-width: 100%;
	margin-right:auto;
	width: 100%;
}


.wp-block-media-text{
	margin-bottom: 30px;
}

/* # Common Classes
---------------------------------------------------------------------------------------------------- */

/* ## Avatar
--------------------------------------------- */

.avatar {
	float: left;
}

.alignleft .avatar,
.author-box .avatar {
	margin-right: 24px;
}

.alignright .avatar {
	margin-left: 24px;
}

.comment .avatar {
	margin: 0 16px 24px 0;
}


/* ## Genesis
--------------------------------------------- */
.breadcrumb {
	color: #9dafb6;
	font-weight: 500;
	margin-bottom: 10px;
}

.breadcrumb a {
	color: #9dafb6;
	font-weight: 300;
}

.breadcrumb a:hover {
	font-weight: 500;
}

.breadcrumb sep {
	font-weight: 300;
	padding: 0 8px;
}

.archive-description,
.author-box {
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 20px;
}

.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}


body.archive main.content {
	display: grid;
	grid-template-columns: repeat( 1, minmax( 0, 1fr ) );
	gap: 5px 48px;
}
@media screen and (min-width: 768px) {

	body.archive main.content {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}
@media screen and (min-width: 1100px) {

	body.archive main.content {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}
}
body.archive main.content .entry-header .entry-title {
	margin-top: 5px;
}

body.single-announcement .entry-header img {
	margin-bottom: 20px;
}
body.single-announcement .entry-footer {
	background-color: transparent;
	border-top: 1px solid #d8dbdc;
	border-bottom: none;
	color: #333;
	padding: 20px 0 0;
	margin-top: 10px;
}

/* ## Search Form
--------------------------------------------- */
.search-form {
	overflow: hidden;
}

.site-header .search-form {
	float: right;
	margin-top: 12px;
}

.entry-content .search-form,
.site-header .search-form {
	position: relative;
	width: 50%;
}

.entry-content .search-form input[type="search"] {
	padding-right: 75px;
}

.entry-content .search-form input[type="submit"] {
	padding: 7px 20px;
	position: absolute;
	right: 0;
	bottom: 0;
}

.genesis-nav-menu .search input[type="submit"],
.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

input[type="search"] {
	font-family: 'Roboto Slab',serif;
}

.before-header .genesis-nav-menu li.search input[type="search"] {
	background-color: transparent;
	border-color: #fff;
	color: #fff;
	padding: 0px 5px 1px;
}

.before-header ::-webkit-input-placeholder {
	color: #fff;
}

.before-header ::-moz-placeholder {
	color: #fff;
}


/* ## Titles
--------------------------------------------- */
.archive-title {
	font-size: 27px;
	font-size: 2.7rem;
}

.entry-title {
	font-size: 27px;
	font-size: 2.7rem;
	margin-bottom: 20px;
}

.content .entry-title {
	text-transform: uppercase;
}

.entry-title a,
.sidebar .widget-title a {
	color: #20221d;
}

.entry-title a:hover {
	color: #9dafb6;
}

.widget-title {
	font-size: 25px;
	font-size: 2.5rem;
	margin-bottom: 20px;
}

.home-mid .widget-title {
	text-transform: uppercase;
}

.home-mid-nav .widget-title {
	text-align: center;
}

.bottom-widgets .widget-title,
.footer-widgets .widget-title {
	color: #20221d;
	font-family: 'Roboto',sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
}

.bottom-widgets .widget-title {
	border-bottom: 1px solid #20221d;
	padding-bottom: 5px;
}

.comment-respond h3.comment-reply-title,
.entry-comments h3,
.author-box-title {
	color: #20221d;
	font-size: 21px;
	font-size: 2.1rem;
	margin-bottom: 20px;
	text-transform: uppercase;
}


/* ## WordPress
--------------------------------------------- */
a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter {
	display: block;
	margin: 0 auto 24px;
}

img.alignnone,
.alignnone {
	margin-bottom: 12px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 24px 24px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 24px 24px;
}

img.alignleft,
img.alignright {
	margin-top: 5px;
}

img.centered,
img.alignnone,
img.alignleft,
img.alignright {
	border: 6px solid #e7e9ea;
}

.alignnone img,
.alignleft img,
.alignright img {
	border: 2px solid #e7e9ea;
}

.wp-caption-text {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.sticky {
}


/* # Widgets
---------------------------------------------------------------------------------------------------- */
.widget {
	word-wrap: break-word;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: none;
	margin: 0;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}


.widget_tag_cloud .tagcloud a {
	display: inline-block;
	background-color: #eaecec;
	color: #20221d;
	font-size: 14px !important;
	font-size: 1.4rem !important;
	margin: 0 5px 5px 0;
	padding: 2px 5px;
}

.footer-widgets .widget_tag_cloud .tagcloud a {
	background-color: #fff;
	margin-right: 5px;
}

.footer-widgets .widget_tag_cloud .tagcloud a:hover,
.widget_tag_cloud .tagcloud a:hover {
	background-color: #b7c9d0;
	color: #fff;
}



/* ## Featured Content
--------------------------------------------- */
.featured-content .entry {
	margin-bottom: 10px;
	padding: 0 0 10px;
}

.footer-widgets .entry {
	border-bottom: 1px dotted #666;
}

.footer-widgets article:last-child {
	border: 0;
	padding: 0;
}

.featured-content .entry-title {
	font-family: 'Roboto',sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	overflow: hidden;
}

.wsmfeaturedpost .entry-header {
	overflow: hidden;
}

.wsmfeaturedpost .entry-header .entry-meta {
	background-color: #b7c9d0;
	border-radius: 8px;
	color: #fff;
	float: left;
	font-family: 'Roboto Slab',serif;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
	margin: 0 14px 0 0;
	padding: 10px;
	text-align: center;
	text-transform: uppercase;
}

.wsmfeaturedpost .entry-meta b {
	display: block;
	font-size: 23px;
	font-size: 2.3rem;
}

.wsmfeaturedpost .entry-content {
	clear: both;
	display: block;
	padding-top: 10px;
}


/* # Skip Links
---------------------------------------------------------------------------------------------------- */
.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link li {
	height: 0;
	width: 0;
	list-style: none;
}

/* Display outline on focus */
:focus {
	color: #333;
	outline: #ccc solid 1px;
}


/* # Before Header
---------------------------------------------------------------------------------------------------- */

.before-header {
	background-color: #20221d;
	color: #fff;
	text-align: right;
}

.before-header .wrap {
	padding: 8px 22px;
}

/* # Site Header
---------------------------------------------------------------------------------------------------- */

.site-header {
	background-color: #fff;
}

.site-header .wrap {
	padding: 10px 22px 10px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.site-header .wrap .header-widget-area {
	margin: 0 0 0 auto;
}
.site-header .wrap .header-widget-area .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.site-header .wrap .header-widget-area .menu a {
	font-size: 1.5rem;
	text-align: right;
}

@media screen and (min-width: 450px) {

	.site-header .wrap {
		padding: 20px 22px;
	}
	.site-header .wrap .header-widget-area .menu a {
		font-size: 1.6rem;
	}
}


/* ## Title Area
--------------------------------------------- */
.title-area {
	float: left;
	padding: 0;
	width: 400px;
	flex: 0;
}

.title-area a {
	display: block;
	font-size: 0;
}

.site-title {
	font-family: 'Roboto Slab', serif;
	font-size: 51px;
	font-size: 5.1rem;
	font-weight: 300;
	line-height: 1;
	text-transform: uppercase;
}

.site-title a,
.site-title a:hover {
	color: #333;
}

.site-title a {
	display: block;
	line-height: 1;
}

.header-image .site-title > a {
	background: url(images/logo.png) no-repeat left;
	float: left;
	min-height: 40px;
	width: 100%;
}

.site-description {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.5;
}

.site-description,
.site-title {
	margin-bottom: 0;
}

.header-image .site-description,
.header-image .site-title {
	display: block;
	text-indent: -9999px;
}

.wp-custom-logo .site-title {
    position: absolute!important;
    clip: rect(0,0,0,0);
    height: 0;
    width: 0;
    border: 0;
    overflow: hidden;
}

.wp-custom-logo .title-area .custom-logo-link img{
	max-width: 180px;
}

.wp-custom-logo .site-description {
    position: absolute!important;
    clip: rect(0,0,0,0);
    height: 0;
    width: 0;
    border: 0;
    overflow: hidden;
}

@media screen and (min-width: 720px) {

	.wp-custom-logo .title-area .custom-logo-link img{
		max-width: 360px;
	}
}


/* ## Widget Area
--------------------------------------------- */
.site-header .widget-area {
	float: right;
	margin-top: 5px;
	text-align: right;
}

.site-header .widget-area .widget {
	margin-bottom: 10px;
}

.site-header .widget-area section:last-child {
	margin-bottom: 0;
}

.site-header .widget-area h1,
.site-header .widget-area h2,
.site-header .widget-area h3,
.site-header .widget-area h4,
.site-header .widget-area h5 {
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0;
	text-transform: uppercase;
}

/* # Site Navigation
---------------------------------------------------------------------------------------------------- */

.genesis-nav-menu {
	clear: both;
	font-size: 0;
	line-height: 1.4;
	width: 100%;
}

.genesis-nav-menu .menu-item {
	display: inline-block;
	font-family: 'Roboto Slab', serif;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: 400;
	text-align: left;
}

.genesis-nav-menu .menu-item > a {
	text-transform: uppercase;
}

.ie7 .genesis-nav-menu .menu-item {
	display: block;
	float: left;
}

.genesis-nav-menu a {
	color: #20221d;
	display: inline-block;
	font-size: 16px;
	padding: 12px;
	text-align: center;
	-webkit-transition: none;
	-moz-transition:    none;
	-ms-transition:     none;
	-o-transition:     none;
	transition:        none;
	text-underline-position: under;
	text-decoration: none;
}

.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a {
	text-decoration: underline;
}

.genesis-nav-menu a::after,
.genesis-nav-menu .current-menu-item > a::after {
    display:block;
    content:attr(title);
    font-weight:bold;
    height:1px;
    color:transparent;
    overflow:hidden;
    visibility:hidden;
    margin-bottom:-1px;
}

.menu-item a {
	text-decoration: none;
}
.menu-item a:hover,
.menu-item a:active {
	text-decoration: underline;
}

.genesis-nav-menu .sub-menu {
	background: url(images/submenu-bg.png) repeat 0 0 transparent;
	left: -9999px;
	opacity: 0;
	padding-bottom: 10px;
	position: absolute;
	-webkit-transition: opacity .4s ease-in-out;
	-moz-transition:    opacity .4s ease-in-out;
	-ms-transition:     opacity .4s ease-in-out;
	-o-transition:      opacity .4s ease-in-out;
	transition:         opacity .4s ease-in-out;
	width: 320px;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: transparent;
	border-bottom: 1px solid #e0e6e9;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: 300;
	padding: 8px 0;
	position: relative;
	text-transform: uppercase;
	width: 280px;
	text-decoration: none;
	text-align: left;
}

.genesis-nav-menu .sub-menu .menu-item {
	padding: 0 20px;
}

.genesis-nav-menu .sub-menu .menu-item:hover,
.genesis-nav-menu .sub-menu .current-menu-item {
	background: url(images/sub-menu-arrow.png) no-repeat left center;
}


.genesis-nav-menu .sub-menu .sub-menu {
	margin: -34px 0 0 300px;
}

.genesis-nav-menu .menu-item:hover {
	position: static;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	left: auto;
	opacity: 1;
}

.genesis-nav-menu > .first > a {
	padding-left: 0;
}

.genesis-nav-menu > .last > a {
	background-image: none !important;
	border: 0 !important;
	padding-right: 0;
}

.genesis-nav-menu > .right {
	color: #fff;
	float: right;
	list-style-type: none;
	padding: 30px 0;
}

.genesis-nav-menu > .right > a {
	display: inline;
	padding: 0;
}

.genesis-nav-menu > .rss > a {
	margin-left: 48px;
}

.genesis-nav-menu > .search {
	margin-left: 40px;
	padding: 0;
}


/* ## Accessible Menu
--------------------------------------------- */
.menu .menu-item:focus {
	position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
	opacity: 1;
}


/* ## Primary Navigation
--------------------------------------------- */
.nav-primary {
	background-color: #fff;
}

.nav-primary .genesis-nav-menu {
	padding-top: 10px;
	border-top: 1px solid #cdd1d2;
}

.nav-primary .genesis-nav-menu a {
	color: #20221d;
}
.nav-primary .genesis-nav-menu a:hover,
.nav-primary .genesis-nav-menu a:active {
	color: var(--link-hover-colour);
}


/* ## Secondary Navigation
--------------------------------------------- */
.nav-secondary .genesis-nav-menu a {
	color: #fff;
}

.nav-secondary .genesis-nav-menu a:hover,
.nav-secondary .genesis-nav-menu .current-menu-item > a,
.nav-secondary .genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: #fff;
	font-weight: 400;
}

.nav-secondary  .genesis-nav-menu .menu-item {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
}

.nav-secondary .genesis-nav-menu a {
	padding: 5px 18px;
}

.nav-secondary .genesis-nav-menu .menu-item > a {
	background: url(images/submenu-border.png) no-repeat right center;
	line-height: 1;
}

.nav-secondary .genesis-nav-menu .sub-menu a {
	background-image: none;
	color: #333;
	padding: 8px 0;
}

.nav-secondary .genesis-nav-menu > .search {
	padding-top: 0;
}

.ie7 .nav-secondary .genesis-nav-menu > .search {
	width: 200px;
}

.nav-secondary .genesis-nav-menu .last.cart  a,
.nav-secondary .genesis-nav-menu .cart  a,
.genesis-nav-menu .cart a {
	background: url(images/cart-icon.png) no-repeat right center !important;
	padding-right: 24px;
}


/* ## Navigation toggles
--------------------------------------------- */
.sub-menu-toggle,
.menu-toggle {
	display: none;
	visibility: hidden;
}


/* ## Entries
--------------------------------------------- */
.entry {
	margin-bottom: 40px;
	padding: 0;
}

.page-template-landing .entry{
	margin-bottom: 0;
}

.content .entry {
	background-color: #fff;
}

.entry-content ol:not(.wp-block-gallery),
.entry-content ul:not(.wp-block-gallery) {
	line-height: 1.5;
	margin-bottom: 25px;
	margin-left: 20px;
}
.entry-content ol ol:not(.wp-block-gallery),
.entry-content ul ul:not(.wp-block-gallery) {
	margin-bottom: 5px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-image: url(images/bullet-list2.png);
	list-style-type: none;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content code {
	background-color: #333;
	color: #ddd;
}

.more-link {
	display: block;
	font-family: 'Roboto Slab',serif;
}

.content .entry-content .more-link a {
	color: #20221d;
	text-transform: uppercase;
}

.content .entry-content .more-link a:hover {
	color: #9dafb6;
}


/* ## Entry Meta
--------------------------------------------- */
p.entry-meta {
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 0;
}

.entry-header .entry-meta {
	color: #8d9495;
	margin-bottom: 10px;
}

.entry-header .entry-meta a {
	color: #8d9495;
}

.entry-header .entry-meta a:hover {
	color: #545a58;
}

.entry-footer {
	clear: both;
	display: block;
}

.single .entry-footer {
	background-color: #f2f4f4;
	border-bottom: 1px solid #d8dbdc;
	border-top: 1px solid #d8dbdc;
	color: #545a58;
	padding: 5px 10px;
}

.single .entry-footer .entry-meta {
	display: block;
	overflow: hidden;
}

.entry-footer .entry-meta a {
	color: #545a58;
}

.entry-categories,
.entry-tags {
	display: block;
	float: left;
}

.entry-categories {
	margin-left: 30px;
}

.entry-comments-link::before {
	content: " | ";
	margin: 0 6px 0 2px;
}


/* ## Pagination
--------------------------------------------- */
.pagination {
	clear: both;
	margin: 40px 0;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination li a {
	background-color: #20221d;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 8px 12px;
}

.archive-pagination li a:hover,
.archive-pagination .active a {
	background-color: #b7c9d0;
}


/* ## Comments
--------------------------------------------- */
.comment-respond,
.entry-comments,
.entry-pings {
	margin-bottom: 40px;
}

.comment-header a,
.comment-header {
	color: #20221d;
	font-size: 16px;
	font-size: 1.6rem;
}

.comment-header a:hover {
	color: #9dafb6;
}

li.comment {
	background-color: #f5f5f5;
}

.comment-content {
	clear: both;
}

.comment-list li {
	margin-top: 24px;
	padding: 24px;
}

.comment-list li li {
	border: 2px solid #fff;
}

.comment-respond p {
	margin-bottom: 8px;
}

.comment-respond input[type="checkbox"] {
	margin-right: 8px;
}

.comment-respond .comment-form-cookies-consent{
	margin-bottom: 20px;
}

.woocommerce .comment-respond label {
	display: inherit;
}

.entry-comments .comment-author {
	margin-bottom: 0;
}

.entry-pings .reply {
	display: none;
}

.form-allowed-tags {
	background-color: #f5f5f5;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 24px;
}

.comment-list .comment-respond {
	margin-top: 30px;
}

.comment-reply a.comment-reply-link {
	background-color: #20221d;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 2px 10px;
	text-transform: uppercase;
}

.comment-reply a.comment-reply-link:hover {
	background-color: #b7c9d0;
}


/* # Sidebars
---------------------------------------------------------------------------------------------------- */
.sidebar {
	font-size: 16px;
	font-size: 1.6rem;
}

.sidebar li {
	list-style-image: url(images/bullet-list2.png);
	margin-bottom: 6px;
}

.sidebar ul,
.sidebar ol {
	margin-left: 20px;
}

.sidebar li a {
	color: #20221d;
}

.sidebar li a:hover {
	color: #43646e;
}

.sidebar p:last-child,
.sidebar ul > li:last-child {
	margin-bottom: 0;
}

.sidebar .widget {
	background-color: #fff;
	margin-bottom: 40px;
}

.sidebar .widget_recent_comments li,
.widget_recent_comments li {
	list-style: none outside none;
}

.sidebar .widget_recent_comments ul,
.widget_recent_comments ul {
	margin-left: 0;
}

.sidebar .widget_recent_comments a {
	color: #9dafb6;
}

.sidebar .widget-area blockquote {
	padding: 20px;
}


/* ## Bottom Widgets
---------------------------------------------------------------------------------------------------- */
.bottom-widgets {
	margin-bottom: 30px;
}

.bottom-widgets .widget-area {
	width: 22%;
}

.bottom1,
.bottom2 {
	margin-right: 4%;
}

.bottom1,
.bottom2,
.bottom3 {
    float: left;
}

.bottom4 {
	float: right;
}

.bottom-widgets .widget {
	margin-bottom: 20px;
}

.bottom-widgets ul,
.bottom-widgets ol {
	margin-bottom: 20px;
	margin-left: 20px;
}

.bottom-widgets ul ul,
.bottom-widgets ol ol {
	margin-bottom: 0;
}

.bottom-widgets ul li {
	list-style-type: none;
	list-style-image: url(images/bullet-list2.png);
	margin: 0 0 6px;
}

.bottom-widgets ol li {
	list-style-type: decimal;
}

.bottom-widgets li:last-child {
	border: 0;
	margin-bottom: 0;
}

.bottom-widgets li a {
	color: #20221d;
}

.bottom-widgets li a:hover {
	color: #9dafb6;
}


/* # Footer Widgets
---------------------------------------------------------------------------------------------------- */
.footer-widgets {
	background-color: #eaecec;
	border-top: 1px solid #daddde;
	clear: both;
	font-size: 1.5rem;
	padding: 25px 0 0;
}
.footer-widgets .footer-widgets-1 {
	line-height: 1.9;
}
.footer-widgets .footer-widgets-2 {
	padding-left: 25px;
}

.footer-widgets,
.footer-widgets a {
	color: #20221d;
}

.footer-widgets a:hover {
	color: #9dafb6;
}

.footer-widgets li {
	border-bottom: 1px dotted #666;
	margin-bottom: 6px;
	padding-bottom: 6px;
}

.footer-widgets .widget {
	margin-bottom: 25px;
}

.footer-widgets p:last-child {
	margin-bottom: 0;
}

.footer-widgets-1,
.footer-widgets-2,
.footer-widgets-3,
.footer-widgets-4 {
	width: 22%;
}

.footer-widgets-1,
.footer-widgets-2 {
	margin-right: 4%;
}

.footer-widgets-1,
.footer-widgets-2,
.footer-widgets-3 {
	float: left;
}

.footer-widgets-4 {
	float: right;
}


/* # Site Footer
---------------------------------------------------------------------------------------------------- */
.site-footer {
	background-color: #20221d;
	color: #a3a9aa;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	overflow: hidden;
	padding: 15px 0;
}

.site-footer p {
	display: block;
	margin-bottom: 0;
}

.site-footer a {
	color: #a3a9aa;
	text-decoration: none;
}
.site-footer a:hover,
.site-footer a:active {
	color: #fff;
}

.copyright {
	float: left;
	width: 48%;
}

.credit {
	float: right;
	text-align: right;
	width: 48%;
}


/*
 * # Custom
 *
---------------------------------------------------------------------------------------------------- */

/** Sticky footer for Job offers and Career pages */
body .before-header {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: before-header;
	width: 100%;
}
body .site-header {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: header;
	width: 100%;
}
body .nav-primary {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: nav-primary;
	width: 100%;
}
body .site-inner {
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	grid-area: site-inner;
	width: 100%;
}
body .footer-widgets {
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	grid-area: footer-widgets;
	width: 100%;
}
body .site-footer {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	grid-area: footer;
	width: 100%;
}
body .site-container {
	min-height: 100vh;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	-ms-grid-rows: auto 1fr auto;
	grid-template-rows: auto auto auto 1fr auto auto;
	grid-template-areas:
		'before-header'
		'header'
		'nav-primary'
		'site-inner'
		'footer-widgets'
		'footer'
}

/* Shortcodes
--------------------------------------------- */
.social-icons-group {
	display: flex;
	flex-wrap: wrap;
	margin: 3px -6px 18px;
}
.social-icons-group a.icon {
	display: block;
	line-height: 0;
	height: 36px;
	width: auto;
	margin: 5px;
	text-decoration: none;
	color: var(--link-colour);
	transition: all 0.2s ease;
}
.social-icons-group a:hover,
.social-icons-group a:focus,
.social-icons-group a:active {
	color: var(--link-hover-colour);
}
.social-icons-group a.icon svg {
	height: 100%;
	width: auto;
	fill: currentColor;
}

body.home article .entry-header {
	display: none;
}

.login-embed {
	width: 320px;
}

/** Sidebar: Broker page listings + Account management */
.broker-page-listings .page_item {
	margin-top: 4px;
}
.broker-page-listings .page_item a {
	text-decoration: none;
}
.broker-page-listings .page_item a:hover,
.broker-page-listings .page_item a:active {
	text-decoration: underline;
}
.broker-page-listings .page_item.current_page_item > a {
	font-weight: 500;
}
body.single-broker_page .sidebar-primary .textwidget p > a {
	display: inline-block;
	margin-bottom: 5px;
}

/** Broker pages */
body.single-broker_page .entry-content ul li {
	margin-bottom: 7px;
}
body.single-broker_page .entry-content ul li a {
	text-decoration: none;
}
body.single-broker_page .entry-content ul li a:hover,
body.single-broker_page .entry-content ul li a:active {
	text-decoration: underline;
}

/* Contact form 7
---------------------------------------------------------------------------- */
.contact-form-wrap form > div {
	margin: 10px 0 15px;
}

.contact-form-wrap form label {
	font-weight: 500;
	padding-top: 15px;
}

.contact-form-wrap form label input,
.contact-form-wrap form label textarea,
.contact-form-wrap form label select {
	margin: 5px 0 5px;
}
.contact-form-wrap form label input {
	line-height: 1.8;
}

.contact-form-wrap div.submit {
	text-align: left;
	margin: 15px 0 22px;
}
.contact-form-wrap .submit input {
	color: #fff;
	background-color: var(--link-colour);
}
.contact-form-wrap .submit input:hover {
	background-color: var(--link-hover-colour);
}

.wpcf7 .wpcf7-not-valid-tip {
	position: absolute;
}
.wpcf7 .wpcf7-form .wpcf7-response-output {
	margin-top: -30px;
}

.contact-form-wrap .wpcf7 .ajax-loader {
	position: absolute;
	margin: 10px 24px;
}

@media screen and (min-width: 960px) {

	.contact-form-wrap form > div {
		margin: 10px 0 15px;
	}

	.contact-form-wrap form .odd {
		float: left;
		width: calc(50% - 8px);
	}

	.contact-form-wrap form .even {
		float: right;
		width: calc(50% - 8px);
	}

	.contact-form-wrap form .message {
		clear: both;
	}

	.contact-form-wrap div.submit {
		text-align: center;
	}
}

.footer-widgets-1 strong,
.contact-info strong {
	display: inline-block;
	min-width: 50px;
}
.footer-widgets-1 strong {
	min-width: 66px;
}

/** Utility classes */
.no-bottom-margin {
	margin-bottom: 0;
}
.bottom-margin-5 {
	margin-bottom: 5px;
}
.bottom-margin-10 {
	margin-bottom: 10px;
}

/** Youtube embed */
.wp-block-column .wp-block-embed {
	margin: 1em 0;
}

/** Google map embed */
@media screen and (max-width: 1200px) {
	.map-container.wp-block-group {
		padding: 1.5em;
	}
}

/** CTAs */
.cta.wp-block-group {
	background-color: #eaecec;
	border: 1px solid #daddde;
	padding: 30px;
	margin: 48px 0;
	max-width: 100%;
}
.cta.wp-block-group h2 {
	margin: 0 0 20px;
}
.cta.wp-block-group p {
	font-size: 1.8rem;
	margin: 0 0 20px;
}

/** Front page */
body.home .home-cta-2 {
	font-size: 22px !important;
	padding: 0 20px;
	margin: 55px auto 65px;
	width: 90%;
	max-width: 670px;
}

body.home .services-group {
	margin: 65px 0;
}
body.home .services-group .wp-block-column {
	background-color: #526682;
	margin-bottom: 1em;
}
body.home .services-group p {
	padding: 25px 20px;
	margin: 0;
}
body.home .services-group p a {
	color: #fff;
	text-decoration: none;
}
body.home .services-group p a:hover,
body.home .services-group p a:active {
	color: #fff;
	text-decoration: underline;
}

body.home .cta-group {
	margin: 0;
}
body.home .cta-group.last {
	margin: 0 0 90px;
}
body.home .cta-group .cta {
	margin: 0 0 2em;
	height: calc(100% - 2em);
}

@media screen and (min-width: 720px) {

	body.genesis-title-hidden .entry-content > div.wp-block-cover:first-child h1,
	body.home .wp-block-cover h2 {
		font-size: 36px;
	}
	body.home .home-cta-2 {
		font-size: 27px !important;
	}
}

/* # Media Queries
---------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 1200px) {

	.before-header .wrap,
	.site-header .wrap,
	.wrap {
		max-width: 96%;
		padding-left: 0;
		padding-right: 0;
	}

	.content {
		width: 65%;
	}


	.sidebar {
		width: 30%;
	}

	.content-sidebar .content-sidebar-wrap {
		background-position: 67% 0;
	}

	.sidebar-content .content-sidebar-wrap {
		background-position: 32% 0;
	}
	.full-width-content .alignwide{
		width: 100%;
	}
}

@media only screen and (max-width: 1028px) {

	.title-area {
		width: 36%;
	}

	.nav-primary .genesis-nav-menu a {
		padding: 4px 20px;
	}

	.site-header .widget-area {
		text-align: center;
		width: 62%;
	}

	.full-width-content .wp-block-group.alignwide{
		margin-left: auto;
		margin-right: auto;
	}
}

@media only screen and (max-width: 800px) {

	.header-image .site-title > a {
		background-position: center;
	}

	.header-right-text {
		float: none;
		margin: 0 0 20px;
		text-align: center;
		width: 100%;
	}

	.site-header .widget-social {
		max-width: inherit;
		text-align: center;
		width: 100%;
	}

	.home-mid-nav .menu .menu-item {
		margin-bottom: 10px;
	}

	.home-mid-right,
	.home-mid-left {
		float: none;
		width: 100%;
	}

	.site-header .widget-area,
	.site-inner,
	.title-area {
		width: 100%;
	}

	.header-image .site-header .wrap {
		background-position: center top;
	}

	.site-header .widget-social .social-custom-text {
		display: block;
		padding: 0;
	}

	.genesis-nav-menu li,
	.site-header ul.genesis-nav-menu,
	.site-header .search-form {
		float: none;
	}

	.genesis-nav-menu,
	.site-description,
	.site-header .title-area,
	.site-header .search-form,
	.site-title {
		text-align: center;
	}

	.site-header .search-form {
		margin: 16px auto ;
	}

	.home-slider div.soliloquy-container .soliloquy-caption-inside {
		max-width: inherit;
	}

	div.soliloquy-container h2 {
		font-size: 26px;
		font-size: 2.6rem;
	}

	div.soliloquy-container h3 {
		font-size: 24px;
		font-size: 2.4rem;
	}

	div.soliloquy-container h4 {
		font-size: 22px;
		font-size: 2.2rem;
	}

	div.soliloquy-container h5 {
		font-size: 20px;
		font-size: 2rem;
	}

	div.woocommerce ul.products[class*=columns-] li.product, 
	div.woocommerce-page ul.products[class*=columns-] li.product{
		width: 48%;
	}

	div.woocommerce #content div.product div.images,
	div.woocommerce #content div.product div.summary,
	div.woocommerce div.product div.images,
	div.woocommerce div.product div.summary,
	body.woocommerce-page #content div.product div.images,
	body.woocommerce-page #content div.product div.summary,
	body.woocommerce-page div.product div.images,
	body.woocommerce-page div.product div.summary {
		float: left;
		width: 48%;
	}


	div.woocommerce #content div.product div.summary,
	div.woocommerce div.product div.summary,
	body.woocommerce-page #content div.product div.summary,
	body.woocommerce-page div.product div.summary {
		float: right;
	}

	.genesis-nav-menu li.right {
		display: none;
	}

	div.gform_wrapper.button-right_wrapper .gform_footer {
		max-width: inherit;
	}

	div.gform_wrapper.button-right_wrapper ul li:last-child {
		max-width: 80%;
	}

	.widget-area blockquote {
		margin-bottom: 60px;
	}

	.wsm-banner .custom-text {
		padding-left: 0;
	}

	.banner-title b {
		font-size: 100px;
		font-size: 10rem;
	}

	.sidebar .cta-box .cta-title {
		font-size: 20px;
		font-size: 2rem;
	}

	.sidebar .cta-box .more-link {
		font-size: 20px;
		font-size: 2rem;
		left: auto;
		right: 15px;
	}

	div.gform_wrapper .chzn-container {
		width: 100%;
	}

	.footer-widgets-1,
	.footer-widgets-2,
	.footer-widgets-3,
	.footer-widgets-4,
	.bottom-widgets .widget-area {
		width: 48%;
	}

	.footer-widgets-1,
	.footer-widgets-3,
	.bottom1,
	.bottom3 {
		clear: both;
		float: left;
		margin: 0 0 20px;
	}

	.footer-widgets-2,
	.footer-widgets-4,
	.bottom2,
	.bottom4 {
		float: right;
		margin: 0 0 20px;
	}

	.footer-widgets .footer-widgets-2 {
		padding-left: 0;
	}

	table.tablepress-responsive-tablet {
		border: 0;
	}

	table.tablepress-responsive-tablet tbody tr {
		margin-left: -4px;
	}

	table.tablepress-responsive-tablet tbody {
		border-top: 1px solid #ccc;
	}

	table.tablepress-responsive-tablet thead {
		border-bottom: 1px solid #ccc;
		padding-bottom: 1px;
	}

	.five-sixths,
	.four-sixths,
	.four-fifths,
	.one-fifth,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-fifths,
	.three-sixths,
	.two-fourths,
	.two-fifths,
	.two-sixths,
	.two-thirds {
		margin: 0;
		width: 100%;
	}

	.site-footer {
		padding: 25px 0 15px;
	}

	.site-footer .wrap {
		display: flex;
		flex-direction: column-reverse;
	}

	.copyright,
	.credit {
		float: none;
		text-align: left;
		width: 100%;
	}

	.site-footer p {
		margin: 0 0 10px;
	}

	.content-sidebar .alignfull, .sidebar-content .alignfull, .content-sidebar .alignwide, .sidebar-content .alignwide {
		width: auto;
	}
}


@media only screen and (max-width: 700px) {

	.content,
	.sidebar-primary,
	.site-header .widget-area,
	.site-inner,
	.title-area {
		width: 100%;
	}

	.home-slider .wrap {
		max-width: 100%;
	}

	.sidebar-content .content-sidebar-wrap,
	.content-sidebar .content-sidebar-wrap {
		background: none;
	}

	.home-mid-nav .menu .menu-item a {
		border: 0;
	}

	.entry-categories,
	.entry-tags {
		float: none;
		margin: 0;
		width: 100%;
	}

	div#checkout_page_container table.checkout_cart td.wpsc_product_quantity form.qty input[type="text"],
	table.checkout_cart td.wpsc_product_quantity form.qty input[type="text"] {
		margin: 0 0 5px;
		width: 100%;
	}

	table.wpsc_checkout_table_totals,
	.content #checkout_page_container table.checkout_cart,
	div#list_view_products_page_container table.list_productdisplay {
		display: block;
		overflow: scroll;
		width: 100%;
	}

	.content #checkout_page_container table.wpsc_checkout_table_totals {
		overflow: hidden;
	}

	.cta-box .cta-title {
		font-size: 20px;
		font-size: 2rem;
	}

	.cta-box .more-link {
		font-size: 20px;
		font-size: 2rem;
		left: auto;
		right: 15px;
	}

	.sidebar .cta-box .cta-title {
		font-size: 27px;
		font-size: 2.7rem;
	}

	.sidebar .cta-box .more-link {
		font-size: 25px;
		font-size: 2.5rem;
		left: 15px;
		right: auto;
	}

	.widget_product_search form #s {
		max-width: inherit;
	}

	.sidebar div.gform_wrapper.button-right_wrapper ul li:last-child {
		padding-right:18%;
	}

	/* Responsive Navigation
	---------------------------------- */

	nav.nav-primary {
		background-color: #20221d;
		display: block !important;
	}

	nav.nav-primary .wrap {
		max-width: 100%;
	}

	.menu-toggle,
	.sub-menu-toggle {
		border-radius: 0;
		display: block;
		font-size: 20px;
		font-size: 2rem;
		font-weight: 700;
		margin: 0;
		overflow: hidden;
		padding: 10px;
		text-align: center;
		visibility: visible;
	}

	button.menu-toggle,
	button.sub-menu-toggle {
		color: #fff;
	}

	.menu-toggle {
		background-color: #b7c9d0;
	}

	.menu-toggle:hover {
		background-color: #c4c9ca;
	}

	button.sub-menu-toggle {
		background-color: transparent;
		padding: 10px 8px;
		position: absolute;
		right: 0;
		top: 0;
	}


	.menu-toggle:before {
		content: "\f419";
		font-family: 'Genericons';
	}

	.menu-toggle:hover:before {
		content: "\f419";
		font-family: 'Genericons';
	}

	.menu-toggle.activated:before {
		content: "\f50e";
		font-family: 'Genericons';
	}

	.sub-menu-toggle:before {
		color: #5D5E5E;
		content: "\f510";
		font-family: 'Genericons';
	}

	.sub-menu-toggle.activated:before {
		color: #5D5E5E;
		content: "\f50e";
		font-family: 'Genericons';
	}

	nav.nav-primary {
		display: none;
		position: relative;
	}

	.nav-primary .genesis-nav-menu {
		display: none;
	}

	.nav-primary .genesis-nav-menu .menu-item {
		background-color: #fff;
		color: #5D5E5E;
		display: block;
		position: relative;
		text-align: left;
	}

	.nav-primary .genesis-nav-menu .menu-item.first a,
	.nav-primary .genesis-nav-menu .menu-item.last a {
		padding: 10px 24px;
	}

	.nav-primary .genesis-nav-menu .menu-item a {
		background-color: #fff;
		border: 0;
		border-bottom: 1px solid #ddd;
		color: #5D5E5E;
	}

	.nav-primary a:hover,
	.nav-primary .current-menu-item > a,
	.nav-primary .genesis-nav-menu .menu-item a:hover {
		background-color: #b7c9d0;
		color: #FFF;
	}


	.nav-primary .genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.nav-primary .genesis-nav-menu .sub-menu {
		background: none;
		clear: both;
		display: none;
		opacity: 1;
		padding: 0;
		position: static;
		width: 100%;
	}

	.nav-primary .genesis-nav-menu .sub-menu .menu-item {
		padding: 0;
	}

	.nav-primary .genesis-nav-menu .sub-menu a {
		background-color: #e7e9ea;
		border-left: 0;
		padding: 10px 24px;
		position: relative;
		width: auto;
	}

	.nav-primary .genesis-nav-menu .sub-menu .sub-menu {
		margin: 0;
	}

	.nav-primary .genesis-nav-menu .sub-menu .sub-menu a {
		background-color: #f1f1f1;
		padding-left: 30px;
	}

	.nav-primary .genesis-nav-menu .sub-menu .sub-menu .sub-menu a {
		background-color: #f7f7f7;
		padding-left: 40px;
	}

	.content-sidebar .wp-block-group ,
	.sidebar-content .wp-block-group {
		margin-left: auto;
		margin-right: auto;
	}

	.content-sidebar .wp-block-group .wp-block-group__inner-container,
	.sidebar-content .wp-block-group .wp-block-group__inner-container{
		width: 100%;
		float: none;
	}	

}

@media only screen and (max-width: 480px) {

	.nav-header .genesis-nav-menu a {
		padding: 4px 18px;
	}

	.cta-box .cta-title {
		font-size: 27px;
		font-size: 2.7rem;
	}

	.cta-box .more-link {
		font-size: 25px;
		font-size: 2.5rem;
		left: 15px;
		right: auto;
	}

	.home-cta-right {
		margin-bottom: 0;
	}

	.home-mid-nav .widget-title {
		font-size: 20px;
		font-size: 2rem;
		top: -100px;
	}

	.home-mid-nav .widget-title span {
		padding: 8px 30px;
	}

	div.woocommerce #content div.product div.images,
	div.woocommerce #content div.product div.summary,
	div.woocommerce div.product div.images,
	div.woocommerce div.product div.summary,
	body.woocommerce-page #content div.product div.images,
	body.woocommerce-page #content div.product div.summary,
	body.woocommerce-page div.product div.images,
	body.woocommerce-page div.product div.summary {
		float: none;
		width: 100%;
	}

	div.woocommerce #content div.product div.images,
	div.woocommerce div.product div.images,
	body.woocommerce-page #content div.product div.images,
	body.woocommerce-page div.product div.images {
		margin: 0 auto 20px;
		width: 80%;
	}

	body.woocommerce-page div.product div.images img,
	body.woocommerce-page #content div.product div.images img {
		display: block;
		margin: 0 auto;
		max-width: 100%;
		width: auto;
	}

	.footer-widgets-1,
	.footer-widgets-2,
	.footer-widgets-3,
	.footer-widgets-4,
	.bottom-widgets .widget-area {
		float: none;
		margin: 0 0 20px;
		width: 100%;
	}
}

@media only screen and (max-width: 410px) {
	body.woocommerce-page table.cart td.actions .coupon .input-text,
	body.woocommerce-page #content table.cart td.actions .coupon .input-text {
		width: 48%;
	}
}

@media only screen and (max-width: 380px) {

	.banner-content {
		margin: 0;
	}

	h3.banner-title {
		font-size: 40px;
		font-size: 4rem;
	}

	.banner-title .percent,
	.banner-title b {
		font-size: inherit;
	}

	.banner-title br {
		display: none;
	}

	.home-mid-nav .widget-title {
		position: static;
		width: 100%;
	}

	.widget-social a.genericon {
		margin-bottom: 10px;
	}

	.sidebar .cta-box .cta-title,
	.cta-box .cta-title {
		font-size: 20px;
		font-size: 2rem;
	}

	.sidebar .cta-box .more-link,
	.cta-box .more-link {
		font-size: 20px;
		font-size: 2rem;
		left: auto;
		right: 15px;
	}

	.widget-social a.genericon {
		margin-right: 5px;
	}

	.content .entry-title {
		clear: both;
		display: block;
	}

	.tax-it_exchange_tag .it_exchange_prod,
	.tax-it_exchange_category .it_exchange_prod,
	.product_grid_display .product_grid_item,
	.entry-content div.product_grid_display .product_grid_item,
	div#it-exchange-store .it-exchange-products li:nth-child(3n+3),
	div#it-exchange-store .it-exchange-products li:nth-child(2n+1),
	div#it-exchange-store .it-exchange-products li,
	div#it-exchange-store .it-exchange-products li:nth-child(3n+1),
	div.woocommerce ul.products li.product:nth-child(2n),
	body.woocommerce-page ul.products li.product:nth-child(2n),
	div.woocommerce ul.products li.product,
	div.woocommerce ul.products[class*=columns-] li.product:nth-child(2n),
	div.woocommerce[class*="columns-"] ul.products li.product,
	body.woocommerce-page ul.products li.product,
	body.woocommerce ul.products.columns-3 li.product,
	body.woocommerce-page ul.products.columns-3 li.product,
	body.woocommerce ul.products[class*=columns-] li.product,
	body.woocommerce-page ul.products[class*=columns-] li.product,
	body.woocommerce ul.products[class*=columns-] li.product:nth-child(2n),
	body.woocommerce-page ul.products[class*=columns-] li.product:nth-child(2n) {
		float: none;
		margin: 0 auto 20px;
		width: 90%;
	}

	div.woocommerce div.product .woocommerce-tabs ul.tabs li a,
	div.woocommerce #content div.product .woocommerce-tabs ul.tabs li a,
	body.woocommerce-page div.product .woocommerce-tabs ul.tabs li a,
	body.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a
	div.woocommerce div.product .woocommerce-tabs ul.tabs li,
	div.woocommerce #content div.product .woocommerce-tabs ul.tabs li,
	body.woocommerce-page div.product .woocommerce-tabs ul.tabs li,
	body.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li {
		display: block;
	}

	div.woocommerce #content div.product div.images,
	div.woocommerce div.product div.images,
	body.woocommerce-page #content div.product div.images,
	body.woocommerce-page div.product div.images {
		max-width: inherit;
		width: 100%;
	}

	.single_product_display .imagecol,
	.single_product_display .productcol {
		float: none;
		width: auto;
	}

	.single_product_display .imagecol {
		margin: 0 auto 20px;
	}

	div.woocommerce table.shop_table,
	body.woocommerce-page table.shop_table {
		display: block;
		overflow: scroll;
		overflow-x:scroll;
		-webkit-overflow-scrolling:touch;
		width: 100%;
	}

	body.woocommerce-page .cart_totals table.shop_table {
		display: table;
	}

	div.gform_wrapper .top_label li.gfield.gf_left_half,
	div.gform_wrapper .top_label li.gfield.gf_right_half,
	div.gform_wrapper .ginput_complex .ginput_left,
	div.gform_wrapper .ginput_complex .ginput_right {
		float: none;
		width: 100%;
	}

	div#it-exchange-cart .it-exchange-cart-item-thumbnail img {
		display: block;
		margin: 0 auto;
		width: 80px;
	}

	div#it-exchange-cart-actions input[type="submit"] {
		display: block;
		float: none;
		margin: 0 0 10px;
		width: 100%;
	}

	div.it-exchange-table-row {
		text-align: center;
	}

	div.it-exchange-table-row div.it-exchange-table-column {
		display: block;
		float: none;
		width: 100% !important;
	}

	div#it-exchange-cart-totals div.it-exchange-table-column-inner {
		font-weight: 500;
	}
}


/* Gravity Forms - payment form
---------------------------------------------------------------------------------------------------- */
.gform-body {
	--color-error: #c02b0a;
}
.gform-theme--foundation .gform-body .gform_fields {
	row-gap: 3.2rem;
}

.gform-theme--foundation .gform-body .gform_fields .gfield label {
	font-size: 16px;
	font-weight: 400
}

.gform-theme--foundation .gform-body .gform_fields .gfield input {
	font-size: 18px;
	font-weight: 400;
}

.gform-theme--foundation .gform-body .gform_fields .gfield.payment-postal-code span.ginput_address_zip {
	inline-size: 100%;
}
.gform-theme--foundation .gform-body .gform_fields .gfield.payment-postal-code input {
	font-size: 16px;
}
.gform-theme--foundation .gform-body .gform_fields .gfield.payment-postal-code input::placeholder {
	color: darkgray;
}

.gform-theme--foundation .gform-body .gform_fields .gfield.desktop-right-column {
	margin-top: 2rem;
}

@media(min-width: 769px) {
	.gform-theme--foundation .gform-body .gform_fields .gfield {
		grid-column: 1/7;
	}

	.gform-theme--foundation .gform-body .gform_fields .gfield.desktop-right-column {
		grid-column: 7/13;
		grid-row: 1/7;
		margin-top: 0;
	}
}

@media(min-width: 993px) {
	.gform-theme--foundation .gform-body .gform_fields {
		column-gap: 4.8rem;
	}
}

.gform-theme--foundation .gform-footer {
	margin-top: 4rem;
}

.gform-theme--foundation .gform-footer input.gform_button {
	background-color: var(--link-colour) !important;
	border: none !important;
	border-radius: 0 !important;
	color: #fff !important;
	cursor: pointer;
	font-size: 17px !important;
	font-size: 1.7rem !important;
	font-weight: 400 !important;
	padding: 12px 20px !important;
	width: auto;
}

.gform-theme--foundation .gform-footer input.gform_button:hover,
.gform-theme--foundation .gform-footer input.gform_button:active {
	background-color: var(--link-hover-colour) !important;
	color: #fff !important;
	box-shadow: 0px 0px 10px -2px rgba(4, 38, 80, 0.35) !important;
}

.gform-body .osim-paysafe-errors {
	color: var(--color-error);
}

p.gfield_label.payments-label {
	margin-bottom: 1.25rem;
}
#osim-paysafe-card-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}
#osim-paysafe-card-wrapper > div {
	width: 100%;
	height: 38px !important;
	padding: 0 10px !important;
	border-radius: 3px;
	border: 1px solid rgb(104, 110, 119);
}
#osim-paysafe-card-wrapper div#osim-paysafe-expiry,
#osim-paysafe-card-wrapper div#osim-paysafe-cvv,
#osim-paysafe-card-wrapper fieldset.gfield.payment-postal-code {
	flex: 0 0 calc(50% - 0.75rem);
}
#osim-paysafe-card-wrapper div#osim-paysafe-errors {
	border: none;
}

/** Confirmation messages */
.pw-gf-validation {
	border: 1px solid transparent;
	border-radius: 3px;
	padding: 20px 16px;
}

.pw-gf-validation h2.message {
	display: flex;
	align-items: flex-start;
	gap: 0.75em;
	margin: 0;
	font-size: 16px;
}

.pw-gf-validation .pw-gf-icon {
	flex: 0 0 auto;
	width: 1.2em;
	height: 1.2em;
	border-radius: 999px;
	border: 2px solid currentColor;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	margin-top: 0.05em;
}

/** Success */
.pw-gf-validation.success {
	border-color: #2e7d32;
	background: rgba(46, 125, 50, 0.08);
}

.pw-gf-validation.success h2.message {
	color: #053b09;
}

.pw-gf-validation.success .pw-gf-icon {
	border-color: #2e7d32;
}

.pw-gf-validation.success .pw-gf-icon::before {
	content: "✓";
	color: #2e7d32;
	font-size: 0.75em;
	font-family: inherit;
}

/** Error */
.pw-gf-validation.error {
	border-color: #c62828;
	background: rgba(198, 40, 40, 0.08);
}

.pw-gf-validation.error h2.message {
	color: #5b0b0b;
}

.pw-gf-validation.error .pw-gf-message-lines {
	display: block;
}

.pw-gf-validation.error .pw-gf-message-lines p {
	margin: 0;
}

.pw-gf-validation.error .pw-gf-message-lines p + p {
	margin-top: 0.625rem;
}

.pw-gf-validation.error .pw-gf-message-lines p .error-label {
	font-weight: 400;
}

.pw-gf-validation.error .pw-gf-icon {
	width: 1.4em;
	height: 1.4em;
	border-color: #c62828;
}

.pw-gf-validation.error .pw-gf-icon::before {
	content: "!";
	color: #c62828;
	font-size: 0.82em;
	font-family: inherit;
	font-weight: bold;
	line-height: 1;
	transform: translateY(-0.02em);
}

/** Secondary headings */
.payment-thank-you {
	margin-top: 2.5rem;
}

.payment-thank-you h2 {
	font-size: 2rem;
}

/** Global Payments form */
#osim-gp-card-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

#osim-gp-card-wrapper > div:not(#osim-gp-errors) {
	flex: 0 0 100%;
	min-height: 42px;
}

#osim-gp-card-wrapper #osim-gp-card-expiration,
#osim-gp-card-wrapper #osim-gp-card-cvv {
	flex-basis: calc(50% - 0.75rem);
}

#osim-gp-card-wrapper iframe {
	display: block;
	height: 42px !important;
	width: 100% !important;
}

.osim-gp-native-submit {
	left: -100vw;
	position: absolute;
	visibility: hidden;
}

#osim-gp-submit {
	margin-top: 0.5rem;
	overflow: hidden;
	position: relative;
}

#osim-gp-submit.is-processing {
	cursor: wait;
}

#osim-gp-submit.is-processing iframe {
	pointer-events: none;
}

#osim-gp-submit.is-processing::before {
	align-items: center;
	animation: osim-gp-processing-lines 1.1s linear infinite;
	background:
		linear-gradient(rgba(12, 99, 206, 0.88), rgba(12, 99, 206, 0.88)),
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.27) 25%,
			rgba(255, 255, 255, 0.05) 25%,
			rgba(255, 255, 255, 0.05) 50%,
			rgba(255, 255, 255, 0.27) 50%,
			rgba(255, 255, 255, 0.27) 75%,
			rgba(255, 255, 255, 0.05) 75%,
			rgba(255, 255, 255, 0.05) 100%
		);
	background-size: auto, 32px 32px;
	backdrop-filter: blur(1px);
	bottom: 0;
	color: #fff;
	content: "Processing";
	display: flex;
	font-family: Roboto, Arial, sans-serif;
	font-size: 17px;
	font-weight: 400;
	justify-content: center;
	left: 0;
	line-height: 20px;
	padding-left: 30px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

#osim-gp-submit.is-processing::after {
	animation: osim-gp-processing-spinner 0.75s linear infinite;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	border-top-color: #fff;
	content: "";
	height: 16px;
	left: calc(50% - 64px);
	position: absolute;
	top: calc(50% - 8px);
	width: 16px;
	z-index: 3;
}

@keyframes osim-gp-processing-lines {
	from {
		background-position: 0 0, 0 0;
	}

	to {
		background-position: 0 0, 32px 0;
	}
}

@keyframes osim-gp-processing-spinner {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	#osim-gp-submit.is-processing::before,
	#osim-gp-submit.is-processing::after {
		animation: none;
	}
}

#osim-gp-errors {
	display: none;
	flex: 0 0 100%;
	font-size: 14px;
	color: #c62828;
	background-color: rgba(192, 43, 10, 0.03);
	padding: 1rem 1.5rem;
	margin: 0.5rem 0 1rem;
	border: 1px solid rgba(192, 43, 10, 0.25);
	border-radius: 3px;
}

#osim-gp-errors.show-error {
	display: block;
}

@media(max-width: 480px) {
	#osim-gp-card-wrapper #osim-gp-card-expiration,
	#osim-gp-card-wrapper #osim-gp-card-cvv {
		flex-basis: 100%;
	}
}

/* END: Gravity Forms - payment form
---------------------------------------------------------------------------------------------------- */
