:root {
	--bs-dark: #121c23;
	--bs-dark-rgb: 18, 28, 35;
  --new-primary-color: #2ea0a2;
  --new-dark-primary-color: #225d6e;
  --new-dark-color: #121c23;
  --new-faded-dark-color: #2f3438;
  --new-success-color: #225d6e; /*#758c6f*/
  --new-secondary-color: #49484b;
  --new-warning-color: #f17130;
  --new-danger-color: #cc292e;
  --new-info-color: #279ba2;
  --new-tan-color: #b79d7f;
  --new-light-tan-color: #e6ddc4;
  --new-pink-color: #cf5767;
  --new-light-orange-color: #fab934;
  --new-khaki-color: #cfb96e;
}

body {
	font-family: 'Noto Sans', sans-serif;
	font-weight: 400;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6  {
	font-family: 'Noto Serif', serif;
	letter-spacing: 0.2rem;
	font-weight: 400;
	color: var(--new-tan-color);
	text-transform: uppercase;
}

.noto-sans {
	font-family: 'Noto Sans', sans-serif;
}

h1.noto-sans, h2.noto-sans, h3.noto-sans, h4.noto-sans, h5.noto-sans, h6.noto-sans  {
	letter-spacing: 0.0rem;
}


.img-opacity-10 {
	opacity: 0.1;
}

.img-opacity-20 {
	opacity: 0.2;
}

.img-opacity-30 {
	opacity: 0.3;
}

.img-opacity-40 {
	opacity: 0.4;
}

.img-opacity-50 {
	opacity: 0.5;
}


.form-control-xxl {
    min-height: calc(1.5em + 1rem + 2px);
    padding: 0.5rem 1.5rem;
    font-size: 1.6rem;
    border-radius: 0.5rem;
    background-color: #eeeeee;
    text-align: center;
}


/*
 * Bootstrap color/design overrides
*/

a {
  color: var(--new-primary-color);
  text-decoration: underline;
}

.navbar-dark .nav-link {
  color: #ffffff;
}

.navbar-dark .nav-link:hover,
.navbar-dark .nav-link.active,
.nav-link:focus {
  color: var(--new-light-tan-color);
  text-decoration: underline;
}

.navbar-dark .nav-link:hover span,
.navbar-dark .nav-link.active span,
.nav-link:focus span {
  color: var(--new-light-tan-color);
  text-decoration: underline;
}



.bg-primary {
	background-color: var(--new-primary-color)!important;
}

.border-primary {
    border-color: var(--new-primary-color)!important;
}

.text-primary {
	color: var(--new-primary-color)!important;
}

.text-dark-primary {
	color: var(--new-dark-primary-color)!important;
}

.btn-primary {
  color: #fff;
  background-color: var(--new-primary-color);
  border-color: var(--new-primary-color);
}

.btn-outline-primary {
	color: var(--new-primary-color);
	border-color: var(--new-primary-color);
}

.btn-primary:hover {
	color:#fff;
	background-color: var(--new-dark-primary-color);
	border-color: var(--new-dark-primary-color);
}

.btn-primary:focus {
	color:#fff;
	background-color: var(--new-dark-primary-color);
	border-color: var(--new-dark-primary-color);
}

.btn-primary.disabled, 
.btn-primary:disabled {
  color: #fff;
  background-color: #407FB0;
  border-color: #407FB0;
}

.btn-check:active+.btn-outline-primary, 
.btn-check:checked+.btn-outline-primary, 
.btn-outline-primary.active, 
.btn-outline-primary.dropdown-toggle.show, 
.btn-outline-primary:active {
    color: #fff;
    background-color: var(--new-primary-color);
    border-color: var(--new-primary-color);
}

.bg-dark-primary {
  background-color: var(--new-dark-primary-color)!important;
}

.border-dark-primary {
	border-color: var(--new-dark-primary-color)!important;
}

.bg-faded-dark {
	background-color: var(--new-faded-dark-color)!important;
}

.bg-tan {
	background-color: var(--new-tan-color)!important;
}

.text-tan {
	color: var(--new-tan-color)!important;
}

.border-tan {
	border-color: var(--new-tan-color)!important;
}

.bg-light-tan {
	background-color: var(--new-light-tan-color)!important;
}

.text-new-success {
	color: var(--new-success-color)!important;
}


.btn-outline-peach {
	border-color: #ea5332;
	color: #183247;
}


.card {
	border-radius: 0;
}

.border-dashed.border-top {
	border-top-style: dashed!important;
}

.border-dashed.border-bottom {
	border-bottom-style: dashed!important;
}


.faq-accordion .accordion-item {
	border-radius: 0!important;
}

.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--new-secondary-color);
  background-color: var(--new-light-tan-color);
}



a.anchor {
  display: block;
  position: relative;
  top: -90px;
  visibility: hidden;
}


/*
 * Header / Nav
*/

.scrolled {
	background-color: var(--new-faded-dark-color)!important;
	transition: background-color 0.7s ease-in-out;
}

.header-container, .header-container .navbar, .cover-container, main {
	max-width: 100vw;
}

header, .header-container {
	height: 72px;
}


/* Medium devices and up (tablets, 768px and up)*/
@media (min-width:768px) {
	
	header, .header-container {
		height: 82px;
	}
	
	.is-home header img {
		opacity: 0;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 900px) {
	.header-container .navbar .nav-link {
		font-size: 12px;
	}
}



/* Extra small and small devices*/
@media (max-width:767px) {
	
	.fixed-top {
		min-height: 72px;
		background-color: var(--new-faded-dark-color)!important;
	}
 
	#TPGNav.navbar-collapse {
		background-color: var(--new-faded-dark-color)!important;
	}

}

.is-home header.scrolled img {
	opacity: 1;
	transition: transform 0.7s, opacity 0.7s;
}


/*
 * Voucher pages
*/

.payfast_compact_payment_modal {
	z-index: 1100!important;
}

.gvcart_row_holder .table {
	font-size: 10px;
}

.personalise_actions_holder {
	font-size: 12px;
}




/*
 * Browse and Search results pages
*/


.browse-listings-results-thumbnail-container {
	width: 192px;
	height: 147px;
	overflow: hidden;
	padding: 4px;
	background-color: #FFFFFF;
	border: solid 2px var(--new-tan-color);
}

.browse-listings-results-thumbnail {
	width: 180px;
	height: 135px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}


@media (min-width:300px) and (max-width:575px) {
	
	.browse-listings-results-thumbnail-container {
		width: 312px;
		height: 237px;
	}
	
	.browse-listings-results-thumbnail {
		width: 300px;
		height: 225px;
	}

}



@media (min-width:767px) {
	
	#browseNavColumn #accordionTypes.collapse,
	#browseNavColumn #accordionCountries.collapse {
		display: block;
	}

}


#browseNavColumn a.active {
	text-decoration: none;
}

#browseNavColumn a.active span {
	padding: 4px 8px;
  border: dashed 1px var(--new-tan-color);
}

#browseNavColumn .accordion-button:not(.collapsed) {
	background-color: transparent;
	box-shadow: none;
}


/*
 * CSS when viewing a listing page
*/

.listing-sub-nav-holder {
	font-size: 0.8rem;
}


.vcarousel-control-prev {
	left: -65px;
}

.vcarousel-control-next {
	right: -65px;
}



/*
 * Login / Sign In page
*/


.form-signin {
  width: 100%;
  max-width: 330px;
  padding: 15px;
  margin: auto;
}

.form-signin .checkbox {
  font-weight: 400;
}

.form-signin .form-floating:focus-within {
  z-index: 2;
}

.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.form-signin label.invalid {
	width: 100%;
  color: red;
  text-align: right!important;
}

