/* CaraCo Theme Style Sheet
/*
/* Colors:
/*    #fff (white)
/*    #333 (dark grey)
/*    #062f6e (CaraCo blue)
/*    #d6ecfb (mid blue)
/*    #edf6fc (light blue)
/*    #666 (pale grey)
/*    #eee (very pale grey)
/*
/*
/*
/* Stylesheet navigation:
/*
/*    MOBILE-FIRST STYLING
/*
/*    Fonts
/*    Major Page Elements
/*    - Textual Element Defaults
/*    - Form Element Defaults
/*    - Gutenberg Overrides
/*    Theme Region Styling
/*	  - Footer
/*    - Branding
/*    Menus
/*    - Primary Menu
/*      - Firefox Position Fixes
/*    - Secondary Menu
/*    - Footer Socials Menu
/*    - Font Awesome Icons
/*      - Houzz Icon
/*      - Facebook Icon
/*      - Bars Icon (Primary Menu)
/*      - Hover Effects
/*    - Page Title
/*    Front Page
/*    - Header Video
/*    - Newsletter Link
/*    - Featured Quick Occupancy Homes
/*    - Neighbourhood Feature
/*    - Gallery Feature
/*    Static Pages
/*    - Edit Tabs
/*    - Page Image
/*    - Internal Navigation
/*    - Buildtopia Form
/*    - Service Request Form
/*    - Last Updated
/*    - Custom Classes
/*    Dynamic Pages
/*    - Model Home Page
/*    - Taxonomy Pages - Neighbourhood, Series, Building Type
/*    - Plan and Home Pages
/*    - Find a Home Page
/*    Colorbox
/*    Maintenance Pages
/*
/*    NON-MOBILE STYLING
/*
/*    Tablet Size (600px)
/*    Desktop Size (1250px)
/*    Huge Desktop Size (1900px)
/*
/*    Dark Mode
/*    High Contrast
/*
/*    Quick Fixes
/*
*/

/*------------------------*/
/*------------------------*/
/*! MOBILE-FIRST STYLING !*/
/*------------------------*/
/*------------------------*/


/*---------*/
/*! Fonts !*/
/*---------*/

@font-face {
  font-display: block;
  font-family: 'Gotham';
  font-style: normal;
  font-weight: 100;
  src: local("Gotham"), url("/themes/custom/caraco_theme/fonts/Gotham/gotham_100.ttf");
}

@font-face {
  font-display: block;
  font-family: 'Gotham';
  font-style: normal;
  font-weight: 200;
  src: local("Gotham"), url("/themes/custom/caraco_theme/fonts/Gotham/gotham_200.otf");
}

@font-face {
  font-display: block;
  font-family: 'Gotham';
  font-style: normal;
  font-weight: 300;
  src: local("Gotham"), url("/themes/custom/caraco_theme/fonts/Gotham/gotham_300.otf");
}

@font-face {
  font-display: block;
  font-family: 'Gotham';
  font-style: normal;
  font-weight: 400;
  src: local("Gotham"), url("/themes/custom/caraco_theme/fonts/Gotham/gotham_400.ttf");
}

@font-face {
  font-display: block;
  font-family: 'Gotham';
  font-style: normal;
  font-weight: 500;
  src: local("Gotham"), url("/themes/custom/caraco_theme/fonts/Gotham/gotham_500.ttf");
}

@font-face {
  font-display: block;
  font-family: 'Gotham';
  font-style: normal;
  font-weight: 600;
  src: local("Gotham"), url("/themes/custom/caraco_theme/fonts/Gotham/gotham_600.otf");
}

@font-face {
  font-display: block;
  font-family: 'Gotham';
  font-style: normal;
  font-weight: 700;
  src: local("Gotham"), url("/themes/custom/caraco_theme/fonts/Gotham/gotham_700.ttf");
}

@font-face {
  font-family: 'Milena';
  font-style: normal;
  font-display: block;
  src: url("/themes/custom/caraco_theme/fonts/Milena/Milena_Regular.ttf");
}


/*-----------------------*/
/*! Major Page Elements !*/
/*-----------------------*/


html {
	color: #333; 
	font-family: 'Gotham', sans-serif;
	font-weight: 200;
	font-size: 16px;
}

cite {
	border-bottom: 4px solid #062f6e;
	color: #062f6e;
	display: inline-block;
	font-family: 'Milena', cursive;
	font-size: 1.2em;
	font-style: italic;
	font-weight: 400;
	line-height: 0;
	padding: 10px 10px 0;
	text-align: right;
	width: 100%;
}

.wp-block-quote cite {
	color: #062f6e;
	font-size: 1.2em;
}

.wp-block-quote cite span {
	background: #fff;
}

body {
	background: #fff;
	font-family: 'Gotham', sans-serif;
	font-size: 1em;
	margin: 0;
	overflow-x: hidden;
}

blockquote {
	border: 10px solid #d6ecfb;
	font-family: 'Milena', cursive;
	font-size: 2.5em;
	line-height: 2;
	margin: 10px;
	padding: 0.5em 1em 0;
}

button,
div.wp-block-button {
	background: #062f6e;
	border: 1px solid #fff;
	color: #fff;
	font-size: 1.2em;
	margin: 1em auto;
	padding: 15px;
	width: max-content;
}

button a,
div.wp-block-button a {
	color: #fff;
}

button:hover,
div.wp-block-button:hover,
button:active,
div.wp-block-button:active,
button:focus,
div.wp-block-button:focus {
	background: #fff;
	border: 1px solid #062f6e;
	color: #062f6e;
}

button:hover a,
div.wp-block-button:hover a,
button:active a,
div.wp-block-button:active a,
button:focus a,
div.wp-block-button:focus a {
	color: #062f6e;
}

button.active {
	background: #000;
	border: 1px solid #062f6e;
	color: #fff;
}

button.active a {
	color: #fff;
}

img {
	height: auto;
	max-width: 100%;
}


/** Textual Element Defaults **/

a {
	color: #062f6e;
	text-decoration: none;
}

em {
	font-style: italic;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #062f6e;
	font-weight: 500;
	font-size: 2.75em;
	margin: 0;
	padding: 0 10px;
	text-align: centre;
}

h2 {
	font-size: 3em;
	padding: 0.25em 10px;
}

h3 {
	font-size: 2.4em;
	font-weight: 200;
	padding-bottom: 1em;
}

h4 {
	font-size: 2em;
	font-weigth: 200;
}

h5 {
	font-size: 1.5em;
}

h6 {
	font-size: 1.2em;
}

hr {
	border: 1px solid #eee;
	height: 0;
}

li {
	line-height: 2;
	padding: 0 0 0 10px;
}

p {
	font-size: 1.1em;
	line-height: 1.5;
	margin: 1em auto;
	padding: 0 10px 1em;
}

small {
	font-size: 0.7em;
}

strong {
	font-weight: bolder;
}

table {
	border: none;
	border-collapse: collapse;
	padding: 10px;
}

td {
	border: 1px solid #000;
	line-height: 1.3;
	padding: 15px;
	vertical-align: top;
}

ul {
	margin: 0 15px 2em;
}


/** Form Element Defaults **/

div.question {
	margin: auto;
	max-width: 90%;
}

fieldset {
	border: none;
	margin: 0 0 0.5em;
	padding: 10px 0;
}

fieldset input {
	display: inline-block;
	margin: 1.5em 3px;
	width: max-content;
}

fieldset label {
	display: inline-block;
	text-align: left;
	padding-left: 5px;
	width: auto;
}

form {
	margin: auto;
	width: calc(100% - 1em);
}
	
input,
select {
	color: #333;
	background: rgba(237, 246, 252, 0.75);
	border: 2px solid transparent;
	font-size: inherit;
	font-weight: 300;
	margin: 0 auto 1.5em;
	padding: 0.5em;
}

input {
	width: calc(100% - 1em);
}

select {
	width: 100%;
}

input[type="checkbox"] {
	accent-color: #062f6e;
}

input::placeholder,
select::placeholder {
	color: #666;
	font-weight: 100;
}

input:active,
select:active,
input:focus,
select:focus,
input:focus-visible,
select:focus-visible {
	color: #666;
	border: 2px solid #062f6e;
}

input#edit-images-upload {
	background: transparent;
}

label {
	display: block;
	text-align: left;
	width: 100%;
}

label.required::after {
	content: " *"; 
}

option {
	color: #999;
}

option:hover,
option:focus,
option:focus-visible {
	background: #d6ecfb;
}

option:checked {
  font-weight: 700;
}

select {
	background: rgba(237, 246, 252, 0.75);
}

::picker(select) {
	border-radius: 0;
}

textarea {
	background: #fff;
	border: 1px solid #eee;
	font-family: 'Gotham', sans-serif;
	margin: 1em auto 2em;
	max-width: calc(100% - 1em);
	padding: 10px;
}


/** Gutenberg Overrides **/

blockquote.wp-block-quote {
	border: none;
}

blockquote.wp-block-quote p {
	font-family: 'Gotham', sans-serif;
	font-size: 0.5em;
	margin: 1em auto 0;
}

.wp-block-quote::before {
	color: #fff;
	content: '“';
	display: block;
	font-family: 'Gotham', serif;
	font-size: 15em;
	left: 0;
	margin-top: -0.75em;
	position: absolute;
	text-shadow: 0px 1px 2px #d6ecfb;
	z-index: -1;
	-webkit-text-stroke: 2px #d6ecfb;
}

.wp-block-quote::after {
	color: #fff;
	content: '”';
	display: block;
	font-family: 'Gotham', serif;
	font-size: 15em;
	margin-top: -1.2em;
	position: absolute;
	right: 0;
	text-shadow: 0px 1px 2px #d6ecfb;
	z-index: -1;
	-webkit-text-stroke: 2px #d6ecfb;
}

blockquote.wp-block-quote p.cite span {
	background: #fff;
	display: block;
	padding: 10px;
	position: absolute;
	right: 40px;
	width: max-content;
}

blockquote.wp-block-quote p.cite {
	border-bottom: 2px solid #062f6e;
	color: #062f6e;
	font-family: 'Milena', cursive;
	font-size: 1.5em;
	font-style: italic;
	font-weight: 400;
	margin: 0 auto 2em;
	text-align: right;
}


.wp-block-image.bottom {
	align-items: end;
	display: grid;
	height: 100%;
}

.wp-block-column.bottom {
	align-content: flex-end;
	display: grid;
}

/*------------------------*/
/*! Theme Region Styling !*/
/*------------------------*/


.header {
	background-color: #062f6e;
	box-sizing: border-box;
	margin: auto;
	max-width: 100%;
	padding: 0;
	width: 100%;
}
#block-mainpagecontent {
	margin: 2em auto;
	max-width: 100%;
}

section.main {
	box-sizing: border-box;
	margin: auto;
	max-width: 100%;
	padding: 0;
	width: 100%;
}

main.content {
	width: calc(100% - 1em);
	margin: 0 auto;
}

main.content h1 {
	text-align: center;
}

aside {
	box-sizing: border-box;
	margin: auto;
	max-width: 100%;
	padding: 0;
	width: 100%;
}


/** Footer **/

footer {
	background: #f8f8f8;
	box-sizing: border-box;
	margin: auto;
	padding: 2em 0 0;
	width: 100%;
}

footer h6 {
	color: #555;
	font-size: 1.5em;
	font-weight: 300;
	padding: 0;
}

.footer--top {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin: auto;
}

.footer--top {
	font-size: 0.7em;
	line-height: 1.5;
	padding: 0 1em;
}

.footer-text,
.footer-socials,
.footer-contact,
.footer-nav {
	padding: 1em 1em 2em;
	text-align: center;
	width: 100%;
}

.footer-socials h6,
.footer-contact h6,
.footer-nav h6 {
	font-size: 0;
}

.footer-nav nav,
.footer-socials nav {
	text-align: center;
}

.footer-nav nav ul li {
	font-size: 1em;
}

.footer-nav nav ul li a {
	color: #062f6e;
	padding: 5px 0;
}

.footer-socials nav ul li {
	display: inline-block;
	font-size: 1.2em;
}

.footer-logos-big {
	display: none;
}

.footer-logos-mobile {
	text-align: center;
}

.footer-logos-mobile img {
	max-width: 75%;
	padding: 1em 0;
}

.footer--bottom {
	font-size: 0.6em;
	margin-top: 2.5em;
}

.footer--bottom > div {
	display: inline-block;
}

.footer--bottom nav {
	text-align: left;
}

.footer--bottom nav > ul {
	padding: 0;
}

.footer--bottom nav > ul li {
	font-size: 1em;
}

.footer--bottom nav > ul li a {
	color: #062f6e;
	padding: 0 5px 0 0;
}

p.copyright {
	display: inline-block;
	line-height: 1;
	padding: 0 5px 0 1em;
}

p.price-change-notice {
	line-height: 1;
	margin: 0;
	padding: 0 1em 4em;
}


/** Branding **/

div.caraco-logo {
	background: #fff;
	display: inline-block;
	width: 70%;
}

#block-sitebranding {
	display: block;
	float: none;
	font-size: 79px; /* Makes home link cover logo image */
	height: 100px;
	margin: auto;
	max-width: 250px;
	padding: 15px 0;
	text-align: center;
	width: 100%;
}

div.caraco-logo img {
	max-height: 100%;
}


/*---------*/
/*! Menus !*/
/*---------*/


nav {
	text-align: right;
}


/** Primary Menu **/

#block-mainnavigation {
	display: none;
}

div.mobile-menu {
	display: inline-block;
	vertical-align: 200%;
	width: 28.5%;
}

div.primary-menu {
	display: block;
	vertical-align: top;
	width: 100%;
}

video.front-page-video-large {
	display: none;
}

div.front-page-video-small {
	background: url("/themes/custom/caraco_theme/images/banner-vid-bg-small.png");
}

div.front-page-video-small video {
	margin-bottom: -10px;
}

nav > ul {
	list-style: none;
	padding: 0;
}

nav > ul li {
	display: inline;
	font-size: 0.75em;
	padding: 0;
}

nav > ul li a {
	color: #000;
	text-decoration: none;
	padding: 10px;
}

nav > ul li a:hover {
	color: #d6ecfb;
	text-decoration: underline;
}

a#superfish-mobile-main-menu-toggle {
	color: #fff;
}

ul.sf-menu a, ul.sf-menu span.nolink {
	font-size: 1.2em;
	padding: 1em;
}

a.superfish-main-toggle .svg-inline--fa {
	color: #062f6e;
}

.sf-accordion-toggle {
	text-align: center;
	padding: 20px;
}

ul.sf-menu.sf-accordion.sf-hidden {
	left: 100vw;
	padding: 2em;
	transition: 1s 0s ease-in;
	width: 100vw !important;
}

ul.sf-menu.sf-accordion.sf-expanded {
	background: #fff;
	box-shadow: 1px 1px 3px #666;
	height: max-content;
	left: 0 !important;
	padding: 2em;
	position: absolute !important;
	top: 8.15em !important;
	transition: 1s 0s ease-in;
	width: 100vw;
}

#mobile-main-menu-menu-link-content51eabed7-267e-4a0f-8496-078b3c7c6ee6-accordion,
#mobile-main-menu-menu-link-contentc4532682-7286-4e83-8e73-9d75ffdda1c7-accordion,
li.blue-indent {
	background: #edf6fc;
	margin-left: -2em;
	padding-left: 5em;
}

ul.sf-menu.sf-accordion li.sf-expanded > ul {
	font-size: 15px;
	padding-left: 25px;
}

ul.sf-menu.menu ul {
	background: #fff;
}

/* Positioning correction for Firefox */

@-moz-document url-prefix() { 
	ul.sf-menu.sf-accordion.sf-expanded {
		background: #fff;
		box-shadow: 1px 1px 3px #666;
		height: max-content;
		left: -71.5vw !important;
		min-height: 100vh;
		padding: 2em;
		position: absolute;
		top: 6.35em !important;
		transition: 1s 0s ease-in;
		width: 100vw;
	}
}


/** Secondary Menu **/

div.secondary-menu-top {
	display: none;
}

div.secondary-menu-bottom {
	margin: auto;
	padding: 20px 0;
	width: 150px;
}

nav#block-topminimenu-2 {
	text-transform: uppercase;
}

nav#block-topminimenu-2 ul,
nav#block-caraco-theme-socialsmenu ul {
	line-height: 1.8;
	margin: auto;
	padding-left: 0;
	text-align: center;
}

nav#block-topminimenu-2 ul li a {
		padding: 6px;
}

nav#block-topminimenu-2 ul li:last-child {
	border: none;
}

nav#block-topminimenu-2 ul li:last-child:hover {
	background: #4dbc15;
}


/** Footer Socials Menu **/

#block-caraco-theme-footersocialsmenu a:hover {
	background: #fff;
	color: #333;
	text-decoration: underline;
}


/** Font Awesome Icons **/

.svg-inline--fa {
	color: #062f6e;
	font-size: 1.5em;
	padding: 2px 5px;
}

#block-caraco-theme-footersocialsmenu .svg-inline--fa,
#block-caraco-theme-socialsmenu-2 .svg-inline--fa {
	background: #062f6e;
	border: 2px solid #062f6e;
	border-radius: 60px;
	color: #fff;
	height: 20px;
	margin-bottom: -5px;
	width: 15px;
}

/* Houzz Icon Colours */

#block-caraco-theme-socialsmenu-2 .fa-houzz,
#block-caraco-theme-footersocialsmenu .fa-houzz {
	background: #4dbc15;
	border-color: #4dbc15;
}

/* Facebook Icon Size */

.fa-facebook-f,
.fa-instagram,
.fa-youtube {
	background: #062f6e;
	border: 1px solid #062f6e;
	border-radius: 15px;
	color: #fff;
	font-size: 17px;
	height: 20px;
	padding: 4px 2px 1px;
}

/* Primary Menu - Bars Icon Colours */

.fa-bars {
	border: none;
	color: #fff;
	font-size: 2em;
}

/* Font Awesome Hover Colours */


.fa-houzz:hover {
	color: #4dbc15;
}

.fa-bars:hover, 
.fa-bars:focus, 
.fa-bars:active {
	background: transparent;
	color: #999;
}

#block-caraco-theme-footersocialsmenu a:hover i.fa-brands,
#block-caraco-theme-socialsmenu-2 i.fa-brands:hover,
#block-caraco-theme-footersocialsmenu a:hover i.fa,
#block-caraco-theme-socialsmenu-2 i.fa:hover,
#block-caraco-theme-footersocialsmenu a:active i.fa-brands,
#block-caraco-theme-socialsmenu-2 i.fa-brands:active
#block-caraco-theme-footersocialsmenu a:active i.fa,
#block-caraco-theme-socialsmenu-2 i.fa:active {
	background: #d6ecfb;
	color: #062f6e;
}


/** Page Title **/

.header-title {
	color: #fff;
	padding: 1em 0;
	text-align: center;
}


/*--------------*/
/*! Front Page !*/
/*--------------*/


/** Header Video **/

.header-video {
	display: none;
}


/** Newsletter Link **/

div.front-newsletter-link {
	background: #062f6e;
	box-sizing: border-box;
	color: #fff;
	margin-left: -2em;
	padding: 10px 1em;
	position: revert;
	text-align: center;
	width: 100vw;
}

div.front-newsletter-link a {
	color: #fff;
	font-variant: all-small-caps;
}


/** Featured Quick Occupancy Homes **/

#block-caraco-theme-views-block-homes-front-page-feature-block-1 div.views-row {
	padding: 0 1em 2em;
	width: 100%;
}

div.feat-home-photo {
	padding: 0;
	width: calc(100% - 3em);
}

#block-caraco-theme-views-block-homes-front-page-feature-block-1 h2 {
	background: #fff;
	color: #062f6e;
	font-size: 2em;
	font-weight: 700;
	margin: 0;
	padding: 1em 0;
	text-align: center;
	width: 100%;
}

#block-caraco-theme-views-block-homes-front-page-feature-block-1 p.fqoh-price strong,
#block-caraco-theme-views-block-homes-front-page-feature-block-1 p.fqoh-ready-by strong {
	color: #062f6e;
}

#block-caraco-theme-views-block-homes-front-page-feature-block-1 p.fqoh-bed-bath-sqft {
	display: none;
}

.feat-home-logo {
	align-content: center;
	display: inline-block;
	height: 4em;
	padding: 0.5em 1em;
	width: 100%;
}

div.feat-home-logo img {
	max-height: 5em;
	max-width: 40%;
	width: auto !important;
}


/** Neighbourhood Feature **/

#block-caraco-theme-views-block-neighbourhood-feature {
	background: #edf6fc url("/themes/custom/caraco_theme/images/caraco-bg.png") top / contain no-repeat;
	padding: 3em 1em;
}

#block-caraco-theme-views-block-neighbourhood-feature h2 {
	padding: 0 0 1em;
}

.neigh-feat-contain {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}

.neighbourhood-feature {
	margin: 1em auto;
	max-height: 300px;
	min-height: 300px;
	max-width: 300px;
	min-width: 300px;
	overflow: hidden;
}

.neigh-feat-link {
	display: block;
	height: 0;
}

.neigh-feat-bg {
	background: #062f6e;
	height: 300px;
	overflow: hidden;
	padding: 0;
	width: 300px;
}

.neigh-feat-bg img {
	opacity: 0.75;
}

.neigh-feat-hover {
	height: 300px;
	margin: -300px auto 0;
	max-height: 100%;
	opacity: 0;
	position: absolute;
	width: 300px;
}

.neigh-feat-hover-box {
	background: rgba(255, 255, 255, 0.75);
	height: 240px;
	margin: 20px;
	padding: 0 20px 20px;
	width: 220px;
 }
 
.neigh-feat-logo {
	text-align: center;
}
 
.neigh-feat-logo img {
	height: auto;
	width: 200px;
}

.neigh-feat-text {
	color: #333;
	font-weight: 100;
	margin: 5px 0 0 -10px;
	position: absolute;
}

p.neigh-feat-text-name,
p.neigh-feat-text-tag {
	margin: 0;
	padding: 0;
}

p.neigh-feat-text-tag {
	font-size: 0.7em;
	line-height: 1;
}

p.neigh-feat-text-name {
	color: #000;
	font-size: 0.75em;
	font-weight: 500;
	line-height: 1.5;
	text-transform: uppercase;
}

.neigh-feat-white {
	height: 260px;
	margin: -300px auto 0;
	padding: 20px;
	position: absolute;
	text-align: center;
	width: 260px;
}

.neigh-feat-white img {
	height: auto;
	opacity: 1;
	padding: 0 20px 20px;
	width: 200px;
}

a.neigh-feat-link:hover div.neigh-feat-bg img {
	opacity: 1;
}

a.neigh-feat-link:hover .neigh-feat-hover,
div.neigh-feat-bg:hover .neigh-feat-hover,
div.neigh-feat-white:hover .neigh-feat-hover,
div.neigh-feat-hover:hover {
	opacity: 1;
	transition: all 1s ease-out;
}

a.neigh-feat-link:active .neigh-feat-hover,
div.neigh-feat-bg:active .neigh-feat-hover,
div.neigh-feat-white:active .neigh-feat-hover,
div.neigh-feat-hover:active {
	opacity: 1;
}

a.neigh-feat-link:hover .neigh-feat-white,
div.neigh-feat-bg:hover .neigh-feat-white,
div.neigh-feat-white:hover .neigh-feat-white,
div.neigh-feat-white:hover {
	opacity: 0;
	transition: all 1s ease-out;
}

a.neigh-feat-link:active .neigh-feat-white,
div.neigh-feat-bg:active .neigh-feat-white,
div.neigh-feat-white:active .neigh-feat-white,
div.neigh-feat-white:active {
	opacity: 0;
}

/** Gallery Feature **/

div#block-caraco-theme-views-block-gallery-block-1 {
	text-align: center;
}

#block-caraco-theme-views-block-gallery-block-1 h2 {
	font-size: 2em;
	padding: 1em 0;
}

.front-page-gallery .slide__content {
	padding: 0.25em;
}

div.more-link {
	background: #062f6e;
	border: 1px solid #fff;
	font-size: 1.5em;
	margin: 3em auto;
	padding: 15px;
	width: max-content;
}

div.more-link a {
	color: #fff;
}

div.more-link:hover {
	background: #fff;
	border: 1px solid #062f6e;
}

div.more-link:hover a {
	color: #062f6e;
}

#cboxCurrent {
	font-size: 0.8em;
	padding: 0 20px;
}


/*----------------*/
/*! Static Pages !*/
/*----------------*/


/** Edit Tabs **/

div#block-caraco-theme-tabs ul {
	border-bottom: 1px solid #999;
	font-size: 0.8em;
	list-style: none;
	padding-left: 0;
}

div#block-caraco-theme-tabs ul li {
	background: #eee;
	border: 1px solid #999;
	border-radius: 4px 4px 0 0;
	display: inline-block;
	margin: 0 0 -1px;
	padding: 5px 15px 5px;
}

div#block-caraco-theme-tabs ul li:first-child {
	background: #fff;
	border-bottom: 1px solid #fff;
}

/** Page Image **/

.page-image {
	width: calc(100% + 2em);
	margin-left: -1em;
}

.page-image img {
	border-top: 5px solid #062f6e;
	border-bottom: 5px solid #062f6e;
	width: 100%;
}

/** Page layout **/

div.basic-page {
	margin-left: -0.5em;
	width: calc(100% + 1em);
}	
	
.page-tab-content {
	display: none;
	padding: 4em 0.5em 4em;
}

.page-tab-content.active {
	display: block;
}	

/** Internal Navigation **/

nav.internal-page-nav {
	background: #d6ecfb;
	margin: -2em 0 0;
	padding: 1em 0;
	text-align: center;
	width: 100vw
}

nav.internal-page-nav h2 {
	font-size: 2em;
	padding-bottom: 0.5em;
	text-align: center;
}

nav.internal-page-nav ul {
	font-size: 1.5em;
	margin: auto;
	padding: 0;
	width: 100%;
}

nav.internal-page-nav ul li {
	display: block;
	width: 100%;
}

nav.internal-page-nav ul li button {
	background: none;
	border: none;
	color: #062f6e;
	font-size: 1em;
	margin: auto;
}

nav.internal-page-nav ul li button:active,
nav.internal-page-nav ul li button:hover {
	background: transparent;
	color: #333;
}

.internal-page-nav button.tab-link.active {
	border-bottom: 1px solid #000;
	color: #000;
	font-weight: 700;
}


/** Buildtopia Form **/

#theForm label.error,
#theForm input.submit {
	color: red;
	display: none;
	float: none;
}
#formSubmitBtn {
	background: #062f6e;
	border: 1px solid #fff;
	color: #fff;
	font-size: 1.2em;
	margin: 1em auto;
	padding: 1em;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

#formSubmitBtn:hover,
#formSubmitBtn:active {
	background: #fff;
	border: 1px solid #062f6e;
	color: #062f6e;
}

/** Service Request Form **/

.form-1-column {
	margin: 0 0 0 -1em;
	padding: 1em;
	width: calc(100vw - 2em);
}

.form-item-images .webform-element-description {
	color: #666;
	font-size: 0.8em;
	font-style: italic;
}


input.form-submit.service-request-submit {
	background: #062f6e;
	border: 1px solid #fff;
	color: #fff;
	font-size: 1.2em;
	margin: 1em auto;
	padding: 15px;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

input.form-submit.service-request-submit:hover,
input.form-submit.service-request-submit:active {
	background: #fff;
	border: 1px solid #062f6e;
	color: #062f6e;
}

/** Last Updated **/

div.updated {
	color: #666;
	font-size: 0.7em;
	margin-top: 3em;
	text-transform: uppercase;
}


/** Custom Classes **/

.accent {
	font-family: 'Milena', cursive;
	font-size: 1.5em;
}

.big {
	font-size: 2em;
}

.blue {
	background: #edf6fc;
}

.blue-box {
	background: #edf6fc;
	padding: 2em;
}

.blue-text {
	color: #062f6e;
}

.caraco-blue-bg {
	background: #edf6fc url("/themes/custom/caraco_theme/images/caraco-bg.png") top / contain no-repeat;
}

.caraco-white-bg {
	background: #fff url("/themes/custom/caraco_theme/images/caraco-bg.png") top / contain no-repeat;
}

.centre {
	margin: auto;
	text-align: center;
}
.light-blue {
	background: #edf6fc;
}

.hidden {
	color: transparent;
	height: 0;
}

.higher {
	margin-top: -1em;
}

.mobile-block {
	display: block;
	padding-bottom: 15px;
}

.neigh-split-bg-image {
	margin: 0 auto -250px;
  	max-width: 75vw;
}

div.wp-block-columns.option-columns {
	margin: auto;
	max-width: 1200px;
}

div.option-box {
	background: #062f6e;
	color: #fff;
	height: 300px;
	margin: auto;
	max-width: 100%;
	padding: 1em;
	width: 300px;
}

div.option-box.light {
	background: #d6ecfb;
	color: #062f6e;
}

p.option-box-sup {
	font-size: 0.75em;
	margin: 0;
	padding: 0;
	text-align: left;
}

p.option-box-main {
	font-size: 2.5em;
	font-weight: 700;
	margin: 0;
	padding: 1em 0 0;
	text-align: left;
}

p.option-box-main sup {
	font-size: 0.5em;
}

p.option-box-main-message {
	font-size: 1.2em;
	margin: 0;
	padding: 4em 0 0;
	text-align: left;
	text-transform: uppercase;
}

p.option-box-sub {
	font-size: 1em;
	margin: 0;
	padding: 0 1em 0;
	text-align: left;
	text-transform: uppercase;
}

p.option-box-fine-print {
	font-size: 0.9em;
}

.right-hairline {
	border-right: 2px solid #999;
	margin-right: 2em;
}

.small {
	font-size: smaller;
}

h4.small {
	font-size: 1.2em;
}

.sold-home {
	color: red;
}

.super-big {
	font-size: 6em;
	width: 100%;
}


/*-----------------*/
/*! Dynamic Pages !*/
/*-----------------*/


/** Model Home Page **/

#block-caraco-theme-views-block-model-homes-view-block-1 div.views-row {
	border-bottom: 1px solid #062f6e;
	margin: auto;
	padding: 0 0 3em;
	width: 90%;
}

.model-home-logo {
	display: block;
	margin: 2em auto;
}

.model-home-logo img {
	display: block;
	margin: auto;
	max-width: 150px;
}

div.model-home-photo {
	margin-top: 1.5em;
	padding: 0 1.5em;
	width: calc(100% - 3em);
}

div.mh-hours {
	padding-top: 2em;
}

#block-caraco-theme-views-block-model-homes-view-block-1 h2 {
	background: #fff;
	color: #062f6e;
	font-size: 2em;
	font-weight: 700;
	margin: 0;
	padding: 1em 0;
	text-align: center;
	width: 100%;
}

#block-caraco-theme-views-block-model-homes-view-block-1 h3 {
	display: inline-block;
	font-size: 1.1em;
	padding: .75em 0.5em 0 1.3em;
	text-transform: uppercase;
}

#block-caraco-theme-views-block-model-homes-view-block-1 h4 {
	display: inline-block;
	font-size: 1em;
	padding: .75em 0.5em 0 1.3em;
}

#block-caraco-theme-views-block-model-homes-view-block-1 p {
	font-size: 0.75em;
	margin: 0 2em;
	padding: 5px 0 0;
	text-align: left;
}

#block-caraco-theme-views-block-model-homes-view-block-2 {
	margin-top: 4em;
}

#block-caraco-theme-views-block-model-homes-view-block-2 h2 {
	margin-bottom: 1em;
}

.model-directions {
	display: block;
	margin: 4em 1.5em 0;
	text-align: left;
	width: 100%;
}

a.model-directions-button {
	background: #062f6e;
	border: 1px solid #062f6e;
	color: #fff;
	padding: 10px;
	width: 50%;
}

a.model-directions-button:hover,
a.model-directions-button:focus {
	background: #fff;
	color: #062f6e;
}


/** Taxonomy Pages - Neighbourhood, Series, Building Type **/


.primary-menu.taxonomy-page {
	background-size: cover;
	margin: -2em -0.5em 0;
	min-height: 150px;
	width: 100vw;
}

div.neighbourhoods-feature {
	display: inline-flex;
	flex-direction: column;
	margin: 10px;
	max-width: 200px;
	padding: 5px;
	text-align: center;
}

div.neighbourhoods-feature + div.neighbourhoods-feature {
	border-top: solid 1px #333;
}

div.neighbourhood-logo {
	display: inline-block;
	height: max-content;
	padding: 2em;
	width: calc(100% - 4em);
}

.neigh-logo {
	margin: auto;
	max-width: 250px;
}

div.neighbourhood-para {
	display: inline-block;
	margin: 0 auto 3em;
}

.brochure-button,
.map-button div {
	background: #062f6e;
	border: 1px solid #062f6e;
	color: #fff;
	margin: 1em auto;
	max-width: 200px;
    padding: 10px;
	text-align: center;
	width: 200px;
}

.brochure-button a,
.map-button div a {
	color: #fff;
}

.brochure-button:hover,
.map-button div:hover {
	color: #062f6e;
	background: #fff;
}

.brochure-button:hover a,
.map-button div:hover a {
	color: #062f6e;
}

.lot-map-image {
	margin: 0 auto 3em;
}

.splide--field-amenities-slider .slide__content {
	height: 475px;
	max-height: 550px;
	width: 100%;
}

.splide--field-amenities-slider {
	background: #edf6fc;
	height: 550px;
	margin: 0 0 0 -0.5em;
	max-width: 100vw;
	width: 100vw;
}

.splide--field-amenities-slider .slide__media {
	max-height: 100%;
	width: 85%;
}

.splide--field-amenities-slider .slide__caption {
	background: #eee;
	font-size: 0.9em;
	margin: -3em 20% auto;
	padding: 10px;
	position: absolute;
	text-align: left;
	width: 80%;
	z-index: 100;
}

.splide--field-amenities-slider .slide__caption h2 {
	font-size: 1.1em;
	line-height: 1em;
	padding-top: 10px;
}

.splide--field-amenities-slider .splide__arrow {
	top: 85%;
}

.map-image {
	margin: 0 auto -2em -0.5em;
	padding: 0;
	width: 100vw;
}


/** Plan and Home Pages **/

p.space-series {
	font-weight: 800;
	letter-spacing: 0.5px;
}

span.space {
	margin-right: 10px;
}

span.series {
	margin-left: 10px;
	text-transform: uppercase;
}

p.bed-bath {

}

span.bedrooms {
	margin-right: 25px;
}

span.bathrooms {

}

div.home-plan-description {
	padding: 3em 10px 3em;
}

div.plan-price-brochure {
	color: #062f6e;
	margin: 2em auto 5em;
	text-align: center;
}

div.home-plan-neigh-logo {
	margin: auto;
	max-width: 70%;
}

p.plan-home-price {
	color: #062f6e;
	font-size: 2.5em;
	font-weight: 700;
	letter-spacing: 2px;
	margin: 0;
	padding: 0;
	text-align: center;
}

a.plan-brochure {
	background: #062f6e;
	color: #fff;
	font-size: 1em;
	margin: 15px 0 0;
	padding: 10px;
	text-transform: uppercase;
}

a.plan-contact {
	background: #062f6e;
	color: #fff;
	display: inline-block;
	font-size: 1em;
	margin: 15px 10px 0;
	padding: 10px;
	text-transform: uppercase;
}

p.fine-print {
	font-size: 0.7em;
	font-style: italic;
	margin-top: 5em;
	text-transform: none;
}

.youtube-container {
	margin: 0;
}

aside.pictures-sidebar {
	margin: 0 auto 2em;
}

.splide__slide {
	align-content: flex-end;
	padding: 0;
}

.splide__slider {
	margin-bottom: 1em;
}

.splide__arrow:disabled {
	opacity: 0;
}

div.brochure img {
	border: 1px solid #062f6e;
}


/** Find a Home Page and Listings (Neighbourhoods) **/

.views-element-container h2 {
	text-align: center;
}

.find-a-home-search h3 {
	padding: 1em 0 1em;
}

.home-search-buttons button {
	margin: 1em 0.5em;
	width: 275px;
}

form.views-exposed-form select {
	margin-bottom: 0;
}

input.form-submit {
	color: #000;
	background: #fff;
	border: 1px solid #062f6e;
	margin-top: 1em;
	width: 100px;
}

input.form-submit:hover,
input.form-submit:focus {
	color: #fff;
	background: #062f6e;
}

.search-tab-content {
	display: none;
	padding: 0 0 4em;
}

.search-tab-content.active {
	display: block;
}

.find-a-home-search {
	margin: auto;
	text-align: center;
	width: calc(100% - 1em);
}

.community-home-search {
	background: #edf6fc url("/themes/custom/caraco_theme/images/caraco-bg.png") top / contain no-repeat;
	margin: 0 0 0 -10px;
	padding: 4em 0;
	width: 100vw;
}

.find-a-home-search h2 {
	margin: auto;
	max-width: 7em;
}

.find-a-home-search > form {
	margin: auto;
	padding: 3em 0 1em;
	width: max-content;
}

.find-a-home-search > form > div,
.fin-a-home-search > form > div {
	width: 100%;
}

.find-a-home-search > form > div + div,
.find-a-home-search > form > div + div {
	padding: 2em 0 0 0;
}

.find-a-home-search > form > div > select {
	background: #fff;
	border-radius: 0;
}

.find-a-home-search div#model {
	padding-top: 145px;
}

.find-a-home-search-listing {
	text-align: left;
}

.find-a-home-search-listing h4 {
	font-size: 1.7em;
	padding: 10px;
}

.find-a-home-search-listing h5 {
	font-size: 1.1em;
	padding: 1em 0;
}

.find-a-home-search-listing p {
	color: #333;
	line-height: 1;
	padding: 0 10px;
}

.find-a-home-page {
	margin-bottom: -4em;
}

p.fqoh-price {
	font-size: 1.5em;
	margin: 0;
}

p.fqoh-neigh {
	font-size: 0.65em;
}

p.fqoh-bed-bath-sqft i {
	color: #062f6e;
	font-size: 1.5em;
	margin-left: 0.5em;
}

p.fqoh-bed-bath-sqft i:first-child {
	margin-left: 0;
}

.model-hours-search {
	border-top: 1px solid #062f6e;
	margin: 2.5em 10px 0;
	padding-top: 10px;
}

.view-sold-flag {
	margin: -77% 0 0;
	position: relative;
	width: 100%;
	z-index: 0;
}

.view-sold-flag > img {
	min-width: 100%;
}

.js-pager__items {
	margin-top: 2em;
}

/*-------------*/
/*! Colorbox !*/
/*-------------*/


#colorbox,
#cboxOverlay,
#cboxWrapper {
	left: 0;
	top: 0;
	z-index: 9999;
}

#cboxOverlay {
	background: #062f6e;
	filter: opacity(90%);
	height: 100%;
	opacity: 0.9;
	position: fixed;
	width: 100%;
}

#colorbox {
	outline: 0;
}

#cboxMiddleLeft,
#cboxTopLeft,
#cboxTopCenter,
#cboxTopRight,
#cboxMiddleRight,
#cboxBottomRight,
#cboxBottomCenter,
#cboxBottomLeft {
	background: #fff;
	height: 25px;
	width: 25px;
}

#cboxContent {
	background: #fff;
	overflow: hidden;
}

.cboxIframe {
	background: #fff;
}

#cboxError {
	border: 1px solid #ccc;
	padding: 50px;
}

#cboxLoadedContent {
	margin-bottom: 20px;
}

#cboxTitle {
	bottom: 0;
	color: #999;
	left: 0;
	position: absolute;
	text-align: center;
	width: 100%;
}

#cboxCurrent {
	bottom: 20px;
	color: #999;
	left: 20px; 
	position: absolute; 
}

#cboxLoadingOverlay  {
	background: #fff no-repeat 5px 5px;
}

#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
	color: #062f6e;
	font-weight: bolder;
	height: 3em;
	position: absolute;
	width: 3em;
}

#cboxPrevious,
#cboxNext {
	background: rgba(255, 255, 255, 0.5);
	border: 1px solid #999;
	border-radius: 50px;
}

#cboxPrevious:hover,
#cboxNext:hover,
#cboxSlideshow:hover {
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid #062f6e;
}

#cboxSlideshow {
	bottom: 0;
	right: 42px;
	color: #333;
}

#cboxPrevious {
	bottom: 50%;
	left: 30px;
}

#cboxNext {
	bottom: 50%;
	right: 30px;
}

#cboxClose {
	background: none;
	border: 0;
	display: block;
	right: 5px;
	top: -30px;
}


/*-------------------*/
/* Maintenance Pages */
/*-------------------*/


img.maintenance {
	margin: auto;
	max-width: 800px;
}

h1.maintenance {
	text-align: left;
	margin-bottom: 2em;
	padding: 0.5em;
}

h2.maintenance {
	font-size: 1.4em;
}

main.maintenance {
	display: inline-block;
	margin-bottom: 4em;
	width: 66%;
}

main.maintenance a.button {
	background: #fff;
	border: 1px solid #062f6e;
	border-radius: 10px;
	margin: 1em 50%;
	padding: 10px 20px;
}

main.maintenance a.button:hover {
	background: #062f6e;
	color: #fff;
}

aside.maintenance {
	display: inline-block;
	padding: 3em 2em;
	vertical-align: top;
	width: 33%;
}

ol.task-list li.done {
	text-decoration: line-through;
}

ol.task-list li.is-active {
	font-weight: 600;
}


/*----------------------*/
/*----------------------*/
/*! NON-MOBILE STYLING !*/
/*----------------------*/
/*----------------------*/


/*----------------*/
/*! Tablet Size !*/
/*----------------*/


@media screen and (min-width: 600px) {
	/* Form Element Defaults */
	form {
		width: 100%;
	}
	/* Gutenberg Overrides */
	blockquote.wp-block-quote p.cite span {
		right: 0;
	}
	/*! Theme Region Styling !*/
	.header {
		background-color: transparent;
	}
	div.caraco-logo {
		background: transparent;
		margin-top: 10px;
		width: 29%;
	}
	#block-mainpagecontent {
		margin: 4em auto 0;
		max-width: calc(100% - 16em);
	}
	main.content {
		width: 100%;
	}
	main.content h1 {
		max-width: calc(100% - 210px);
		text-align: left;
	}
	/* Header Banner*/
	.header-title {
		display: inline-block;
		padding: 3em 0;
		width: 100%;
	}
	.series-type h2.header-title {
		padding: 5em 0 3em;
	}
	p.header-title {
		font-size: 2.5em;
		font-weight: 700;
		margin: 0;
	}
	div.front-page-video-large {
		background: #fff;
		max-height: 80vh;
		overflow: hidden;
	}
	video.front-page-video-large {
		display: inline-block;
		margin-top: -130px;
	}
	div.front-page-video-large a {
		color: #062f6e;
	}
	div.front-page-video-large a:hover {
		color: #fff;
	}
	div.front-page-video-large .fa-bars {
		color: #062f6e;
	}
	div.front-page-video-large .fa-bars:hover {
		color: #fff;
	}
	div.front-page-video-small {
		display: none;
	}
	/* Footer */
	.footer--top {
		flex-direction: row;
		justify-content: space-between;
		margin: auto;
	}
	.footer--top > div {
		align-self: flex-start;
		display: flex;
		flex-direction: column;
	}
	footer h6 {
		text-align: left;
	}
	.footer-socials h6, 
	.footer-contact h6, 
	.footer-nav h6 {
		font-size: 1.5em;
	}
	.footer-nav {
		min-width: 100px;
		width: max-content;
	}
	.footer-contact {
		min-width: 200px;
		width: max-content;
	}
	.footer-socials {
		min-width: 125px;
		width: max-content;
	}
	.footer-nav nav ul li {
		display: block;
		text-align: left;
	}
	div.footer-text {
		display: block;
	}
	.footer-text p,
	.footer-contact p {
		text-align: left;
		margin: 1em 0;
		padding: 0;
	}
	.footer-socials nav {
		text-align: left;
	}
	.footer-nav nav ul,
	.footer-socials nav ul {
		margin: 0;
		padding: 0.5em 0 0;
	}
	.footer-socials nav ul li {
		display: block;
		line-height: 3;
	}
	.footer-socials nav ul li a {
		padding: 10px 8px 10px 3px;
	}
	.footer-logos-mobile {
		display: none;
	}
	.footer-logos-big {
		display: block;
		text-align: left;
	}
	.footer-logos-big img {
		max-height: 25px;
		padding-top: 1em;
	}
	.footer-nav .footer-logos-big img {
		padding-top: calc(10px + 1em);
	}
	.footer--bottom {
		margin: 2.5em auto;
		padding-left: 2em;
	}
	/*! Menus !*/
	/* Main Menu */
	.mobile-menu .fa-bars {
		color: #062f6e;
	}
	div.mobile-menu {
		display: block;
		vertical-align: 0;
		width: 100%;
	}
	.sf-accordion-toggle {
		margin-top: -4em;
		text-align: right;
	}
	/* Secondary Menu */
	div.secondary-menu-top {
		display: inline-block;
		padding-top: 20px;
		text-align: right;
		vertical-align: top;
		width: 70%;
	}
	div.secondary-menu-top div {
		display: inline-block;
		width: max-content;
	}
	div.secondary-menu-top div nav ul {
		margin: 0 5px;
		padding: 0;
	}
	nav#block-caraco-theme-topminimenu {
		text-transform: uppercase;
	}
	nav#block-caraco-theme-topminimenu ul li a {
		border-right: 1px solid #062f6e;
		color: #062f6e;
		padding: 0 8px;
	}
	nav#block-caraco-theme-socialsmenu-2 ul li a {
		margin: 0 2px;
		padding: 0;
	}
	nav#block-caraco-theme-socialsmenu-2 ul li a:hover,
	nav#block-caraco-theme-socialsmenu-2 ul li a:active	{
		color: #d6ecfb;
		background: #fff;
	}
	div.secondary-menu-bottom {
		display: none;
	}
	nav#block-topminimenu-2 ul {
		text-align: right;
	}
	nav#block-topminimenu-2 ul li:last-child span {
		font-size: 16px;
		letter-spacing: -1px;
	}
	nav#block-topminimenu-2 ul li:last-child span.link-text {
		display: none;
	}
	nav#block-topminimenu-2,
	nav#block-caraco-theme-socialsmenu {
		display: inline-block;
	}
	/*! Front Page !*/
	/* Slider */
	.flexslider {
		margin: 0;
	}
	p.slider-text {
		background: rgba(255, 255, 255, 0.8);
		margin: -30vw 1em 0;
		padding: 15px 10px;
		position: absolute;
		text-align: left;
		width: max-content;
	}
	.flex-control-nav {
		bottom: 0;
	}
	/* Featured Quick Occupancy Homes */
	#block-caraco-theme-views-block-homes-front-page-feature-block-1 > div > div  {
		display: flex;
		justify-content: space-around;
	}
	#block-caraco-theme-views-block-homes-front-page-feature-block-1 div.views-row {
		width: 30%;
	}
	#block-caraco-theme-views-block-homes-front-page-feature-block-1 p.fqoh-bed-bath-sqft {
		display: block;
	}
	div.feat-home-photo {
		width: 100%;
	}
	/* Neighbourhood Feature */
	.neigh-feat-contain {
		flex-direction: row;
		justify-content: center;
		margin: auto;
		max-width: 1500px;
	}
	.neighbourhood-feature {
		margin: 1em;
	}
	/* Gallery Feature */
	#block-caraco-theme-views-block-gallery-block-1 {
		margin-bottom: 4em;
	}
	#block-caraco-theme-views-block-gallery-block-1 h2 {
		margin: 1em 0;
	}
	#block-caraco-theme-views-block-gallery-block-2 {
		margin: auto;
		max-width: calc(100% - 16em);
	}
	/*! Static Pages !*/
	div.basic-page {
		margin-left: -8em;
		width: calc(100% + 16em);
	}	
	/* Edit Tabs */
	div#block-caraco-theme-tabs ul {
		padding-left: 1em;
	}
	/* Page Layout */
	.page-tab-content {
		padding: 4em 4em 4em;
	}
	/* Internal Navigation */
	nav.internal-page-nav {
		align-items: anchor-center;
		display: flex;
		flex-flow: row;
		flex-wrap: wrap;
		margin: -4em 0 0;
	}
	nav.internal-page-nav ul li {
		display: inline-block;
		width: 45%;
	}
	/* Gutenberg Overrides */
	.wp-block-column {
		padding: 0 10px;
	}
	.wp-block-column:first-child {
		padding: 0 10px 0 0;
	}
	.wp-block-column:last-child {
		padding: 0 0 0 10px;
	}
	/* Service Request Form */
	.form-1-column {
		margin: 0 0 4em;
		width: calc(100% - 2em);
	}
	/* Custom Classes*/
	.big-margin {
		margin: 1em auto;
		max-width: 600px;
	}
	.big-margin.left {
		margin: 1em 0;
	}
	.blue-box {
		margin-left: -1em;
		padding: 3em;
	}
	.left {
		text-align: left;
	}
	div.option-box {
		width: 200px;
	}
	p.option-box-main {
		font-size: 2em;
	}
	.right {
		text-align: right;
	}
	/*! Dynamic Pages !*/
	/* Model Homes Page */
	#block-caraco-theme-views-block-model-homes-view-block-1 > div > div  {
		display: flex;
		justify-content: space-around;
	}
	#block-caraco-theme-views-block-model-homes-view-block-1 div.views-row {
		border-bottom: none;
		width: 50%;
	}
	#block-caraco-theme-views-block-model-homes-view-block-1 h3,
	#block-caraco-theme-views-block-model-homes-view-block-1 h4	{
		display: block;
		padding: 0 0 0.5em 1.3em;
	}
	.model-home-logo {
		height: 100px;
		margin: 0.5em auto;
		text-align: center;
	}
	.model-home-logo img {
		display: inline-block;
		margin: 0 1.5em;
		max-height: 100%;
		width: auto;
	}
	div.mh-info {
		display: inline-block;
		border-right: 2px solid #999;
		width: 50%;
	}
	div.mh-hours {
		display: inline-block;
		max-width: 48%;
		padding-top: 0;
		vertical-align: top;
	}
	/* Taxonomy Pages */
	.primary-menu.taxonomy-page {
		margin: -75px -8em 0;
		min-height: 350px;
	}
	div.neighbourhoods-feature {
		flex-direction: row;
		max-width: 25%;
	}
	div.neighbourhoods-feature + div.neighbourhoods-feature {
		border-top: none;
	}
	.map-brochure {
		text-align: center;
	}
	.map-button {
		display: inline;
	}
	.brochure-button,
	.map-button div {
		display: inline-block;
		margin: 1em;
	}
	.splide--field-amenities-slider {
		height: 800px;
		margin: 0 0 0 -8em;
		padding: 2em;
	}
	.splide--field-amenities-slider .slide__content {
		height: 725px;
		max-height: 750px;
	}
	.splide--field-amenities-slider .splide__arrow {
		top: 95%;
	}
	.map-image {
		margin: 0 auto 0 -8em;
	}
	/* Home and Plan Pages */	
	div.plan-price-brochure {
		margin: -130px 0 0 0;
		position: absolute;
		right: 4em;
	}
	div.home-plan-neigh-logo {
		max-width: 150px;
	}
	div.home-plan-neigh-logo img {
		text-align: right;
	}
	p.plan-home-price {
		text-align: right;
	}
	div.home-plan-description {
		padding: 2em 10px 3em;
	}
	/* Find a Home */
	.find-a-home-search {
		width: calc(100% - 16em);
	}
	.find-a-home-search h2 {
		max-width: max-content;
	}
	.community-home-search {
		margin: 0 0 0 -8em;
		width: 100vw;
	}
	form.views-exposed-form select {
		margin-bottom: 1.5em;
	}
	.find-a-home-search > form {
		display: flex;
		max-width: 100%;
	}
	.find-a-home-search > form > div,
	.find-a-home-search > form > div + div	{
		padding: 0 2em 0 0;
		width: max-content;
	}
	.view-sold-flag {
		margin: -76% 0 0;
	}
	p.fqoh-bed-bath-sqft {
		font-size: 0.75em;
	}
	/*! Custom Classes !*/
	.left-flag {
		border-left: 4em solid #062f6e;
		left: -4.5em;
		padding-left: 0.5em;
		position: relative;
		text-align: left;
	}
}


/*---------*/
/* Desktop */
/*---------*/

@media screen and (min-width: 1250px) {
	html {
		font-size: 11pt;
	}
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		text-align: left;
	}
	main#content {
		width: 100%;
	}
	/* Form Element Defaults */
	form {
		width: 100vw;
	}
	.form-2-columns-contain {
		display: flex;
		justify-content: center;
		margin-bottom: 4em;
	}
	fieldset {
		display: flex;
		justify-content: center;
	}
	fieldset div.three-options {
		display: inline-block;
		max-width: 33%;
		padding-right: 2em;
		width: max-content;
	}
	fieldset div.four-options {
		display: inline-block;
		max-width: 25%;
		padding-right: 3em;
		width: max-content;
	}
	/* Gutenberg Overrides */
	blockquote.wp-block-quote.big-margin {
		display: inline-block;
		margin: 0 5%;
		max-width: 39%;
		padding: 0;
	}
	.wp-block-quote::before {
		margin-left: -0.1em;
		left: auto;
	}
	.wp-block-quote::after {
		margin-left: 25%;
		margin-top: -1.3em;
		right: auto;
	}
	blockquote.wp-block-quote p.cite {
		font-size: 2em;
	}
	blockquote.wp-block-quote p.cite span {
		margin-left: 30%;
		right: auto;
	}
	/* Theme Region Styling */
	.header .caraco-logo {
		padding: 0.25em 0 0.25em 4em;
	}
	.header .secondary-menu-top {
		padding: 1em 4em 1em 0;
		vertical-align: bottom;
		width: calc(71% - 9em);
	}
	div.mobile-menu {
		display: none;
	}
	div.primary-menu {
		min-height: 60px;
	}
	div.primary-menu a {
		color: #fff;
	}
	div.primary-menu a:hover {
		text-decoration: underline;
	}
	ul.sf-menu a {
		font-size: 1em;
	}
	ul.sf-menu.sf-horizontal.sf-shadow ul,
	ul.sf-menu.sf-vertical.sf-shadow ul,
	ul.sf-menu.sf-navbar.sf-shadow ul ul {
		box-shadow: none !important;
	}
	div.primary-menu a.sf-depth-2:hover::before {
		content: '—';
		padding-right: 1em;
	}
	div.primary-menu a.sf-depth-2:hover {
		margin-left: -2em;
	}
	div.primary-menu a.sf-depth-2 {
		color: #fff;
		line-height: 1;
		padding: 0.5em 1em;
	}
	div.primary-menu ul.sf-menu li.sf-depth-2:first-child {
		padding-top: 1.5em;
	}
	div.primary-menu a.sf-depth-3 {
		color: #fff;
	}
	div.primary-menu a.sf-depth-2:hover,
	div.primary-menu a.sf-depth-2:active	{
		color: #d6ecfb;
		text-decoration: underline;
	}
	div.primary-menu a.sf-depth-3:hover,
	div.primary-menu a.sf-depth-3:active	{
		color: #d6ecfb;
		text-decoration: underline;
	}
	div.primary-menu .fa-bars {
		color: #fff;
	} 
	nav#block-caraco-theme-topminimenu ul li a {
		display: inline-block;
		text-align: center;
		width: 12em;
	}
	nav#block-caraco-theme-topminimenu ul li:last-child a {
		border: none;
	}
	section.main {
		display: flex;
		justify-content: space-between;
	}
	/* Footer */
	.footer--top {
		width: 1100px;
		max-width: 1100px;
	}
	div.footer-text {
		max-width: 450px;
	}
	.footer-socials nav ul li {
		display: block;
		text-align: left;
	}
	.footer-logos-big img {
		max-height: 50px;
		padding-top: 5em;
	}
	.footer-nav .footer-logos-big img {
		padding-top: calc(10px + 6em);
	}
	.footer--bottom {
		margin: -8em auto 2.5em;
		max-width: 1100px;
	}
	/* Branding */
	#block-sitebranding {
		display: inline-block;
		font-size: 50px;
		height: 70px;
		max-width: 250px;
		padding: 0;
		width: 100%;
	}
	/* Updated Page Text */
	div.updated {
		margin-left: 4em;
	}
	/*! Menus !*/
	/* Main Menu */
	#superfish-mobile-main-menu {
		display: none;
	}
	#block-mainnavigation ul.sf-menu li.sf-depth-1:last-child {
		width: 250px;
	}
	#block-mainnavigation ul.sf-menu li.sf-depth-1:last-child a {
		background: #062f6e;
		color: #fff;
		margin: 0.5em;
		padding: 0.5em;
		text-align: center;
	}
	#block-mainnavigation ul.sf-menu li.sf-depth-1:last-child a:hover,
	#block-mainnavigation ul.sf-menu li.sf-depth-1:last-child a:active {
		color: #fff;
		background: #000;
	}
	.fa-bars {
		color: #062f6e;
		font-size: 1.7em;
	}
	.svg-inline--fa:hover,
	.svg-inline--fa:focus,
	.svg-inline--fa:active {
		color: #333;
	}
	div.primary-menu {
		width: 100%;
	}
	ul.sf-menu a, ul.sf-menu span.nolink {
		padding: 1em 1.5em;
	}
	ul.sf-menu li:hover > ul,
	ul.sf-menu li.sfHover > ul {
		top: 1.5em;
	}
	ul.sf-menu.menu ul {
		background: transparent;
	} 
	#block-mainnavigation {
		display: block;
		float: right;
		font-size: 1.2em;
		margin-right: 4em;
		max-width: 100%;
	}
	nav#block-topminimenu-2 ul li:last-child span.link-text {
		display: inline;
	}
	div.primary-menu {
		padding: 18px 0;
	}
	/*! Front Page !*/
	/* Newsletter Link */
	div.front-newsletter-link {
		font-size: 16px;
		height: 80px;
		margin: 0 0 -50px calc(95.5% - 1em);
		padding: 10px;
		position: absolute;
		width: 90px;
		z-index: 3;
	}
	/* Slider */
	#block-views-block-caraco-slider-block-1 {
		margin-left: calc(-50vw + 50%);
		max-width: 100vw;
		width: 99.4vw;
	}
	p.slider-text {
		font-size: 1.8em;
		margin: -18% 10vw 0;
	}
	/* Featured Quick Occupancy Homes */
	#block-caraco-theme-views-block-homes-front-page-feature-block-1 > div > div  {
		justify-content: center;
	}
	#block-caraco-theme-views-block-homes-front-page-feature-block-1 div.views-row {
		width: 400px;
	}
	/* Neighbourhood Feature */
	.neighbourhood-feature {
		max-height: 350px;
		min-height: 350px;
		max-width: 350px;
		min-width: 350px;
	}
	.neigh-feat-bg {
		height: 350px;
		width: 350px;
	}
	.neigh-feat-hover {
		height: 350px;
		margin: -350px auto 0;
		width: 350px;
	}
	.neigh-feat-hover-box {
		height: 290px;
		width: 270px;
	}
	.neigh-feat-text {
		margin: 40px 0 0 -10px;
	}
	p.neigh-feat-text-name {
		font-size: 1em;
	}
	p.neigh-feat-text-tag {
		font-size: 0.9em;
	}
	.neigh-feat-white {
		height: 310px;
		margin: -350px auto 0;
		width: 310px;
	}
	/* Gallery Feature */
	#block-caraco-theme-views-block-gallery-block-1 {
		padding: 0 10em;
	}
	/*! Static Pages !*/
	/* Page Layout */
	.page-tab-content {
		padding: 4em 8em 4em;
	}
	/* Internal Navigation */
	nav.internal-page-nav ul li {
		font-size: 0.6em;
		max-width: 15%;
		min-width: 13%;
		width: max-content;
	}
	/* Buildtopia Form */
	.form-2-columns {
		display: inline-block;
		margin: 0 25px;
		width: 500px;
	}
	#formSubmitBtn {
		display: block;
		margin: 2em 1.5em;
		width: calc(100% - 3em);
	}
	/* Service Request Form */
	.form-1-column {
		padding: 0 30%;
	    width: 40%;
	}
	/* Custom Classes*/
	.big-margin {
		margin: 1em auto;
		max-width: 900px;
	}
	.big-margin.left {
		margin: 1em 0;
	}
	.blue-box {
		margin-left: -5em;
		padding: 4em;
	}
	.mobile-block {
		display: inline;
		padding-bottom: 0;
	}
	div.option-box {
		width: 300px;
	}
	p.option-box-main {
		font-size: 2.5em;
	}
	/*! Dynamic Pages !*/
	/* Model Homes Page */
	#block-caraco-theme-views-block-model-homes-view-block-1 {
		margin: auto;
		max-width: 1100px;
	}
	#block-caraco-theme-views-block-model-homes-view-block-1 > div > div  {
		justify-content: center;
	}
	#block-caraco-theme-views-block-model-homes-view-block-1 h3 {
		font-size: 1.5em;
		padding: 0 0.5em 0.5em 1em;
	}
	#block-caraco-theme-views-block-model-homes-view-block-1 p {
		font-size: 1em;
		margin: 0 1.5em;
	}
	.model-home-logo {
		text-align: left;
	}
	/* Taxonomy Pages */
	.primary-menu.taxonomy-page {
		margin: -10em -8em 2em;
		min-height: 600px;
	}
	.primary-menu.taxonomy-page.series-type {
		min-height: 370px;
	}
	div.neighbourhood-logo {
		padding: 8em 2em;
		vertical-align: top;
		width: calc(30% - 5em);
	}
	div.neighbourhood-para {
		margin: 2em 0 3em 2em;
		width: calc(70% - 2em);
	}
	.map-brochure {
		text-align: left;
	}
	.lot-map-image {
		margin: 0 auto 8em;
	}
	.splide--field-amenities-slider .splide__slider {
		margin: auto;
		width: 1000px;
	}
	.splide--field-amenities-slider .slide__content {
		height: 750px;
		max-height: 750px;
	}
	.splide--field-amenities-slider .slide__caption {
		font-size: 1.2em;
		margin: -18em 60% auto;
		padding: 25px;
		width: 40%;
	}
	/* Home and Plan Pages */
	aside.pictures-sidebar {
		max-width: 450px;
		margin: 0 2em 0 0;
	}
	div.plan-price-brochure {
		margin: -100px 0 0 0;
	}
	/* Find a Home */
	.find-a-home-search .find-a-home-page {
		width: calc(100% - 20em);
	}
	p.fqoh-bed-bath-sqft {
		font-size: 0.8em;
	}
	.view-sold-flag {
		margin: -76% 0 0;
	}
}


/*--------*/
/*! Huge !*/
/*--------*/

@media screen and (min-width: 1900px) {
	html {
		font-size: 18px;
	}
	/*! Pages !*/
	aside.pictures-sidebar {
		max-width: 700px;
	}
	/*! Front Page !*/
	/* Newsletter Link */
	div.front-newsletter-link {
		margin: 0 0 -50px calc(1150px - 4%);
	}
	/* Slider */	
	p.slider-text {
		font-size: 2.5em;
	}
	/* Taxonomy Pages */
	.splide--field-amenities-slider {
		margin: 2em auto;
		max-width: 1200px;
	}
	/* Static Pages */
	/* Page Layout */
	.page-tab-content {
		padding: 4em 12em 4em;
	}
	/* Custom Classes */
	.big-margin {
		max-width: 1200px;
	}
	.caraco-blue-bg {
		background: #edf6fc url("/themes/custom/caraco_theme/images/caraco-bg.png") top / cover no-repeat;
	}
	.caraco-white-bg {
		background: #fff url("/themes/custom/caraco_theme/images/caraco-bg.png") top / cover no-repeat;
	}
}


/*-----------*/
/* Dark Mode */
/*-----------*/

@media screen and (prefers-color-scheme: dark) {
	
}


/*---------------*/
/* High Contrast */
/*---------------*/

@media screen and (prefers-contrast: more) {
	html {
		color: #fff; 
		font-size: 24px;
	}
	#block-caraco-theme-footersocialsmenu a:hover {
		background: #062f6e;
		border-radius: 15px;
		color: #fff;
	}
	.svg-inline--fa:hover,
	.svg-inline--fa:focus,
	.svg-inline--fa:active {
		background: #fff;
		color: #000;
	}
	.fa-bars:hover, 
	.fa-bars:focus, 
	.fa-bars:active {
		background: transparent;
		color: #999;
	}
	#block-caraco-theme-footersocialsmenu a:hover .svg-inline--fa,
	#block-caraco-theme-socialsmenu-2 .svg-inline--fa:hover {
		background: #fff;
		color: #000;
	}
}