/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

:root {
  --dark-purple: #231136;
  --purple: #472A64;
  --blue: #84A7C2;
  --black: #16011B;
  --black-50: color-mix(in srgb, var(--black) 50%, transparent);
  --cream: #F1EADA;
  --cream-25: #FBFAF6;
  --green: #1C4C3C;
  --sage: #A1BCAD;
}

html {
	scroll-behavior: auto;
}

* {
	transition: all 0.3s ease;
}

.wpb_single_image img[src$=".svg"] {
  height: auto;
  max-width: 100%;
}

.wpb-content-wrapper > .wpb_row {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.floating-logo {
	position: relative !important;         
	z-index: 2;
	overflow: visible !important; 
	margin-left: -10px !important;
	
	* {
		margin-bottom: 0 !important;
	}
	
	img {
	  display: block;
	  max-width: 100%;
	  height: auto;
	  transform: translateY(50%); 
	}
}

.vc_row-has-fill {
    background-blend-mode: multiply;
}

.border-left {
    border-left: 6px solid var(--blue);
    padding: 20px 0 20px 30px;
}

.border-right {
    border-right: 4px solid var(--blue);
	padding: 0 20px 0 0;
	
	@media (max-width: 767PX) {
		border-right: none;
		border-bottom: 4px solid var(--blue);
		padding: 0 0 20px 0;
  	}
}

:is(.monty-flag, .gogopher-flag) {
	position: absolute;
    left: -37px;
    transform: rotate(-10deg);
    top: 20px;
}

.wp-block-image img {
    vertical-align: top !important;
}

body {
	text-wrap: balance;


	h1, h2, h3, h4, h5, h6 {
		text-wrap: balance;
		word-break: keep-all;
		overflow-wrap: normal;
		white-space: normal;
		
		strong {
			font-weight: inherit;
		}
		
		a { 
			text-decoration: none !important; 
			color: currentColor;
			
			&:hover {
				color: var(--black);
			}
		}
	}
	
}


/* Menu Fixes */

.ast-header-break-point .main-navigation ul .sub-menu .menu-item:not(.menu-item-has-children) .menu-link .icon-arrow:first-of-type {
	float: left !important;
}

.ast-desktop .menu-item .sub-menu .menu-link {
    color: var(--purple);
}

.ast-desktop .main-header-menu .sub-menu .menu-item {

	&:hover, &.current_page_item {background: var(--blue) !important;}

	.menu-link {
		color: var(--purple);
	}
}

@media (max-width: 544px) {
	.ast-header-button-1 .ast-custom-button {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		text-align: center;
	}

	#ast-fixed-header .ast-header-button-1 .ast-custom-button {
		display: none !important;
	}
}

/* Buttons */

.monty-btn {
  display: inline-block;
  font-family: 'Mulish', sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  padding: 15px 25px;
  border: 2px solid;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 35px;
}

.monty-btn--primary {
  background-color: var(--purple);
  border-color: var(--purple);
  color: var(--cream-25);
}

.monty-btn--secondary {
  background-color: transparent;
  border-color: var(--purple);
  color: var(--purple);
}

.monty-btn--primary:hover,
.monty-btn--secondary:hover {
  background-color: var(--dark-purple);
  border-color: var(--purple);
  color: var(--cream-25);
}

.monty-btn--tertiary {
  background: none;
  border: none;
  padding: 0;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--blue);
}

.monty-btn--tertiary:hover {
  background: none;
  border: none;
  color: var(--purple);
}

.monty-btn__group .wpb_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

/* Monty Icons */

:is(.monty-icon, .gogopher-icon) {
	aspect-ratio: 1 / 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	svg {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
		aspect-ratio: attr(viewBox) / 1;
		object-fit: contain;
	}
}

/* Hero */

.hero.wpb_row {
	padding-top: 10rem;
	padding-bottom: 10rem;
	background-blend-mode: multiply;
	
	h1, h6 {
		color: var(--cream);
		max-width: 900px;
        margin-inline: auto;
		margin-bottom: 0;
		
		strong {
			color: var(--blue);
		}
	}
}

/* Footer */
.site-above-footer-wrap {
    background-position: center !important;
    background-size: cover !important;
	background-attachment: fixed !important;
	
	h5 {
		color: var(--black);
	}
	
	.monty-btn {
		margin-bottom: 0 !important;
	}
}

/* iOS Safari fix */
@supports (-webkit-touch-callout: none) {
  .site-above-footer-wrap {
    background-attachment: scroll !important;
  }
}

.footer-widget-area .widget_block {
    margin-bottom: 0;
}

.site-footer-primary-section-1 {
  display: flex;
  flex-wrap: wrap;
}

.site-footer-primary-section-1 .footer-widget-area:nth-child(1) {
  flex: 0 0 100%; /* full width */
}

.site-footer-primary-section-1 .footer-widget-area:nth-child(2),
.site-footer-primary-section-1 .footer-widget-area:nth-child(3) {
  flex: 0 0 50%; /* half width */
  box-sizing: border-box;
}

/* Home Page */


.home.hero {
  position: relative;
  background-color: var(--black-50);
  overflow: hidden;
	
	.wpb_column {
		z-index: 2;
	}
	
	.slide {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background-size: cover;
	  background-position: center;
	  background-repeat: no-repeat;
	  background-blend-mode: multiply;
	  opacity: 0;
	  transition: opacity 2s ease-in-out;
	  z-index: 0;
		background-color: var(--black-50);
		
		&.active {
		  opacity: 1;
		  z-index: 1;
		}
	}
}


@supports (-webkit-touch-callout: none) {
  .home.hero .slide {
    background-attachment: scroll !important;
  }
}

/* testimonials */

.testimonial-container {
  p, h4, h5 {
    color: var(--cream);
  }
	
	.testimonials-logo .vc_column-inner {
		padding: 0 !important;
	}

  .testimonials {
    display: flex;
	  align-items: center;
	  justify-content: center; 
	  position: relative;
	  overflow: visible !important;
	  height: auto;
	  
		  div {
			margin-top: 0 !important;
			margin-bottom: 0 !important;
			padding-top: 0 !important;
			padding-bottom: 0 !important;
		}
	  
	  .wpb_wrapper { 
		  min-height: -webkit-fill-available !important; 
		  position: relative;
	  }
	  
		.wpb_content_element {
		  position: absolute;
		  opacity: 0;
		  transition: opacity 0.8s ease-in-out;
		  width: 100%;
		}

		.wpb_content_element.active {
		   position: relative;
			opacity: 1 !important;
		  z-index: 1;
		}
  }
}


/* Contact Page */

.contact-logo {
	    transform: translateY(-88%) translateX(-2%);
    width: 104%;
    margin-bottom: -22%;
}

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select, textarea {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 20px !important;
    color: var(--black) !important;
    box-shadow: none !important;
}

/* Scrolling Banner */

.banner {
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
	
	* {
		margin: 0 !important;
		padding: 0 !important;
	}
	
	&.scrolling { 
		
		.wpb_text_column .wpb_wrapper {
			overflow: hidden;
		}
		
		.marquee-track {
			display: flex;
			align-items: center;
			white-space: nowrap;
			gap: 1rem;              
			will-change: transform;
			
			* {
				flex: 0 0 auto;  
				white-space: nowrap;
			}
			
		}
		
	}
	
  &.purple-on-blue { background: var(--blue) !important; * { color: var(--purple) !important; } }
  &.purple-on-sage { background: var(--sage) !important; * { color: var(--purple) !important; } }
  &.purple-on-cream-25 { background: var(--cream-25) !important; * { color: var(--purple) !important; } }
  &.purple-on-green { background: var(--green) !important; * { color: var(--purple) !important; } }
  &.blue-on-purple { background: var(--purple) !important; * { color: var(--blue) !important; } }
  &.blue-on-sage { background: var(--sage) !important; * { color: var(--blue) !important; } }
  &.blue-on-cream-25 { background: var(--cream-25) !important; * { color: var(--blue) !important; } }
  &.blue-on-green { background: var(--green) !important; * { color: var(--blue) !important; } }
  &.sage-on-purple { background: var(--purple) !important; * { color: var(--sage) !important; } }
  &.sage-on-blue { background: var(--blue) !important; * { color: var(--sage) !important; } }
  &.sage-on-cream-25 { background: var(--cream-25) !important; * { color: var(--sage) !important; } }
  &.sage-on-green { background: var(--green) !important; * { color: var(--sage) !important; } }
  &.cream-25-on-purple { background: var(--purple) !important; * { color: var(--cream-25) !important; } }
  &.cream-25-on-blue { background: var(--blue) !important; * { color: var(--cream-25) !important; } }
  &.cream-25-on-sage { background: var(--sage) !important; * { color: var(--cream-25) !important; } }
  &.cream-25-on-green { background: var(--green) !important; * { color: var(--cream-25) !important; } }
  &.green-on-purple { background: var(--purple) !important; * { color: var(--green) !important; } }
  &.green-on-blue { background: var(--blue) !important; * { color: var(--green) !important; } }
  &.green-on-sage { background: var(--sage) !important; * { color: var(--green) !important; } }
  &.green-on-cream-25 { background: var(--cream-25) !important; * { color: var(--green) !important; } }
	
}



/* Residents Dashboard */

.resident-options {
	
	.vc_column-inner {
		padding: 2rem;
	}
}

/* Subleasing Page */

.subleasing-hero {
	overflow: visible !important;
	
	.subleasing-hero__text {
		.vc_column-inner {
			max-width: 600px;
			margin-left: auto;
		}
	}
	
	.subleasing-hero__image {
		margin-bottom: -4rem;
		padding: 0 !important;
	}
}

#gform_2 {
	input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select, textarea {
		background-color: var(--cream);
	}
}

/* Neighborhood Page */

:is(.monty-neighborhoods__row, .gogopher-neighborhoods__row) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
	padding-top: 0 !important;
	padding-bottom: 3rem !important;

  :is(.monty-neighborhoods__img, .gogopher-neighborhoods__img),
  :is(.monty-neighborhoods__text, .gogopher-neighborhoods__text) {
    flex: 1 1 50%;
  }

  :is(.monty-neighborhoods__img, .gogopher-neighborhoods__img) {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    .vc_column-inner {
      height: 100%;
    }

  }

  :is(.monty-neighborhoods__text, .gogopher-neighborhoods__text) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6rem 3rem;
    background: #fff;
		margin: 3rem 0 3rem -3rem;

    h6 {
      color: var(--black);
    }


    .monty-btn {
      width: fit-content;
      margin: 0;
    }

  }

  @media (max-width: 767px) {
	  flex-direction: column;

	  :is(.monty-neighborhoods__img, .gogopher-neighborhoods__img),
	  :is(.monty-neighborhoods__text, .gogopher-neighborhoods__text) {
		flex: 1 1 100%;
	  }

	  :is(.monty-neighborhoods__img, .gogopher-neighborhoods__img) {
		width: 100%;
		aspect-ratio: 1 / 1; 
		min-height: 300px; 
	  }

	  :is(.monty-neighborhoods__text, .gogopher-neighborhoods__text) {
		margin: 0;
		z-index: 2;
		position: relative;
	  }
  }
}

/* Alternate layout for even rows (desktop only) */
@media (min-width: 768px) {
  :is(.monty-neighborhoods__row, .gogopher-neighborhoods__row):nth-of-type(odd) {
    flex-direction: row-reverse;

    /* Fix the overlapping white box so it flips sides properly */
    :is(.monty-neighborhoods__text, .gogopher-neighborhoods__text) {
      margin: 3rem -3rem 3rem 0;
    }
  }
}

.neighborhood-hero {
	position: relative;
	overflow: visible !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;

	.neighborhood-hero__text,
	.neighborhood-hero__image {
		flex: 1 1 50%;
	}

	.neighborhood-hero__text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding-top: 6.25rem !important;
		padding-right: 2rem;
		position: relative;

		.vc_column-inner {
			max-width: 600px;
			margin-left: auto;
		}

	}

	.neighborhood-hero__image {
		position: relative;

		.vc_column-inner {
			height: 100%;
			background-size: cover;
			background-position: center center;
			background-repeat: no-repeat;
		}
		.wpb_single_image {
			position: absolute;
			bottom: -1rem;
			left: -1rem;
			margin: 0;
		}


	}

  /* --- RESPONSIVE --- */
	@media (max-width: 1024px) {
		.neighborhood-hero__text {
			.vc_column-inner {
				margin: 0 auto;
			}
		}
	}

	@media (max-width: 767px) {
		flex-direction: column-reverse; /* text first, image below */
		.neighborhood-hero__text,
		.neighborhood-hero__image {
			flex: 1 1 100%;
			width: 100%;
			padding: 0;
		}

		.neighborhood-hero__image {
			aspect-ratio: 1 / 1;
			min-height: 350px;
		}
	}
}

/*** Availability Page ***/

.availablity__neighborhoods-cta {
	:is(.monty-logo-icon, .gogopher-logo-icon) .vc_figure {
		max-width: 33%;
	}
}

/* PopuUp Maker */

.pum-container {
	padding-left: 0 !important;
	
	.popup-image-column {
		.vc_column-inner {
			padding-left: 0;
		}
		.wpb_single_image {
			margin: 0 0 0 -1rem;
		}
	}
	
	.popup-text-column {
		margin-top: 2rem; 
		
		h6 { color: var(--blue); }
		h4 { 
			color: var(--blue); 
			margin-bottom: 1rem;
		}
		h2 { color: var(--cream); }
		a { 
			color: var(--blue);
			
			&:hover {
				color: var(--cream);
			}
		}
	}
}

/*** Single Listing ***/

:is(.monty-listing, .gogopher-listing).ast-article-single img { box-shadow: none; }

.fslightbox-svg {
	overflow: visible !important;
}

.single-listing {
	background-color: #fff;
	
	#primary {
		margin: 0;
		padding: 0;
		
		:is(.monty-listing, .gogopher-listing) {
			padding: 3rem 1rem 0;
			display: flex;
			flex-direction: column;
			gap: 4rem;
			background-color: #fff;
			font-family: 'Mulish', sans-serif;
			font-size: 1rem;
			
			> *:last-of-type {
			  padding-bottom: 6rem;
			}
		}
	}
	
}


:is(.monty-listing__header, .gogopher-listing__header) {
	display: flex;
	align-items: center;
	gap: 2rem;
	
	&.monty-listing__header--property, &.gogopher-listing__header--property {
		:is(.monty-listing__header-left, .gogopher-listing__header-left) .listing-details {
			column-count: 1;
		}
	}

	:is(.monty-listing__header-left, .gogopher-listing__header-left) {
		flex: 1 1 50%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	  
		.listing-meta {
			color: var(--black);
		}

		.listing-title {
			font-size: 2.5rem;
			text-transform: none;
			margin-bottom: 2rem;

		}

		.listing-address {
			font-size: 1rem;
			margin-bottom: 3rem;
		}

		.listing-details {
			margin: 0 0 3rem;
			padding-left: 0;
			list-style: none;
			column-count: 2;
			width: fit-content;

			li {
				border-left: 4px solid var(--sage);
				padding-left: 0.75rem;
				break-inside: avoid;
				page-break-inside: avoid; /* Fallback for older browsers */

				strong {
				display: inline-block;
				font-weight: 800;
				}
    		}
		}	
		
		.listing-off-market {
			padding: 1rem 2rem;
			color: var(--cream);
			background-color: var(--purple);
			text-align: center;
		}
	
		.monty-btn {
			width: fit-content;
		}
		
		iframe {
			width: 0 !important;
			height: 0 !important;
			display: none !important;
		}
		
	}

	:is(.monty-listing__header-right, .gogopher-listing__header-right) {
		flex: 1 1 50%;
		display: flex;
		align-items: stretch;
		padding: 2rem 0;

		.listing-image {
			position: relative;
			z-index: 1;
			width: 100%;
			max-width: 100%;
			aspect-ratio: 1 / 1;
			display: block;
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				position: relative;
				z-index: 2;
			}

/* 			&::before {
				content: "";
				position: absolute;
				top: -2rem;
				bottom: -2rem;
				left: 25%;
				width: 100vw; 
				background: var(--blue);
				z-index: 1;
			} */
		}
	}


	@media (max-width: 767px) {
		flex-direction: column;

		:is(.monty-listing__header-left, .gogopher-listing__header-left),
		:is(.monty-listing__header-right, .gogopher-listing__header-right) {
			flex: 1 1 100%;
		}

		.listing-image {
			aspect-ratio: auto;
			
			img {
				height: auto;
			}
		}
	}
}

:is(.monty-listing__info, .gogopher-listing__info) {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2rem;
	align-items: start;

	@media (max-width: 767px) {
		grid-template-columns: 1fr;
	}
}

:is(.monty-listing__videos, .gogopher-listing__videos) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;

  .video-embed {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 4px;
    background: #000;

    iframe,
    video {
      width: 100%;
      height: 100%;
      display: block;
      border: none;
      object-fit: cover;
    }
  }

  @media (max-width: 767px) {
    grid-template-columns: 1fr;
  }
}

:is(.monty-listing__gallery, .gogopher-listing__gallery) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;

  a {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: zoom-in;

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

    &:hover img {
      transform: scale(1.05);
    }
  }
}

:is(.monty-listing__related, .gogopher-listing__related) {
	position: relative;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	display: flex;
	flex-direction: column;
	gap: 4rem;
	background-color: var(--cream);
	padding: 6rem 0;
	
	> * {
		width: 100%;
		max-width: 1200px;
		padding-inline: 1rem;
		margin-inline: auto;
	}
}

:is(.monty-listing__parent, .gogopher-listing__parent) {
  display: grid;
  grid-template-columns: 4fr 2fr;
  align-items: center;

  :is(.monty-listing__parent-right, .gogopher-listing__parent-right) {
    display: flex;
    justify-content: flex-end;
  }
	.monty-btn--primary {
		margin: 0;
	}

  @media (max-width: 767px) {
    grid-template-columns: 1fr;
    gap: 1rem;
    text-align: center;

    :is(.monty-listing__parent-right, .gogopher-listing__parent-right) {
      justify-content: center;
    }
  }
}

/*** Monty Listing Card ***/

:is(.monty-listing-card-grid, .gogopher-listing-card-grid) {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 2rem;
	
	&.hidden {
		display: none;
	}
}

:is(.monty-listing-card, .gogopher-listing-card) {
	display: block;
	position: relative;
	background: #fff;
	text-decoration: none !important;
	color: var(--black);
	box-shadow:
		7px 7px 8px rgba(0, 0, 0, 0.11),
		0 0 2px rgba(0, 0, 0, 0.05);
	font-size: 1rem;

	&:hover {
		color: var(--purple);
		scale: 1.01;

		:is(.monty-listing-card__title, .gogopher-listing-card__title) {
			color: var(--black) !important;
		}

		li  :is(.monty-icon, .gogopher-icon) {
			color: var(--blue) !important;
		}
	}

	:is(.monty-listing-card__image, .gogopher-listing-card__image) {
		position: relative;
		aspect-ratio: 3/2;
		overflow: hidden;

		img {
			position: absolute;
			inset: 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
		}
	}

	:is(.monty-listing-card__content, .gogopher-listing-card__content) {
		padding: 1.5em;
		display: flex;
		flex-direction: column;
		gap: 1em;
		line-height: 1.25;

		* {
			margin: 0 !important;
		}

		:is(.monty-listing-card__meta, .gogopher-listing-card__meta) {
			font-size: 0.75em;
			color: currentColor;
			letter-spacing: 0.1em;
			line-height: 1.5;
		}

		:is(.monty-listing-card__title, .gogopher-listing-card__title) {
			font-size: 1.25em;
			font-weight: 700;
			color: var(--purple);
		}

		:is(.monty-listing-card__address, .gogopher-listing-card__address) {
			font-size: 1em;
		}

		:is(.monty-listing-card__stats, .gogopher-listing-card__stats) {
			display: flex;
			flex-wrap: wrap;
			gap: .5em;
			align-items: center;
			list-style: none;
			padding: 0;
			margin: 0;

			li {
				display: flex;
				align-items: center;
				gap: 0.5em;
				line-height: 1;

				:is(.monty-icon, .gogopher-icon) {
					width: 1.25em;
					color: var(--sage);
				}

			}
		}

		:is(.monty-listing-card__rentline, .gogopher-listing-card__rentline) {
			font-size: 1.125em;
		}

		:is(.monty-listing-card__description, .gogopher-listing-card__description) {
			font-size: .875em;
			display: -webkit-box;
			-webkit-line-clamp: 2;
			line-clamp: 2;
			-webkit-box-orient: vertical;
			overflow: hidden;
			text-overflow: ellipsis;
			padding-right: 1.25rem;
		}
	}

	:is(.monty-listing-card__arrow, .gogopher-listing-card__arrow) {
		position: absolute;
		right: -0.5em;
		bottom: -0.5em;
		width: 3em;
		height: 3em;
		background-color: var(--blue);
		display: flex;
		align-items: center;
		justify-content: center;
		border: none;
		cursor: pointer;

		:is(.monty-icon, .gogopher-icon) {
			width: 1.5em;
			color: var(--purple);
		}
	}
}

.mapboxgl-ctrl-attrib {
	display: none;
}

/* Mapbox popup */
.mapboxgl-popup {
	width: 22rem;
	max-width: 22rem !important;
	transition: none;
}

.mapboxgl-popup-close-button {
	padding: 0;
	background: none !important;
	box-shadow: none;
	
	&:hover {
		background: none;
	}
}
.mapboxgl-ctrl-attrib {
	display: none;
}

.mapboxgl-popup-content {
	padding: 0 !important;
	line-height: normal;
	width: 100%;
	border-radius: 0;
	box-shadow: 7px 7px 8px rgba(0, 0, 0, 0.11), 0 0 2px rgba(0, 0, 0, 0.05) !important;

	:is(.monty-listing-card, .gogopher-listing-card) {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		box-shadow: none;
		width: 100%;
		font-size: .875rem;
		
		&:hover {
			color: var(--purple);
			scale: none;

			:is(.monty-listing-card__title, .gogopher-listing-card__title) {
				color: var(--purple) !important;
			}

			li  :is(.monty-icon, .gogopher-icon) {
				color: var(--blue) !important;
			}
			
			:is(.monty-listing-card__arrow, .gogopher-listing-card__arrow) {
				background-color: var(--sage);
			}
		}
		

		:is(.monty-listing-card__image, .gogopher-listing-card__image) {
			flex: 1 1 33.333%;
			height: auto;
			aspect-ratio: auto;
			min-height: 100%;
		}

		:is(.monty-listing-card__content, .gogopher-listing-card__content) {
			flex: 2 1 66.667%;
			padding: 1em 1em 0;
			display: flex;
			flex-direction: column;
			justify-content: center;
			gap: 0.5em;
		}
		
		:is(.monty-listing-card__meta, .gogopher-listing-card__meta) {
			color: var(--blue);
		}
		
		:is(.monty-listing-card__description, .gogopher-listing-card__description) {
			display: none;
		}

		:is(.monty-listing-card__arrow, .gogopher-listing-card__arrow) {
            position: relative;
            left: -1em;
            bottom: 0;
            width: calc(100% + 2em);
            height: 2em;
            background-color: var(--blue);
            display: flex;
            flex-wrap: nowrap;
            justify-content: flex-end;
            padding-inline: 1em;
            gap: .5em;
            color: var(--black);
            align-items: center;
			
			&::before {
				content: 'VIEW LISTING';
				font-weight: 700;
				letter-spacing: .2em;
				font-size: .875em;
			}

			:is(.monty-icon, .gogopher-icon) {
				width: 1em;
				color: var(--black);
			}
		}
	}
}

@media (max-width: 992px) {
	.mapboxgl-popup {
		max-width: 15rem !important;

		.mapboxgl-popup-content, :is(.monty-listing-card, .gogopher-listing-card), :is(.monty-listing-card__content, .gogopher-listing-card__content) {
			max-width: 15rem !important;
		}

		:is(.monty-listing-card__image, .gogopher-listing-card__image) {
			display: none;
		}
	}
}

.properties-map, .property-listing-card {
	:is(.monty-listing-card, .gogopher-listing-card) {
		background: var(--purple);
		color: var(--cream);
		
		&:hover {
			color: var(--cream);
			
			:is(.monty-listing-card__title, .gogopher-listing-card__title) {
				color: var(--sage) !important;
			}			
		}
		
		:is(.monty-listing-card__title, .gogopher-listing-card__title) {
			color: var(--cream);
		}
		
		:is(.monty-listing-card__meta, .gogopher-listing-card__meta) {
			color: var(--blue);
		}
		
		:is(.monty-listing-card__description, .gogopher-listing-card__description), :is(.monty-listing-card__rentline, .gogopher-listing-card__rentline) {
			display: none;
		}
	}

	.mapboxgl-popup-content {
		
		.mapboxgl-popup-close-button {
			color: var(--cream) !important;
		}
		
		:is(.monty-listing-card, .gogopher-listing-card):hover {
			color: var(--cream);
		}
				
		:is(.monty-listing-card__arrow, .gogopher-listing-card__arrow) {
			
			&::before {
				content: 'VIEW PROPERTY';
			}
		}
	}
	
}