/*
Theme Name: OFS
Theme URI: https://www.qzdesign.co.uk/wordpress/ofs
Author: QZ Design
Author URI: https://www.qzdesign.co.uk/
Description: Oxford Fieldpaths Society Theme
Template: qz-customizable
Version: 1.5.2
License: All rights reserved
Tags: ofs
Text Domain: ofs

Oxford Fieldpaths Society WordPress Theme
Copyright (c) 2017-2025 QZ Design and Oxford Fieldpaths Society;
all rights reserved.
*/

/**
 * Font fixes for Safari - possibly also for Android 2.2/2.3
 */
body {
  text-rendering: auto; /* no spaces between words */
  -webkit-text-stroke-width: 0.000001em; /* font is blocky and too bold */
}

/**
 * Layout - 5/40 padding for logo
 */

/* Top-right widget area */
.widget-area.ofs-header-top {
  float: right;
  position: relative;
  z-index: 4;
}
.widget-area.ofs-header-top .widget-title {
  display: none;
}
.widget-area.ofs-header-top .widget {
  margin: 0;
}
/* WPZOOM Social Icons - reduce horizontal spacing */
.widget-area.ofs-header-top .zoom-social-icons-widget
  .zoom-social_icons-list__item
{
  margin-left: 0.5em;
}
.widget-area.ofs-header-top .zoom-social-icons-widget
  .zoom-social_icons-list__item:first-child
{
  margin-left: 0;
}
/* WPZOOM Social Icons - remove coloured background */
.widget-area.ofs-header-top .zoom-social-icons-widget .socicon {
  padding: 0 !important;
  background-color: transparent !important;
}
/* WPZOOM Social Icons - set hover colour to theme colour */
.widget-area.ofs-header-top .zoom-social-icons-widget a:hover .socicon {
  color: #c4edaa;
}
/* Wrap site title and description around widget area */
.site-top1 header {
  display: block;
  float: none;
}

/* No padding on container */
.has-sidebar .site-top2,
.site {
  padding: 0;
}

/* Padding on sidebar (and new size) */
.has-sidebar header > .header-image,
#secondary.widget-area {
  width: 24.03846154%; /* 250 / 1040 */
  padding-left: 3.004807692%; /* 250 * 5/40 / 1040 */
  margin: 0;
  float: left;
}
.has-sidebar header > .header-image {
  padding-top: 3.004807692%;
  position: absolute;
  top: 0;
  left: 0;
}
.ofs-header-widgets-area {
  width: 30.04807692%; /* 250 * 50/40 / 1040 */
  margin-right: -1px; /* prevent rounding error overflow */
  float: left;
}
.ofs-header-image-space {
  margin-bottom: 10%;
  padding-top: 100%;
}
.ofs-header-image-space:after {
  display: block;
  margin-bottom: -10%;
  margin-bottom: min(-10%, -1rem);
  padding-top: 10%;
  padding-top: max(10%, 1rem);
  content: ' ';
}
.ofs-header-widgets-container {
  margin-top: 14px;
  margin-top: 1rem;
  padding-top: 14px;
  padding-top: 1rem;
}
#ofs-header-widgets {
  padding: 0 10%;
}
#ofs-header-widgets .screen-reader-text {
  position: absolute !important;
	clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
}

/* Padding on content area (and new size) */
body.has-sidebar .site-content {
  width: 62.25961538%; /* (1040 - 250 * 50/40 - 80) / 1040 */
  padding-right: 3.846153846%; /* 40 / 1040 */
  float: right; /* is reset for 'full width' pages */
}
.ofs-header-except-image .site-header .site-title a {
  vertical-align: top;
}
.ofs-header-except-image .ofs-header-and-menu-container,
.has-sidebar .main-navigation-container {
  width: 69.95192308%; /* (1040 - 250 * 50/40) / 1040 */
}
.ofs-header-except-image .ofs-header-and-menu-container {
  float: right; /* @todo use layout option */
}
.has-sidebar .ofs-header-except-image .ofs-header-and-menu-container
  .main-navigation-container
{
  float: none;
  width: auto;
}
.has-sidebar .main-navigation {
  margin: 0;
}

/**
 * Menu
 */

/* Visual styles */
.main-navigation li ul {
  margin-left: -1px;
}
.main-navigation li ul li a {
  border: 1px solid #ededed;
  border-top-width: 0;
  border-bottom-width: 0;
  width: auto;
  white-space: nowrap;
}
.main-navigation li ul li:first-child a {
  border-top-width: 1px;
}
.main-navigation li ul li:last-child a {
  border-bottom-width: 1px;
}
.main-navigation li ul li.last-child a { /* IE<=8 */
  border-bottom-width: 1px;
}
.main-navigation li ul li:first-child ul {
  /* Account for 1px top border of <a> sibling */
  top: 1px;
}
/* Increase by 1px to push focus ring outwards */
.main-navigation li ul li a label {
  margin-right: -11px;
  margin-right: -0.7857142857rem;
  margin-right: calc(-0.714285714rem - 1px);
  margin-left: -11px;
  margin-left: -0.7857142857rem;
  margin-left: calc(-0.714285714rem - 1px);
  padding-right: 11px;
  padding-right: 0.7857142857rem;
  padding-right: calc(0.714285714rem + 1px);
  padding-left: 11px;
  padding-left: 0.7857142857rem;
  padding-left: calc(0.714285714rem + 1px);
}
.main-navigation li ul li:first-child a label {
  margin-top: -11px;
  margin-top: -0.7857142857rem;
  margin-top: calc(-0.714285714rem - 1px);
  padding-top: 11px;
  padding-top: 0.7857142857rem;
  padding-top: calc(0.714285714rem + 1px);
}
.main-navigation li ul li:last-child a label {
  margin-bottom: -11px;
  margin-bottom: -0.7857142857rem;
  margin-bottom: calc(-0.714285714rem - 1px);
  padding-bottom: 11px;
  padding-bottom: 0.7857142857rem;
  padding-bottom: calc(0.714285714rem + 1px);
}
.main-navigation li ul li.last-child a label { /* IE<=8 */
  margin-bottom: -11px;
  padding-bottom: 11px;
}

/* Gradient and positioning */
.main-navigation {
  /* 3/2 * 40 / (1040 - 250 * 50/40) */
	background: -webkit-gradient(linear, left top, right top,
                color-stop(0, rgba(208, 208, 208, 0)),
                color-stop(0.0824742268, #d0d0d0)
              ) transparent;
  background:
    linear-gradient(to right, rgba(208, 208, 208, 0), #d0d0d0 8.24742268%)
    transparent;
}
.main-navigation-container:after {
  content: ' ';
  display: block;
  height: 2px;
  background-color: #ededed;
	background: -webkit-gradient(linear, left top, right top,
                color-stop(0, rgba(237, 237, 237, 0)),
                color-stop(0.0824742268, #ededed)
              ) transparent;
  background:
    linear-gradient(to right, rgba(237, 237, 237, 0), #ededed 8.24742268%)
    transparent;
}

/* Hide overflow without hiding submenus, remove default border */
.main-navigation ul.nav-menu,
.main-navigation div.nav-menu > ul {
  white-space: nowrap;
  overflow: hidden;
  display: block;
  width: auto;
  border: 0;
}
.main-navigation li {
  position: static;
}
.main-navigation li li {
  position: relative;
}
.main-navigation li ul {
  top: auto;
}

/* Prevent exceeding right-hand side of window */
.main-navigation li ul.ofs-overflows-right {
  right: 0;
}
.main-navigation li ul.ofs-overflows-right ul,
.main-navigation li ul ul.ofs-overflows-right {
  right: 100%;
  left: auto;
  margin: 0 -1px 0 0;
}

/* Fix glitchy display on Edge of border below menu due to REM rounding bug */
.ofs-ms-edge ul.nav-menu,
.ofs-ms-edge div.nav-menu > ul {
  /* need to specify exact px height otherwise it glitches by 1 pixel */
  height: 44px;
}

/**
 * Sidebar background
 */

.main-content-area {
  position: relative;
}
.ofs-sidebar-background {
  position: absolute;
  top: 0;
  right: 69.95192308%; /* 1 - (250 * 50/40 / 1040) */
  bottom: 0;
  left: 0;
  overflow: hidden;
  height: 100%;
}
.ofs-sidebar-background .ofs-gradient-part {
  position: relative;
  /* Fade in over 60px at full width, squashed to 50px with rapid fade start */
  margin-top: 14px;
  margin-top: 1rem;
  padding-bottom: 16%; /* 50 / (250 * 50/40) */
  background-color: #d0d0d0;
	background: -webkit-gradient(linear, left top, left bottom,
                color-stop(0, rgba(208, 208, 208, 0)),
                color-stop(0.2, rgba(208, 208, 208, 0.3333333333)),
                color-stop(1, #d0d0d0)
              ) transparent;
  background: linear-gradient(to bottom,
                rgba(208, 208, 208, 0),
                rgba(208, 208, 208, 0.3333333333) 20%,
                #d0d0d0 100%
              ) transparent;
}
.ofs-sidebar-background .ofs-gradient-part:before {
	display: block;
	position: absolute;
  top: -14px;
	top: -1rem;
	right: 0;
	left: 0;
  height: 14px;
	height: 1rem;
	content: ' ';
}
.ofs-sidebar-background .ofs-solid-part {
  background-color: #d0d0d0;
  height: 100%;
}

/* Ensure submenus and widgets z-sort in front */
.site-header {
  z-index: 3;
}
.widget-area .widget {
  position: relative;
}

/* Adjust colour for light greys */
table.em-calendar,
table.em-calendar th,
table.em-calendar td {
	border-color: #c1c1c1; /* ededed - 0.07058823529411764705882352941176 */
}
table.em-calendar td.eventless-pre,
.em-calendar td.eventless-post {
	color: #a6a6a6; /* ccc - 0.2 */
}
table.em-calendar td.eventless-today,
table.em-calendar td.eventful-today,
.em.em-calendar .em-cal-body .eventless-today,
.em.em-calendar .em-cal-body .eventful-today {
  /* #a9a9a9; comment: cfcfcf - 0.18823529411764705882352941176471 */
  background-color: #cfcfcf;
  background-color: rgba(0, 0, 0, 0.18823529);
}

/**
 * Content background
 */

.wrapper {
  clear: right;
  position: relative;
}
.ofs-full-width-primary-content-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 30.04807692%;
}
.site-content {
  position: relative;
  z-index: 2;
}
/* This is for primary content background at narrow width */
.site-content:before {
  position: absolute;
  z-index: -1;
  top: -24px;
  top: -1.714285714rem;
  right: 0;
  bottom: 0;
  left: 0;
  /* `display: none` alone does not seem to work properly in Firefox */
  display: none;
  content: none;
}
.ofs-content-background-container {
  margin-left: 30.04807692%;
  position: relative;
}
.ofs-content-background-border {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 100%;
  max-height: 100vh;
}
.ofs-content-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 24px 5.498281787%;
  margin: 1.714285714rem 5.498281787%;
}
.ofs-content-background-container.ofs-bottom .ofs-content-background-border {
  top: auto;
  bottom: 0;
}
.ofs-content-background-container.ofs-fixed {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  margin: 0;
}
.ofs-content-background-container.ofs-fixed
    .ofs-content-background-container-inner {
  margin: 0 auto;
  max-width: 1040px;
	max-width: 74.285714286rem;
  position: relative;
}
.ofs-content-background-container.ofs-fixed .ofs-content-background-border {
  height: 100vh;
  margin-left: 30.04807692%;
}

/**
 * Main content
 */

.site-content a {
  text-decoration: underline;
}
.site-content a:hover {
  text-decoration: none;
}
img.ofs-height-100 {
  height: 100px;
}

.ofs-columns-2 {
  column-count: 2;
  text-align: left;
}
.entry-content .ofs-columns-2 img {
  /* Fix for shadow appearing at bottom of previous column in Chrome */
  -webkit-transform: translateZ(0);
}

/**
 * Image attributions
 */
.ofs-has-attribution {
  display: inline-block;
  max-width: 100%;
  position: relative;
  z-index: 1;
}
.ofs-has-attribution.aligncenter {
  display: block;
}
.ofs-has-attribution > a,
.ofs-has-attribution img {
  vertical-align: middle;
  max-width: 100%;
}
.ofs-has-attribution > a {
  display: inline-block;
}
.wp-caption .ofs-has-attribution {
  display: block;
  margin: 0 auto 4px;
}
.wp-caption .ofs-has-attribution > * {
  margin-bottom: 0;
}
.ofs-has-attribution cite {
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #444;
  background-color: rgba(68, 68, 68, 0.5);
  font-size: 10px;
  font-size: 0.7142857143rem;
  font-style: normal;
  line-height: 1;
  padding: 0 1px;
  border-bottom-right-radius: 3px;
}
.ofs-has-attribution cite,
.ofs-has-attribution cite a {
  color: #ddd;
}
.ofs-has-attribution a {
  position: relative;
}
.ofs-has-attribution img {
  position: relative;
  z-index: -1;
}
.ofs-has-attribution cite a {
  z-index: 2;
}
.image-attachment .ofs-has-attribution cite {
  font-size: 12px;
  font-size: 0.8571428571rem;
  line-height: 1.25;
  padding: 0 3px;
}
.image-attachment .ofs-has-attribution cite a {
  vertical-align: baseline;
}

/**
 * Event Pages
 */

.em .em-notice.em-notice-icon .em-icon {
  margin-bottom: 0;
}
.ofs-em-map {
  /* @todo margin should depend on font size settings */
	margin-bottom: 13.5px;
	margin-bottom: 0.96428571428571rem;
  max-width: 100%;
  border: 1px solid #ccc;
}
.em .em-location-map-container {
	aspect-ratio: 3/2;
}

/* Map balloon */
/* And override silly `!important` styles set for `.em.pixelbones` in EM */

.em-events-list.em-events-map .em-map-balloon-content h2 {
  margin: 0;
  padding: 0;
  font-size: 100%;
  color: inherit;
}
.em-events-list.em-events-map .em-map-balloon-content > ul {
  margin-top: 2px !important;
}
.em-events-list.em-events-map .em-map-balloon-content > ul > li {
  display: block;
}
.em-events-list.em-events-map .em-map-balloon-content ul li ul {
  margin: 0 !important;
  color: inherit !important;
}
.em-events-list.em-events-map .em-map-balloon-content ul li ul li {
  padding: 0;
}
.em-events-list.em-events-map .em-map-balloon-content ul li:last-child {
  padding-bottom: 0;
}

/* Fix map balloon close button since latest Google change (Sept 2024) */
.em-location-map-container .gm-style-iw-c {
  display: block; /* revert flex style */
  padding-top: 12px !important; /* revert inline style */
}
/* have close button wrapped */
.em-location-map-container .gm-style-iw-c .gm-style-iw-chr {
  float: right;
  /* ... and nicely positioned */
  position: relative;
  top: -6px;
  left: 5px;
  /* ... not extending downwards more than necessary */
  height: 1px;
}
.em-location-map-container .gm-style-iw-c .gm-style-iw-d {
  overflow: visible;
}
/* ... not too big */
.em-location-map-container .gm-style-iw-c button {
  /* Ideally 16px, but Chrome has rounding errors */
  /* So it must be less than other dimensions */
  height: 15px !important;
  width: 15px !important;
}
.em-location-map-container .gm-style-iw-c button span {
  margin: 0 !important;
  height: 16px !important;
  width: 16px !important;
}
/* ... and content actually wrapping
 * - requires content to have a container for the first element */
.em-location-map-container .gm-style-iw-d .em-map-balloon-content > *:first-child {
  display: block;
  padding-right: 16px;
}
/* Fix for Google rubbish - both Chrome and Maps API */
.em-location-map-container .gm-style-iw-d {
  overflow: visible !important;
}
/* Chrome is broken, it needs help to understand specificity */
.em-location-map-container .gm-style-iw-c {
  padding: 12px 12px 10px !important;
}

/* other stuff */
.ofs-event-or-location-details {
  text-align: left;
}
.em.pixelbones .ofs-event-or-location-details
  button.input.em-event-add-to-calendar:nth-last-child(2)
{
  margin-bottom: 0 !important;
}
.ofs-event-or-location-details:after {
  clear: both;
  display: block;
  content: ' ';
}
p.ofs-list-intro {
  font-weight: normal;
  margin-bottom: 0;
}

/**
 * Event Search Form
 */

/* Restore single-row form for medium size */
.em.em-search.size-medium.multi-line .em-search-main-bar {
  padding: 10px;
  flex-wrap: nowrap;
}
.em.em-search.size-medium.multi-line .em-search-main-bar .em-search-field {
  flex: auto !important;
  margin-bottom: 0;
	border-right: 1px solid var(--border-color) !important;
  border-bottom: 0 !important;
  padding-bottom: 0;
}
.em.em-search.size-medium.multi-line .em-search-main-bar > .em-search-scope {
	flex: 1 0 180px !important;
}
.em.em-search.size-medium.multi-line .em-search-main-bar
  .em-search-field.em-search-field.em-search-field
{
  margin-bottom: 0;
  padding-bottom: 0;
}
/* Fix layout for small size when date input not shown */
.em.em-search.size-small.multi-line .em-search-main-bar
  .em-search-field.em-search-field.em-search-field
{
	padding-bottom: 5px;
	margin-bottom: 15px;
}
.em.em-search.size-small.multi-line .em-search-main-bar
  .em-search-field + .em-search-field
{
	margin-top: -10px;
}

/**
 * Event Lists - #primary and .LI are for IE7 table polyfill
 */

ul.ofs-events-list {
  display: table;
  position: static;
  overflow: visible;
  padding: 0;
}
.ofs-events-list li,
#primary .ofs-events-list .LI {
  display: table-row;
  width: 100%;
  font-size: 14px;
  font-size: 1rem;
}
.ofs-events-list li >*,
#primary .ofs-events-list .LI >* {
  display: table-cell;
  vertical-align: middle;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: #ccc;
  padding: 7px 0;
  padding: 0.5rem 0;
  padding-right: 21.5px;
  padding-right: 1.535714286rem;
}
.ofs-events-list li:first-child >*,
#primary .ofs-events-list .LI:first-child >* {
  border-top-width: 1px;
}
.ofs-events-list li >*:last-child {
  padding-right: 0;
}
.ofs-events-list li > .last-child,
#primary .ofs-events-list .LI > .last-child {
  padding-right: 0;
}
#primary .ofs-events-list .ofs-image {
  padding-right: 0;
}
.ofs-events-list .ofs-image > a,
.ofs-events-list .ofs-image > img {
  margin-right: 21.5px;
  margin-right: 1.535714286rem;
}
.ofs-events-list .ofs-image:last-child > a,
.ofs-events-list .ofs-image:last-child > img {
  margin-right: 0;
}
.ofs-events-list .ofs-image.last-child > a,
.ofs-events-list .ofs-image.last-child > img {
  margin-right: 0;
}
.ofs-events-list .ofs-image a {
  display: inline-block;
  vertical-align: middle;
}
.ofs-events-list .ofs-image img {
  display: block;
  max-width: none;
  max-width: 30vw;
}
.em.pixelbones .ofs-events-list p.em-notice {
  margin-bottom: 3px !important;
}
.em .ofs-events-list .em-notice.em-notice-thin {
  padding: 0.5em !important;
}
.em .ofs-events-list .em-notice.em-notice-thin.em-notice-icon {
  grid-gap: 0.25em;
}
@media screen and (max-width: 450px) {
  .ofs-events-list .ofs-image img {
    max-width: 135px;
    max-width: 30vw;
  }
}
@media screen and (max-width: 400px) {
  .ofs-events-list .ofs-image img {
    max-width: 120px;
    max-width: 30vw;
  }
}
@media screen and (max-width: 350px) {
  .ofs-events-list .ofs-image img {
    max-width: 105px;
    max-width: 30vw;
  }
}
#primary .ofs-events-list time,
#primary .ofs-events-list .ofs-event,
#primary .ofs-events-list .ofs-location {
  padding-top: 9px;
  padding-top: 0.6428571429rem;
  padding-bottom: 9px;
  padding-bottom: 0.6428571429rem;
}
.ofs-events-list h2,
.ofs-events-list h3 {
  font-family: inherit;
  font-size: 16px;
  font-size: 1.142857143rem;
  margin: 0;
  padding: 0;
}
.ofs-events-list p {
  margin: 12px 0 0;
  margin-top: 0.8571428571rem;
}
/* Shitty Events Manager uses `!important` ***FAR*** too much */
.em.pixelbones .ofs-events-list p {
  margin: 12px 0 0 !important;
  margin-top: 0.8571428571rem !important;
}
.ofs-events-list li,
#primary .ofs-events-list .LI,
.ofs-events-list h2,
.ofs-events-list h3,
.ofs-events-list p {
  line-height: 1.5;
}
.ofs-events-list time > span {
  display: block;
}
.ofs-events-list time > span,
.ofs-events-list .ofs-event p,
.ofs-events-list .ofs-location p {
  margin-top: 7px;
  margin-top: 0.5rem;
}
.ofs-events-list time > span:first-child,
.ofs-events-list p:first-child {
  margin-top: 0;
}
.ofs-events-list time .ofs-dt-extra,
.ofs-events-list p.ofs-event-location {
  font-style: italic;
}

/**
 * Contact Form
 */
body .contact-form label,
body .contact-form label span {
  font-weight: 100;
}

/**
 * Sidebar content
 */

/* Events Calendar */
table.em-calendar td.eventful a,
table.em-calendar td.eventful-today a {
  color: #ff0014;
}
/* This is the only way to override the colours in the SVG background */
.widget-area .widget .em.pixelbones .input select:not([multiple]),
.widget-area .widget .em.pixelbones .input input.select-toggle,
.widget-area .widget .em.pixelbones.input select:not([multiple]),
.widget-area .widget .em.pixelbones.input input.select-toggle {
	background-image: url(
    "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 15 15'%3E%3Cpath stroke='%23759b21' stroke-linecap='square' d='m4.5 6.5 3 3 3-3'/%3E%3C/svg%3E"
  ) !important;
}
.widget-area .widget .em.pixelbones .input select:not([multiple]):focus,
.widget-area .widget .em.pixelbones .input input.select-toggle:focus,
.widget-area .widget .em.pixelbones.input select:not([multiple]):focus,
.widget-area .widget .em.pixelbones.input input.select-toggle:focus {
	background-image: url(
    "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 15 15'%3E%3Cpath stroke='%23757575' stroke-linecap='square' d='m10.5 8.5-3-3-3 3'/%3E%3C/svg%3E"
  ) !important;
}

/**
 * Font fixes for VAGRounded-Light in certain situations on certain
 * devices/browsers:
 * - Bottom half of text clipped in `input`s in Chrome for Android (probably all
 *   WekKit);
 * - Cursor half height in Firefox for Android;
 * - Link underline appears as strikethrough in Firefox for Android.
 */
.ofs-android input:not([type="submit"]):not([type="button"]):not([type="reset"]),
.ofs-android textarea,
.ofs-android select,
.ofs-android #primary
  input:not([type="submit"]):not([type="button"]):not([type="reset"]),
.ofs-android #primary textarea,
.ofs-android #primary select,
.ofs-android.ofs-firefox .site-content a,
.ofs-android.ofs-firefox .widget-area .widget a,
.ofs-android.ofs-firefox footer[role="contentinfo"] p a,
.ofs-android.ofs-firefox footer .site-info a {
  font-weight: 600;
  -webkit-text-stroke: 0.0390625em white;
}
.ofs-android.ofs-firefox .site .widget-area .widget a {
  -webkit-text-stroke-color: #d0d0d0;
}
.ofs-android.ofs-firefox .site-content div.css-search a span {
  -webkit-text-stroke: 0;
}
.ofs-no-full-sidebar .site-header .header-image {
	display: block;
}
.ofs-no-full-sidebar.has-sidebar header > .header-image {
  position: static;
  padding-right: 3.004807692%;
}
.ofs-no-full-sidebar .site-header .site-title {
  width: 0;
}
.ofs-no-full-sidebar .widget-area.ofs-header-top {
  margin-top: 0.3571428571rem;
  margin-right: calc(5.498281787% - 1rem);
}
.ofs-no-full-sidebar .main-navigation-container:after,
.ofs-no-full-sidebar .ofs-header-image-space,
.ofs-no-full-sidebar .ofs-sidebar-background {
  display: none;
}
body.ofs-no-full-sidebar .main-navigation {
  
  background: none transparent;
}
.ofs-no-full-sidebar .ofs-header-except-image .site-top1,
.ofs-no-full-sidebar.has-sidebar .main-navigation-container,
.ofs-no-full-sidebar .ofs-header-except-image .ofs-header-and-menu-container {
  float: none;
  width: auto;
}
.ofs-no-full-sidebar .ofs-header-widgets-area {
  float: none;
  width: auto;
  margin: 0;
}
.ofs-no-full-sidebar .ofs-header-widgets-container {
  margin: 0;
  padding: 0;
}
.ofs-no-full-sidebar .ofs-header-except-image {
  overflow: hidden;
}
.ofs-no-full-sidebar #ofs-header-widgets {
  padding: 14px 5.498281787% 0;
  padding-top: 1rem;
  overflow: hidden;
}
.ofs-no-full-sidebar #ofs-header-widgets .widget {
  margin-bottom: 14px;
  margin-bottom: 1rem;
}
.ofs-no-full-sidebar .nav-menu > ul {
  
  margin-left: -3.52969697%
}
.ofs-no-full-sidebar .ofs-header-item-gradient:before,
.ofs-no-full-sidebar .ofs-header-item-gradient:after {
  content: ' ';
  display: block;
  overflow: hidden;
  height: 100%;
}
.ofs-no-full-sidebar .ofs-header-item-gradient:before {
  float: left;
   
  
}
.ofs-no-full-sidebar .ofs-header-item-with-background {
  position: relative;
}
.ofs-no-full-sidebar .ofs-header-item-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.ofs-no-full-sidebar .ofs-header-item-background:before,
.ofs-no-full-sidebar .ofs-header-item-background:after {
  background-color: #d0d0d0;
}
.ofs-no-full-sidebar .ofs-header-item-background:before {
	background: -webkit-gradient(linear, left top, right top,
                color-stop(0, rgba(208, 208, 208, 0)), color-stop(1, #d0d0d0)
              ) transparent;
  background:
    linear-gradient(to right, rgba(208, 208, 208, 0), #d0d0d0 100%) transparent;
}
.ofs-no-full-sidebar .ofs-menu-background {
  height: 44px;
  height: 3.142857143rem;
  margin-bottom: -44px;
  margin-bottom: -3.142857143rem;
}
.ofs-no-full-sidebar .ofs-ms-edge .ofs-menu-background {
  height: 44px;
  margin-bottom: -44px;
}
.ofs-no-full-sidebar ul.nav-menu > li > a,
.ofs-no-full-sidebar div.nav-menu > ul > li > a {
  position: relative;
}
.ofs-no-full-sidebar .ofs-header-item-separator {
  height: 1px;
  position: relative;
}
.ofs-no-full-sidebar .ofs-header-item-separator:before,
.ofs-no-full-sidebar .ofs-header-item-separator:after {
  background-color: #ededed;
}
.ofs-no-full-sidebar .ofs-header-item-separator:before {
	background: -webkit-gradient(linear, left top, right top,
                color-stop(0, rgba(237, 237, 237, 0)), color-stop(1, #ededed)
              ) transparent;
  background:
    linear-gradient(to right, rgba(237, 237, 237, 0), #ededed 100%) transparent;
}
.ofs-no-full-sidebar .ofs-header-item-separator.ofs-last {
  height: 2px;
}
.ofs-no-full-sidebar .ofs-full-width-primary-content-background {
  display: none;
}
.ofs-no-full-sidebar .site-content:before {
  display: block;
  content: ' ';
}
.ofs-no-full-sidebar .site-header:after {
  content: ' ';
  display: block;
  clear: both;
}
.ofs-no-full-sidebar #secondary.widget-area {
  background-color: #d0d0d0;
}
body.ofs-no-full-sidebar #secondary.widget-area {
  float: left;
}
.ofs-no-full-sidebar .ofs-content-background-container,
.ofs-no-full-sidebar .ofs-content-background-container.ofs-fixed .ofs-content-background-border {
  margin-left: 0;
}
.ofs-no-full-sidebar .ofs-content-background-container .clearfloat {
  clear: right;
}

/* Rules applied by the parent theme not otherwise overridden */
.ofs-no-full-sidebar.has-sidebar .main-navigation-container {
  float: none;
}

/* Gradient rules consistent with normal large screen size
   - n/a without previous rules and will be overridden for small screen */
.ofs-header-item-gradient:before {
  width: 8.24742268%;
}

/* Content width */
.ofs-no-full-sidebar.has-sidebar .site-content {
  width: 92.30769231%;
  padding-left: 3.846153846%; /* 40 / 1040 */
  padding-right: 3.846153846%;
}

/* Header image size */
.ofs-no-full-sidebar.has-sidebar header > .header-image {
padding-top: 11.666666666667px;
padding-top: 0.83333333333333rem;
padding-right: 11.666666666667px;
padding-right: 0.83333333333333rem;
padding-bottom: 0px;
padding-bottom: 0rem;
padding-left: 11.666666666667px;
padding-left: 0.83333333333333rem;
width: 93.333333333333px;
width: 6.6666666666667rem;
}
#ofs-header-widgets .widget-title {
  margin-top: 0;
  margin-bottom: 1px;
  padding-top: 0;
}
.ofs-no-full-sidebar.has-sidebar header > .header-image {
  padding-left: 3.846153846%;
  padding-right: 3.846153846%;
}

  .ofs-no-full-sidebar.has-sidebar .site-header .site-description {
    display: none;
  }
  .ofs-no-full-sidebar.has-sidebar .site-top-center {
    padding-top: 0;
    padding-bottom: 0;
  }
  .ofs-no-full-sidebar.has-sidebar .site-header .site-title {
    padding: 5px 0;
    padding: 0.3571428571rem 0;
  }
  .ofs-no-full-sidebar #ofs-header-widgets {
    padding-left: 14px;
    padding-left: 1rem;
  }

  .has-sidebar header > .header-image {
    padding-top: 3.004807692%;
    padding-top:
      max(3.004807692%, 0.83333333333333rem);
    padding-left: 3.004807692%;
    padding-left:
      max(3.004807692%, 0.83333333333333rem);
    width: max(24.038461536%, 6.6666666666667rem);
  }

    .ofs-header-image-space {
      margin-bottom: 0%;
      padding-top: 90%;
    }
    .ofs-header-image-space:after {
      margin-bottom: -0%;
      margin-bottom: min(-0%, -1rem);
      padding-top: 0%;
      padding-top: max(0%, 1rem);
    }
  @media screen and (max-width: 719px) {
/**
 * @media screen and (max-width: 719px)
 */

.ofs-columns-2 {
  column-count: 1;
}
}
@media screen and (max-width: 599px) {
/**
 * @media screen and (max-width: 599px)
 * OR full width pages except selectors or rules preceded with
 * OFS_NO_FULL_WIDTH comment
 */

/**
 * Header image always displayed
 */
.site-header .header-image {
	display: block;
}
.has-sidebar header > .header-image {
  position: static;
  padding-right: 3.004807692%;
}

/**
 * Force each word of title onto a separate line
 */
.site-header .site-title {
  width: 0;
}

/**
 * Shift top-right widgets area down, as container loses its top padding
 */
.widget-area.ofs-header-top {
  margin-top: 0.3571428571rem;
  margin-right: calc(5.498281787% - 1rem);
}

/**
 * Menu and header widgets right of image
 */

/* Revert default styles applicable only to wider viewports */
.main-navigation-container:after,
.ofs-header-image-space,
.ofs-sidebar-background {
  display: none;
}
body .main-navigation {
  /*OFS_NO_FULL_WIDTH*/
  padding: 0;
  background: none transparent;
}
.ofs-header-except-image .site-top1,
.has-sidebar .main-navigation-container,
.ofs-header-except-image .ofs-header-and-menu-container {
  float: none;
  width: auto;
}

.ofs-header-widgets-area {
  float: none;
  width: auto;
  margin: 0;
}
.ofs-header-widgets-container {
  margin: 0;
  padding: 0;
}

/* Position items */
.ofs-header-except-image {
  overflow: hidden;
}
/*OFS_NO_FULL_WIDTH*/
#top2 .ofs-header-item {
  padding-left: 14px;
  padding-left: 1rem;
}
#ofs-header-widgets {
  padding: 14px 5.498281787% 0;
  padding-top: 1rem;
  overflow: hidden;
}
#ofs-header-widgets .widget {
  margin-bottom: 14px;
  margin-bottom: 1rem;
}

/* Proportionately reduce space between menu items */
/*OFS_NO_FULL_WIDTH*/
.menu-container,
.nav-menu > ul {
  /* 14 / [(1040 - 250 * 50/40 - 40) * 600 / 1040] */
  margin-left: -3.52969697%
}
/*OFS_NO_FULL_WIDTH*/
.main-navigation li {
  margin: 0 3.409356999%; /* x / (x + 1) where x is -ve margin above */
}

/* Background and separators */
.ofs-header-item-gradient:before,
.ofs-header-item-gradient:after {
  content: ' ';
  display: block;
  overflow: hidden;
  height: 100%;
}
.ofs-header-item-gradient:before {
  float: left;
  /*OFS_NO_FULL_WIDTH*/
  width: 34.61538462rem; /* 60 * 600 / 1040 */
  /*OFS_NO_FULL_WIDTH*/
  width: 2.472527473rem;
}
.ofs-header-item-with-background {
  position: relative;
}
.ofs-header-item-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.ofs-header-item-background:before,
.ofs-header-item-background:after {
  background-color: #d0d0d0;
}
.ofs-header-item-background:before {
	background: -webkit-gradient(linear, left top, right top,
                color-stop(0, rgba(208, 208, 208, 0)), color-stop(1, #d0d0d0)
              ) transparent;
  background:
    linear-gradient(to right, rgba(208, 208, 208, 0), #d0d0d0 100%) transparent;
}
.ofs-menu-background {
  height: 44px;
  height: 3.142857143rem;
  margin-bottom: -44px;
  margin-bottom: -3.142857143rem;
}
/* Fix Microsoft Edge rounding bug with REM sizes */
.ofs-ms-edge .ofs-menu-background {
  height: 44px;
  margin-bottom: -44px;
}
ul.nav-menu > li > a,
div.nav-menu > ul > li > a {
  position: relative;
}
.ofs-header-item-separator {
  height: 1px;
  position: relative;
}
.ofs-header-item-separator:before,
.ofs-header-item-separator:after {
  background-color: #ededed;
}
.ofs-header-item-separator:before {
	background: -webkit-gradient(linear, left top, right top,
                color-stop(0, rgba(237, 237, 237, 0)), color-stop(1, #ededed)
              ) transparent;
  background:
    linear-gradient(to right, rgba(237, 237, 237, 0), #ededed 100%) transparent;
}
.ofs-header-item-separator.ofs-last {
  height: 2px;
}
/* For background applied to primary content area only */
.ofs-full-width-primary-content-background {
  display: none;
}
.site-content:before {
  display: block;
  content: ' ';
}

/**
 * Content and widget area full width
 * - keep float styles for positioning background
 */
.site-header:after {
  content: ' ';
  display: block;
  clear: both;
}
/*OFS_NO_FULL_WIDTH*/
body #secondary.widget-area,
/*OFS_NO_FULL_WIDTH*/
body.has-sidebar .site-content {
  width: 89.00343643%; /* 1 - 80 / (1040 - 250 * 50/40) */
  padding-left: 5.498281787%; /* 40 / (1040 - 250 * 50/40) */
  padding-right: 5.498281787%;
}
#secondary.widget-area {
  background-color: #d0d0d0;
}
body #secondary.widget-area {
  float: left;
}
.ofs-content-background-container,
.ofs-content-background-container.ofs-fixed .ofs-content-background-border {
  margin-left: 0;
}
.ofs-content-background-container .clearfloat {
  clear: right;
}

/*OFS_NO_FULL_WIDTH*/
.ofs-columns-2 {
  column-count: 2;
}
}
@media screen and (max-width: 599px) {

  .has-sidebar header > .header-image {
  	padding-right: 3.004807692%;
    padding-right:
      max(3.004807692%, 0.83333333333333rem);
    
  }
}
@media screen and (max-width: 499px) {
/**
 * @media screen and (max-width: 499px)
 */

.ofs-columns-2 {
  column-count: 1;
}
}
@media screen and (max-width: 388px) {
body.has-sidebar header > .header-image {
padding-top: 11.666666666667px;
padding-top: 0.83333333333333rem;
padding-right: 11.666666666667px;
padding-right: 0.83333333333333rem;
padding-bottom: 0px;
padding-bottom: 0rem;
padding-left: 11.666666666667px;
padding-left: 0.83333333333333rem;
width: 93.333333333333px;
width: 6.6666666666667rem;
}
#ofs-header-widgets .widget-title {
  margin-top: 0;
  margin-bottom: 1px;
  padding-top: 0;
}
}
@media print {
/**
 * @media print
 */

.site-content {
  padding: 0 !important;
}
.ofs-header-except-image,
.ofs-sidebar-background,
.ofs-content-background-container {
  display: none;
}
.has-sidebar header > .header-image {
  position: static;
  float: right;
  width: 225px !important;
  width: 16.07142857rem !important;
  max-width: 33.33333333%;
  padding: 0 !important;
  margin: 0 0 14px 14px;
  margin: 0 0 1rem 1rem;
}
img.header-image {
  display: block !important;
  padding: 0 0 11.11111111% 11.11111111%;
  width: 88.88888889%;
}
.site-header:after,
.site,
.wrapper {
  clear: none !important;
}
}
