/*!
Theme Name: Design House
Theme URI: http://underscores.me/
Author: Design House
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: design-house-underscores-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

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

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Standard Styling / Layout - JA
	## Mobile Icon
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Standard Layout / Wrappers - JA
	## Posts and pages
	## Portals
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
# Footer

--------------------------------------------------------------*/


@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,500;0,700;1,300;1,500;1,700&display=swap');

/* 

	Laura Pink: sofa #efb8b5

	new lighter pink: #f9e2e1

*/


/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
	background: #f9e2e1;
	font-family: 'Roboto', sans-serif;
}

body a {
	transition: 0.3s all linear;
	text-decoration: none;
}

body p, body li, body a, body a:visited,
.fp-excerpt {
    font-size: 17px;
    color: #333;
    font-weight: 300;
	line-height: 35px;
	text-align: left;
	letter-spacing: 0.0em;
}

body a {
    cursor: pointer;
}

body a:hover, body a:focus  {
    color: #000;
}



/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: 700;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h4, h5, .h5, h6, .h6 {
    color:#333;
	font-weight: 500;
	letter-spacing: -0.0125em;
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

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

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

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

ul, ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Customisations
--------------------------------------------------------------*/


.site-branding {
    max-width: 410px;
  float: left;
  position: absolute;
  top: 30px;
  left: 40px;
  text-align: left;
	text-decoration: none;
  text-transform: none;
  font-weight: 500;
  font-size: 23px !important;
  letter-spacing: 0.0em;
	z-index: 200;
	line-height: 1.2em !important;
}
@media only screen and (max-width: 850px) {
	.site-branding {
  		font-size: 20px !important;
		top: 40px;
		left: 25px;
	}
}

.site-description {
	font-size: 14px;
    line-height: 1em !important;
}

@media only screen and (max-width: 768px) {
	.site-description {
		display: none;
	}
}


/*  
    Visual Composer
    ---------------------------------------
*/

.vc_row {
    padding-top: 50px;
	padding-bottom: 50px;
}

@media only screen and (max-width: 767px) {
	.paddedItem {
		padding: 0 0px;
	}
}

.columnTrans .vc_column-inner {
	background: rgba(255, 255, 255, 0.45);
	padding: 35px 50px !important;
}

.columnColoured .vc_column-inner {
	background: rgba(255, 255, 255, 0.25);
	padding: 35px 50px !important;
}

.columnColoured p {
	line-height: 1.3em;
}

.columnPadded {
	padding-left: 150px !important;
	padding-right: 150px !important;
}

@media only screen and (max-width: 850px) {
	.columnPadded {
		padding-left: 50px !important;
		padding-right: 50px !important;
	}
}

@media only screen and (max-width: 690px) {
	.columnPadded {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
}




/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}


/*--------------------------------------------------------------
## SVG Banner
--------------------------------------------------------------*/

#masthead {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L100,0 L100,75 Q75,95 50,85 Q25,75 0,85 L0,0 Z' fill='%23000000'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L100,0 L100,75 Q75,95 50,85 Q25,75 0,85 L0,0 Z' fill='%23000000'/%3E%3C/svg%3E");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: bottom;
    mask-position: bottom;
}


/*--------------------------------------------------------------
## Standard Styling / Layout
--------------------------------------------------------------*/


#masthead {
  background-color: transparent;
  position: relative;
  z-index: 10;
  height: 500px;
  background-size: cover;
  background-position: center top;
}

.home #masthead, .page-id-22 #masthead, .page-id-20 #masthead { /* Home, Fees Page, Contact Page */
	background-position: center center;
}
.home #masthead, .page-id-22 #masthead {
  height: 600px;
}

#masthead.no-featured-image {
    background: none; /* Remove background image */
	height: 113px;
}



/*--------------------------------------------------------------
# Navigation System
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Navigation Container & Wrapper
--------------------------------------------------------------*/

.navigation-wrap {
    margin: 0 auto;
    height: auto;
    padding: 0px 20px;
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 10;
}

/* Legacy selectors - consider removing if unused */
#site-navigation {
    width: calc(100% - 450px);
    float: right;
    clear: none;
    margin-top: 35px;
}

/*--------------------------------------------------------------
## Primary Menu (WordPress Core)
--------------------------------------------------------------*/

#primary-menu {
    float: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 4px 0;
}

.menu-item a {
    padding: 0px 0 0 30px;
}

/*--------------------------------------------------------------
## Desktop Navigation
--------------------------------------------------------------*/

#desktop-navigation {
    display: block !important;
    right: 40px;
    position: absolute;
    top: 5px;
}

#desktop-navigation li {
    float: none;
    list-style: none;
}

#desktop-navigation li a {
    font-weight: 500;
    font-size: 15px;
    display: block;
    transition: color 0.3s ease;
}

/* Instagram icon in desktop nav */
/* Instagram icon menu item */
#primary-menu > li.menu-item-instagram { 
	margin-left: 20px; 
}
#primary-menu > li.menu-item-instagram a.social-instagram {
	display: block;
	padding-left: 5px;
	opacity: 0.75;
}
#primary-menu > li.menu-item-instagram img {
	width: 32px;
	height: 32px;
	display: block;
	opacity: 1;
}
#primary-menu > li.menu-item-instagram a:hover img {
	opacity: 1;
}

/* Mobile menu Instagram item */
#mobile-menu > li.menu-item-instagram a.social-instagram {
	display: inline-block;
	padding: 10px 0;
}
#mobile-menu > li.menu-item-instagram img {
	width: 32px;
	height: 32px;
	display: inline-block;
}

/*--------------------------------------------------------------
## Sub-Menu System
--------------------------------------------------------------*/

/* Desktop Navigation Sub-Menus */
#desktop-navigation ul {
    position: relative;
}

#desktop-navigation ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
}

#desktop-navigation ul ul li {
    float: none;
    white-space: nowrap;
}

#desktop-navigation ul ul a {
    font-weight: 500;
    font-size: 17px;
    padding: 0px 0 0 30px;
    text-transform: none;
    letter-spacing: normal;
    line-height: 25px;
}

/* Desktop Sub-Menu Triggers */
#desktop-navigation ul li:hover > ul,
#desktop-navigation ul li.focus > ul {
    opacity: 1;
    visibility: visible;
}

/* Mobile Sub-Menu Styles */
.sub-menu {
    display: none;
    margin: 0px;
    padding: 0px;
}

/* Mobile sub-menu links - only for mobile navigation */
#mobile-menu .sub-menu {
    padding-left: 20px;
    margin-top: 0px;
    margin-bottom: 10px;
}

#mobile-menu .sub-menu li a {
    font-size: 16px;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 400;
    opacity: 0.8;
    line-height: 25px;
}

#mobile-menu .sub-menu li a:hover {
    opacity: 1;
}

/* Visual indicator for parent items with sub-menus */
#mobile-menu .menu-item-has-children > a::after {
    content: " ▼";
    font-size: 12px;
    opacity: 0.6;
    transition: transform 0.2s ease;
}

#mobile-menu .sub-menu-open > a::after {
    transform: rotate(180deg);
}


/*--------------------------------------------------------------
## Mobile Icon (Hamburger Menu)
--------------------------------------------------------------*/

#mobile-icon {
    width: 40px;
    height: 40px;
    position: relative;
    float: right;
    top: 40px;
    right: 15px;
    z-index: 999;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

/* Mobile Icon Bars */
#mobile-icon span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #333;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

#mobile-icon span:nth-child(1) {
    top: 0px;
}

#mobile-icon span:nth-child(2) {
    top: 11px;
}

#mobile-icon span:nth-child(3) {
    top: 22px;
}

/* Mobile Icon Animation States */
#mobile-icon.open span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}

#mobile-icon.open span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

#mobile-icon.open span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

/* Mobile Icon Hover Effects */
#mobile-icon:hover > span,
#mobile-icon.open span {
    width: 100%;
    margin-left: 0;
}

/* Legacy mobile icon classes - consider removing if unused */
#mobile-icon .top {
    width: 100%;
}
#mobile-icon .middle {
    width: 66.66%;
    margin-left: 33.33%;
}
#mobile-icon .bottom {
    width: 33.33%;
    margin-left: 66.66%;
}

/*--------------------------------------------------------------
## Desktop/Mobile Navigation Display Control
--------------------------------------------------------------*/

#mobile-navigation {
    display: none !important;
}

@media only screen and (max-width:1250px) {
    #desktop-navigation {
        display: none !important;
    }
    #mobile-navigation {
        display: block !important;
    }
}


/*--------------------------------------------------------------
## Mobile Menu System
--------------------------------------------------------------*/

/* Mobile Menu Wrapper (Full Screen Overlay) */
.menuWrap {
    background: #efb8b5;
    right: 0px;
    padding: 0px;
    flex-wrap: wrap;
    justify-content: right;
    align-items: start;
    display: none;
    opacity: 0;
    min-height: 600px;
    position: fixed;
    overflow: hidden !important;
    top: 0;
    width: 100vw !important;
    height: 100vh;
}

/* Mobile Menu Columns (Legacy - consider removing if unused) */
.menu-col-left {
    width: calc(50% - 40px);
    float: left;
    margin-right: 80px;
    opacity: 0;
}

.menu-col-right {
    width: calc(50% - 40px);
    float: left;
    opacity: 0;
}

/* Mobile Menu Container */
.menuContainer {
    opacity: 0;
    top: 130px;
    position: absolute;
    right: 40px;
    float: left;
    height: 100vh;
    width: 100vw;
    overflow: scroll;
}

/* Mobile Menu List */
#mobile-menu {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

#mobile-menu li {
    margin-bottom: 0px;
    text-align: right;
}

#mobile-menu .menu-item {
    text-align: right;
    display: block;
    width: 100%;
}

#mobile-menu li a {
    color: #333 !important;
    font-weight: 500;
    text-decoration: none;
    font-size: 25px;
}

#mobile-menu li a:hover {
    color: white !important;
}



/* Generic Menu Styles */
.menu ul {
    list-style: none;
}

/* Mobile Menu Social Icons */
.menuSocial img {
    width: 50px;
    transition: all linear 0.3s;
}

.menuSocial img:hover {
    width: 70px;
}

/* Body Overflow Control for Mobile Menu */
.overflowFixed {
    overflow: hidden !important;
    height: 100vh !important;
    width: 100vw !important;
}

/*--------------------------------------------------------------
## Mobile Navigation Responsive Controls
--------------------------------------------------------------*/

@media only screen and (max-width: 797px) {
    #mobile-navigation {
        display: block;
    }
    
    #desktop-navigation {
        display: none;
    }
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: #000;
}

a:hover, a:focus, a:active {
	color: midnightblue;
}

a:focus {
	outline: none;
}

a:hover, a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## WordPress Core Navigation (Legacy)
--------------------------------------------------------------*/

/* Main Navigation - WordPress Core Styles */
.main-navigation {
    display: block;
    float: right;
    width: calc(100% - 400px);
    margin-top: 35px;
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation li {
    float: left;
    position: relative;
}

.main-navigation a {
    display: block;
    text-decoration: none;
}

/* Dropdown Menus */
.main-navigation ul ul {
    float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
    background-color: transparent;
    padding: 10px 0px;
}

.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
    left: 100%;
}

.main-navigation ul ul a {
    white-space: nowrap;
}

/* Menu Toggle (WordPress Core) */
.menu-toggle,
.main-navigation.toggled ul {
    display: block;
}

@media screen and (min-width: 37.5em) {
    .menu-toggle {
        display: none;
    }
    .main-navigation ul {
        display: block;
    }
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}




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

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

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

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

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

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

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
	## Standard Layout / Wrappers - JA
--------------------------------------------------------------*/

.wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0px 50px;
}



/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Portal Boxes
--------------------------------------------------------------*/

.portal-boxes-section {
    padding: 0px 0 150px;
    width: 100%;
    float: left;
}

.portal-boxes-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0px;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0px;
}

.portal-box {
    width: calc(33.333% - 20px);
    overflow: visible;
    cursor: pointer;
	padding: 20px;
	position: relative;
}

.portal-box:hover .portal-image::before {
    opacity: 0.2;
}

.portal-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    display: block;
}

/* Portal bubble variations */
.portal-image {
    width: 100%;
    position: relative;
    overflow: visible;
    aspect-ratio: 1;
    background: #f9e2e1;
}

/* Base styles remain the same for all variations */
.portal-image::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #efb8b5;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

/* Image container to ensure proper centering */
.portal-image a {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portal-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

/* Revised bubble variations with no straight edges */
.portal-image.bubble-1 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,10 C130,10 155,20 175,45 C195,70 200,95 190,125 C180,155 160,175 130,185 C100,195 70,190 45,175 C20,160 5,135 5,105 C5,75 15,50 35,30 C55,10 80,10 100,10' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,10 C130,10 155,20 175,45 C195,70 200,95 190,125 C180,155 160,175 130,185 C100,195 70,190 45,175 C20,160 5,135 5,105 C5,75 15,50 35,30 C55,10 80,10 100,10' fill='black'/%3E%3C/svg%3E");
}

.portal-image.bubble-2 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,15 C135,15 165,35 180,65 C195,95 195,125 180,150 C165,175 140,190 110,190 C80,190 55,175 35,150 C15,125 10,95 20,65 C30,35 65,15 100,15' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,15 C135,15 165,35 180,65 C195,95 195,125 180,150 C165,175 140,190 110,190 C80,190 55,175 35,150 C15,125 10,95 20,65 C30,35 65,15 100,15' fill='black'/%3E%3C/svg%3E");
}

.portal-image.bubble-3 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,20 C140,20 170,45 185,80 C200,115 195,150 175,175 C155,200 120,205 90,195 C60,185 35,160 25,125 C15,90 20,55 40,30 C60,5 85,20 100,20' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,20 C140,20 170,45 185,80 C200,115 195,150 175,175 C155,200 120,205 90,195 C60,185 35,160 25,125 C15,90 20,55 40,30 C60,5 85,20 100,20' fill='black'/%3E%3C/svg%3E");
}

.portal-image.bubble-4 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M95,10 C135,10 170,30 185,65 C200,100 195,135 175,165 C155,195 120,205 85,195 C50,185 25,155 15,120 C5,85 15,50 40,25 C65,0 90,10 95,10' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M95,10 C135,10 170,30 185,65 C200,100 195,135 175,165 C155,195 120,205 85,195 C50,185 25,155 15,120 C5,85 15,50 40,25 C65,0 90,10 95,10' fill='black'/%3E%3C/svg%3E");
}

.portal-image.bubble-5 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,15 C145,15 180,40 195,80 C210,120 200,160 170,185 C140,210 100,215 65,195 C30,175 10,140 15,100 C20,60 45,30 80,15 C90,10 95,15 100,15' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100,15 C145,15 180,40 195,80 C210,120 200,160 170,185 C140,210 100,215 65,195 C30,175 10,140 15,100 C20,60 45,30 80,15 C90,10 95,15 100,15' fill='black'/%3E%3C/svg%3E");
}

.portal-image.bubble-6 {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M105,20 C150,20 185,45 195,85 C205,125 195,165 165,190 C135,215 95,220 60,200 C25,180 10,145 15,105 C20,65 45,35 80,20 C90,15 100,20 105,20' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M105,20 C150,20 185,45 195,85 C205,125 195,165 165,190 C135,215 95,220 60,200 C25,180 10,145 15,105 C20,65 45,35 80,20 C90,15 100,20 105,20' fill='black'/%3E%3C/svg%3E");
}
.portal-content {
    padding: 0px 30px;
    text-align: center;
}

.portal-title {
    margin: 20px 0 13px;
    line-height: 1.3;
}

.portal-title a {
    font-size: 1.4em;
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.portal-title a:hover {
    color: #efb8b5;
}

.portal-additional-headline {
    font-size: 0.75em;
    position: absolute;
    margin: 30px -15px 0;
    z-index: 20;
    background: #efb8b5;
    max-width: 50%;
    height: 40px;
    color: white;
    border-radius: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    line-height: 1;
    text-transform: uppercase;
}

.portal-excerpt {
    color: #666;
    font-size: 0.95em;
    line-height: 1.6;
    margin-bottom: 20px;
}

.portal-read-more {
    text-align: center;
}

.read-more-button {
    display: inline-block;
    padding: 8px 20px;
    background: #f9e2e1;
    color: #333;
    text-decoration: none;
    border-radius: 25px;
    font-size: 0.9em;
    transition: all 0.3s ease;
}

.read-more-button:hover {
    background: #efb8b5;
    color: #333;
}

/* Responsive Styles */
@media only screen and (max-width: 1024px) {
    .portal-box {
        width: calc(50% - 15px);
    }
}

@media only screen and (max-width: 768px) {
    .portal-boxes-grid {
        padding: 0 25px;
    }
}

@media only screen and (max-width: 580px) {
    .portal-box {
        width: 100%;
    }
    
    .portal-boxes-section {
        padding: 40px 0;
    }
    
    .portal-content {
        padding: 20px;
    }
    
    .portal-image img {
        height: 200px;
    }
}


/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

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

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

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

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

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

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

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

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

.gallery-caption {
	display: block;
}


/*  
    Blog Archive
    ---------------------------------------
*/

.blog-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	margin-top: 80px;
}

.blog-item {
    width: 30%; /* Adjust the width for three items per row */
    margin-bottom: 20px;
}

.blog-image img {
    width: 100%;
    height: auto;
}

.blog-content {
  padding: 0px;
  margin-top: -20px;
}
.blog-content h2 a {
    font-weight: 500 !important;
    line-height: 1.4em;
    font-size: 23px;
}
.blog-content p.blog-date {
    margin: -20px 0 0 !important;
    font-style: italic;
    font-size: 0.9em;
}

.read-more {
    display: inline-block;
    margin-top: 0px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .blog-item {
        width: 100%; /* Full width on smaller screens */
    }
}



/*  
    Single Post
    ---------------------------------------
*/

p.post-date {
    margin: -20px 0 25px;
    font-style: italic;
}


.single #page, .page-template-page-template-blog {
}

.postFeatured {
    float: left;
    height: auto;
    width: 100%;
	    margin: 60px 0 30px;
}

.post-wrap {
    width: 65%;
    float: left;
	margin-bottom: 50px;
}

.sidebar-wrap {
    width: calc(35% - 80px);
    margin-left: 80px;
    float: left;
}

.sidebar-wrap .fp-row {
    margin: 0px !important;
}

.sidebar-wrap .fp-col {
    width: 100% !important;
    margin: 0px 0px 40px !important;
}

.sidebar-wrap .widgettitle {
    display: none;
}

@media only screen and (max-width: 797px) {
    .post-wrap {
        width: 100%;
        margin: 0px 0px 40px;
    }

    .sidebar-wrap {
        width: 100%;
        margin: 0px;
        display: none;
    }
}



/* Style for the sidebar recent posts list */

.sidebar-wrap ul {
	margin: 0;
}

.sidebar-wrap .recent-posts-list {
    list-style-type: none; 
    padding-left: 0; 
}

.sidebar-wrap .recent-post-item {
    margin-top: 40px; 
}

/* Style for the individual recent post items */
.sidebar-wrap .recent-post-thumbnail {
    margin-bottom: 00px; 
}

.sidebar-wrap .recent-post-info {
    margin-bottom: 20px;
}

/* Style for the title of the recent post */
.sidebar-wrap .recent-post-title {
  margin: 15px 0 5px;
  font-size: 1.2em;
  line-height: 1.25em;
}

/* Style for the date of the recent post */
.sidebar-wrap .recent-post-date {
    font-size: 0.9em; 
    color: #666;
	margin-top: -10px;
	font-style: italic;
}



/*  
    WOO COMMERCE
    ---------------------------------------
*/

.product {
  padding: 60px 0;
}

.single-product .price {
  font-size: 1.85em;
}
.single-product .quantity, .single-product .product_meta, .woocommerce-result-count, .woocommerce-ordering {
  display: none;
}

.woocommerce-breadcrumb {
  display: none;
}

.shopColumnLeft {
  float: left;
  width: 38%;
}
.shopColumnRight {
  float: right;
  width: 58%;
}
.shopColumnFull {
  float: left;
  width: 100%;
}

.woocommerce-tabs ul.tabs {
  display: none;
}

@media only screen and (max-width: 868px) {
  .shopColumnLeft,
  .shopColumnRight {
    float: none;
    width: 100%;
  }
}




/* Universal style for Add to Cart buttons */
.woocommerce ul.products li.product .button, 
.woocommerce div.product form.cart .button, 
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button,
.woocommerce a.added_to_cart.wc-forward {
    background-color: #4A90E2; /* A shade of blue */
    color: #ffffff; /* Text color */
    font-size: 1.25em; /* Larger font size for better readability */
    padding: 12px 24px; /* Optimal padding for a visually appealing button */
    border: none; /* Removing the default border for a cleaner look */
    border-radius: 30px; /* Rounded corners for a modern, friendly appearance */
    cursor: pointer; /* Indicates an interactive element */
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out; /* Smooth transition for a refined interaction */
}

/* Hover state for all Add to Cart and View Cart buttons */
.woocommerce ul.products li.product .button:hover, 
.woocommerce div.product form.cart .button:hover, 
.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover,
.woocommerce a.added_to_cart.wc-forward:hover {
    background-color: #2980b9; /* A darker shade for interactive feedback */
    color: #eaeaea; /* Updated text color for contrast and visibility */
}

.woocommerce ul.products li.product .button {
    margin-bottom: 15px;
}

.woocommerce ul.products li.product .price {
    font-size: 20px; /* Adjust the font size as needed */
    font-weight: bold; /* Optional: makes the price stand out */
}



/* Adjusting the width and spacing of related products */
.woocommerce .related.products ul.products li.product, 
.woocommerce .related.products ul li.product, 
.woocommerce-page .related.products ul.products li.product, 
.woocommerce-page .related.products ul li.product {
    width: 31.333%;
    margin-right: 3%;
    float: left;
}

.woocommerce .related.products ul.products li.product:nth-child(3n),
.woocommerce .related.products ul li.product:nth-child(3n),
.woocommerce-page .related.products ul.products li.product:nth-child(3n),
.woocommerce-page .related.products ul li.product:nth-child(3n) {
    margin-right: 0;
}

.single-product .related ul.products li.product .button {
    display: inline-block;
    width: auto;
}

@media only screen and (max-width: 900px) {
    .woocommerce .related.products ul.products li.product, 
    .woocommerce .related.products ul li.product, 
    .woocommerce-page .related.products ul.products li.product, 
    .woocommerce-page .related.products ul li.product {
        width: 100%;
        margin-right: 0;
        float: none;
    }
}

/* Optional: Adjusting the space below each product for a bit more breathing room */
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
    margin-bottom: 24px; /* Adjust the bottom margin as needed */
}





/* Style for the Proceed to Checkout button in the cart */
a.components-button.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
    background-color: #4A90E2 !important; /* Blue */
    color: #ffffff !important; /* White text */
    font-size: 1.25em !important; /* Larger font size */
    padding: 12px 24px !important; /* Padding */
    border: none !important; /* Remove border */
    border-radius: 30px !important; /* Rounded corners */
    cursor: pointer !important; /* Pointer cursor */
    transition: background-color 0.3s !important, color 0.3s !important; /* Smooth transition */
}

/* Style for the Place Order button on the checkout page */
.components-button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
    background-color: #4A90E2 !important; /* Blue */
    color: #ffffff !important; /* White text */
    font-size: 1.25em !important; /* Larger font size */
    padding: 12px 24px !important; /* Padding */
    border: none !important; /* Remove border */
    border-radius: 30px !important; /* Rounded corners */
    cursor: pointer !important; /* Pointer cursor */
    transition: background-color 0.3s !important, color 0.3s !important; /* Smooth transition */
}

/* Hover styles for both buttons */
a.components-button.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
.components-button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover {
    background-color: #2980b9 !important; /* Darker blue on hover */
    color: #eaeaea !important; /* Lighter text color on hover */
}







.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments
{
  background-color: white !important;
    border-radius: 45px;
    padding: 15px 35px;
  width: 100%;
  text-align: center;
	margin: 45px auto 0;	
}

.woocommerce-message .button {
  border: 1px solid black;
  border-radius: 30px;
  padding: 5px 20px;
}

.woocommerce-cart #content, .woocommerce-checkout #content {
	padding: 50px 0;
}




/*  
    Ninja Forms
    ---------------------------------------
*/

.nf-form-content {
	padding: 25px 0 0 !important;
}

.nf-form-title, .nf-before-form-content, .nf-field-label {
    display: none;
}

.nf-form-content input[type="submit"] {
    cursor: pointer;
	text-transform: uppercase;
	width: 100% !important;
	border-radius: 0 !important;
	background: #333 !important;
	border: 0px solid #333 !important;
	color: #fff !important;
}
.nf-form-content input[type="submit"]:hover {
	color: #ccc !important;
	background: #333 !important;
	border: 0px solid #333 !important;
}

.nf-field-element::after {
    display: none;
}

.nf-element {
    border: 0px solid #333  !important;
    font-size: 17px;
    font-weight: 300;
    font-family: 'Roboto', sans-serif;
    border-radius: 0px !important;
	background: white !important;
}

.nf-field-container {
    margin-bottom: 15px !important;
}

.nf-error-msg {
    font-size: 13px;
    font-weight: 300;
    font-family: 'Roboto', sans-serif;
}

input[type="text"] {
	color: #333 !important;
}


.nf-field-container.nfThird  {
	width: 31.33% !important;
	margin: 0 1% 10px !important;
	float: left !important;
	clear: none;
	
}
.nf-field-container.nfThirdSend {
	width: 98% !important;
	margin: 20px 1% !important;
}




/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

#colophon {
	background-color: #f7f7f7;
	margin-top: 0px;
	padding: 0px 0px;
}

/* MailerLite (direct embed) - footer newsletter */
.footer-newsletter {
	padding: 50px 0;
	width: 100%;
	margin: 0;
	background: #111;
	/* Full-bleed background image */
	background-image: url(https://storage.mlcdn.com/account_image/1672174/Qc4WR2dYHJ4brLGd5ylEQRKqyVEYxJbupstJoGyj.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Keep MailerLite’s container from fighting the layout */
#colophon #mlb2-35597904.ml-form-embedContainer {
	width: 100% !important;
	margin: 0 auto;
}

#colophon #mlb2-35597904 .ml-form-embedWrapper {
	max-width: 860px;
	width: 100%;
	margin: 0 auto;
	border-radius: 10px;
	overflow: hidden;
	/* Inner overlay so text is readable over the full-bleed image */
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(2px);
}

#colophon #mlb2-35597904 .ml-form-embedBody {
	padding: 22px 22px 10px;
}

#colophon #mlb2-35597904 .ml-form-embedContent h4 {
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 10px;
	text-align: center;
}

#colophon #mlb2-35597904 .ml-form-embedContent p {
	color: rgba(255,255,255,0.92);
	font-size: 16px;
	line-height: 24px;
	margin: 0 0 18px;
	text-align: center;
}

/* Inputs */
#colophon #mlb2-35597904 .ml-form-fieldRow input,
#colophon #mlb2-35597904 .ml-form-horizontalRow input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 8px;
	background: rgba(255,255,255,0.95);
	color: #111;
	font-size: 16px;
	line-height: 20px;
}

#colophon #mlb2-35597904 .ml-form-horizontalRow {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

#colophon #mlb2-35597904 .ml-input-horizontal {
	display: flex;
	gap: 12px;
	flex: 1;
}

#colophon #mlb2-35597904 .horizontal-fields {
	width: auto !important;
	flex: 1;
}

/* Button */
#colophon #mlb2-35597904 .ml-button-horizontal button.primary {
	width: auto !important;
	min-width: 160px;
	padding: 12px 18px !important;
	border-radius: 999px !important;
	border: 1px solid #000 !important;
	background: #000 !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	cursor: pointer;
	transition: 0.2s all linear;
}

#colophon #mlb2-35597904 .ml-button-horizontal button.primary:hover,
#colophon #mlb2-35597904 .ml-button-horizontal button.primary:focus,
#colophon #mlb2-35597904 .ml-button-horizontal button.primary:focus {
	background: transparent !important;
	color: #fff !important;
	border-color: #fff !important;
}

/* Permissions */
#colophon #mlb2-35597904 .ml-form-embedPermissions {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,0.2);
	color: rgba(255,255,255,0.92);
}

#colophon #mlb2-35597904 .ml-form-embedPermissionsContent {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

#colophon #mlb2-35597904 .ml-form-embedPermissions h4 {
	color: #fff;
	font-size: 14px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin: 0 0 10px;
	text-align: center;
}

#colophon #mlb2-35597904 .ml-form-embedPermissions p,
#colophon #mlb2-35597904 .ml-form-embedPermissions .description,
#colophon #mlb2-35597904 .ml-form-embedPermissions .label-description {
	color: rgba(255,255,255,0.9);
	font-size: 13px;
	line-height: 18px;
	text-align: center;
}

#colophon #mlb2-35597904 .ml-form-embedPermissionsOptionsCheckbox label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

#colophon #mlb2-35597904 .ml-form-embedPermissionsOptionsCheckbox input[type="checkbox"] {
	margin-top: 3px;
	width: 18px;
	height: 18px;
}

/* Success state */
#colophon #mlb2-35597904 .ml-form-successBody {
	padding: 22px;
}

#colophon #mlb2-35597904 .ml-form-successBody h4,
#colophon #mlb2-35597904 .ml-form-successBody p {
	color: #fff;
	text-align: center;
}

/* Mobile */
@media only screen and (max-width: 850px) {
	#colophon #mlb2-35597904 .ml-form-horizontalRow {
		flex-direction: column;
		align-items: center;
	}
	#colophon #mlb2-35597904 .ml-input-horizontal {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	#colophon #mlb2-35597904 .horizontal-fields {
		width: 100% !important;
		max-width: 520px;
	}
	#colophon #mlb2-35597904 .ml-button-horizontal {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
	}
	#colophon #mlb2-35597904 .ml-button-horizontal button.primary {
		width: 100% !important;
	}
}

.site-info {
    display: block;
    float: left;
    width: 100%;
    text-align: center;
	padding: 15px 0;
	font-size: 0.85em;
}
.site-info a {
    font-size: 0.85em;
}

.threeCol {
	width: 31.333%;
	margin-right: 3%;
	float: left;
}

.threeCol.last {
	margin-right: 0px;
}

@media only screen and (max-width: 797px) {
	.threeCol {
		width: 100%;
		margin: 0px 0px 30px;
	}
}