/******************************************/
/** General                              **/
/******************************************/

@font-face {
	font-family: 'kalista_scriptbold';
	src: url('/fonts/kalista/kalista_script_bold-webfont.woff2') format('woff2'),
		url('/fonts/kalista/kalista_script_bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;

}

@font-face {
	font-family: 'kalista_scriptregular';
	src: url('/fonts/kalista/kalista_script_regular-webfont.woff2') format('woff2'),
		url('/fonts/kalista/kalista_script_regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

:root {
   --primary: #BB5640;
	--secondary: #C4B099;
	--body: #766A5C;
	--dark: #4B443A;
	--light-medium: #EEE9E3;
	--light: #F9F8F5;
	--black: #000000;
	--white: #ffffff;
}

*,
*::before,
*::after {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

html, body {
	height: 100%;
   min-height: 100vh;
   min-height: 100dvh;
   position: relative;
   color: var(--body);
   background-color: var(--white);
	font-family: "proxima-nova-wide", sans-serif;
}

.mask-image {
	-webkit-mask-image: url('/img/mask.png');
	mask-image: url('/img/mask.png');
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;
}

/******************************************/
/** Utilities & Helpers                  **/
/******************************************/

/* Fonts & Text */

.font-serif {font-family: "kalista_scriptbold", serif !important;}
.font-sans-serif {font-family: "proxima-nova-wide", sans-serif !important;}

h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5, .h6 {font-family: "kalista_scriptbold", serif;}

.h0 {font-size: 16rem;}
.h05 {font-size: 9rem;}

@media (max-width: 1024px) {
	.h0 {font-size: 14.4rem;}
	.h05 {font-size: 8rem;}
}

@media (max-width: 991px) {
	.h0 {font-size: 8.8rem;}
	.h05 {font-size: 6rem;}
}

@media (max-width: 768px) {
	.h0 {font-size: 5.4rem;}
}

@media (max-width: 575px) {
	.h0 {font-size: 3.8rem;}
	.h05 {font-size: 4rem;}
}

@media (max-width: 420px) {
	.h0 {font-size: 2.6rem;}
	.h05 {font-size: 3rem;}
}

.fs-7 {font-size: .8rem;}

.two-columns {column-count: 2;}

@media (max-width: 1366px) {
	.two-columns {column-count: 1;}
}

.three-columns {column-count: 3;}

@media (max-width: 1366px) {
	.three-columns {column-count: 1;}
}

/* Colors */

.text-primary {color: var(--primary) !important;}
.text-secondary {color: var(--secondary) !important;}
.text-body {color: var(--body) !important;}
.text-dark {color: var(--dark) !important;}
.text-light-medium {color: var(--light-medium) !important;}

.bg-primary {background-color: var(--primary) !important;}

.border-primary {border-color: var(--primary) !important;}

/* Sizes & Shapes */

.pt-10 {padding-top: 10rem !important;}

@media (max-width: 991px) {
	.pt-10 {padding-top: 0rem !important;}
}

.w-fit {width: fit-content;}

.h-screen {
	height: 100vh;
	height: 100dvh;
}

.w-screen {
	width: 100vw;
	width: 100dvw;
}

.size-xs {
	width: .8rem;
   height: .8rem;
   min-width: .8rem;
   max-width: .8rem;
   min-height: .8rem;
   max-height: .8rem;
}

.size-md {
	width: 2rem;
   height: 2rem;
   min-width: 2rem;
   min-height: 2rem;
}

/* Buttons */

.btn-underline::after {
	bottom: 0;
	width: 100%;
	height: 1px;
	content: "";
	display: block;
	position: absolute;
}

.btn-underline.text-white::after {background-color: var(--white);}
.btn-underline.text-secondary::after {background-color: var(--secondary);}

/* Tiles */

.tiles-position {object-position: top;}

/* Back to top */

.back-top {
	width: 6rem;
	height: 6rem;
	min-width: 6rem;
	min-height: 6rem;
	border-top-left-radius: 100%;
}

.back-top > svg {
	top: 10%;
	left: 10%;
}

/******************************************/
/** Navbar                               **/
/******************************************/

#navbarDesktop {
	z-index: 9000;
	transition: all .3s ease-in-out;
}

#navbarDesktop.sticky {
	background-color: var(--white);
	box-shadow: var(--bs-box-shadow);
}

#navbarDesktop button {
	width: 1.76rem;
	height: 1.76rem;
	min-width: 1.76rem;
	min-height: 1.76rem;
}

@media (max-width: 768px) {
	.navbar-logo {width: 150px;}
}

/* Toggler */

#navToggle span::before,
#navToggle span::after,
#navToggle span {
   width: 28px;
   height: 3px;
   background-color: var(--primary);
   transition: all .3s ease-in-out;
}

#navToggle span::before,
#navToggle span::after {
   top: 0;
   left: 0;
   content: '';
   position: absolute;
}

#navToggle span::before {transform: translateY(-8px);}
#navToggle span::after {transform: translateY(8px);}

#navToggle.show span {transform: rotate(135deg);}
#navToggle.show span::before {transform: translateY(0) rotate(90deg);}
#navToggle.show span::after {opacity: 0;}

#mobileNav {
   z-index: 1500;
   transform: translateX(110%);
   transition: all linear .2s;
   -o-transition: all linear .2s;
   -moz-transition: all linear .2s;
   -webkit-transition: all linear .2s;
}

#mobileNav.open {transform: translateX(0);}

/******************************************/
/** Banner                               **/
/******************************************/

#banner {height: 500px;}

@media (max-width: 1024px) {
	#banner {height: 400px;}
}

@media (max-width: 991px) {
	#banner {height: 300px;}
}

@media (max-width: 768px) {
	#banner {height: 200px;}
}

#bannerSm {height: 300px;}

/******************************************/
/** Home                                 **/
/******************************************/

#hero {
	height: 80vh;
	height: 80dvh;
}

/******************************************/
/** Alternate List                       **/
/******************************************/

.picture-lg {height: 620px;}
.picture-md {height: 520px;}

@media (max-width: 1366px) {
	.picture-lg {height: 360px;}
	.picture-md {height: 320px;}
}

@media (max-width: 991px) {
	.picture-lg {height: 400px;}
	.picture-md {height: 400px;}
}

/******************************************/
/** Explore                              **/
/******************************************/

.explore-card img,
.explore-card .overlay {transition: all .3s ease-in-out;}
.explore-card:hover img {transform: scale(1.05);}
.explore-card .overlay {z-index: 10;}
.explore-card:hover .overlay {opacity: 1 !important;}

/******************************************/
/** Blog                                 **/
/******************************************/

.news-card img {transition: all .3s ease-in-out;}
.news-card:hover img {transform: scale(1.05);}
.news-card:hover hr {
	opacity: 1 !important;
	border-color: var(--primary) !important;
}

/******************************************/
/** Default                              **/
/******************************************/

.default-content * {font-family: "proxima-nova-wide", sans-serif !important;}

.default-content h2 {
	font-weight: 600 !important;
	font-size: 1.25rem !important;
}

.default-content a {
	text-decoration: underline !important;
	color: var(--primary) !important;
}

.default-content a:hover {text-decoration: none !important;}

/******************************************/
/** Form                                 **/
/******************************************/

.form-check-input {
   min-width: 1em !important;
   min-height: 1em !important;
}

.form-check-input:checked {
   border-color: var(--primary) !important;
   background-color: var(--primary) !important;
}

.form-check-input:focus {
   box-shadow: none;
   border-color: var(--primary) !important;
}