/******************************** HEADING *********************************/
.heading {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	z-index: 1;
	padding-top: 2rem;
	padding-bottom: 1rem;
}

/******************************** TITLES CONFIG ***************************/
.page-title {
	text-transform: uppercase;
	font-weight: 700;
	color: var(--dark-theme-font-color);
}
.page-target {
	text-transform: uppercase;
	font-weight: 600;
	color: var(--dark-theme-link-color);
}
.page-comment {
	font-weight: 600;
	color: var(--dark-font-color);
}

.section-title {
	text-transform: uppercase;
	font-weight: 700;
	color: var(--light-theme-font-color);
}
.section-target {
	text-transform: uppercase;
	font-weight: 600;
	color: var(--light-theme-link-color);
}
.section-comment {
	font-weight: 600;
	color: var(--font-color);
}

.sub-title {
	color: var(--light-theme-font-color);
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	position: relative;
}

.sub-title::before {
	position: absolute;
	content: '';
	width: 30px;
	border-bottom: 3px solid var(--light-theme-line-01);
	bottom: 0;
	left: 0;
}

.sub-title::after {
	position: absolute;
	content: '';
	width: 5px;
	border-bottom: 3px solid var(--light-theme-line-02);
	bottom: 0;
	left: 35px;
}

.text-content {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}

.text-content > i {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}

/********************************** MESSAGE **********************************/
.message {
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	z-index: 1;
	height: 80vh;
}

.message::before {
	height: 100%;
	width: 100%;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, .5);
	content: '';
}

/******************************** BREADCRUMB *********************************/
.breadcrumb {
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	z-index: 1;
	padding-top: 3rem;
	padding-bottom: 1rem;
}

.breadcrumb::before {
	height: 100%;
	width: 100%;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	background-color: rgba(8, 39, 64, .5);
	content: '';
}

.breadcrumb-content {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 2rem;
}

.breadcrumb-content li {
	position: relative;
	display: inline-block;
	color: var(--dark-theme-font-color);
	text-transform: capitalize;
}

.breadcrumb-content li a {
	color: var(--dark-theme-font-color);
	-moz-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.breadcrumb-content li a[href="javascript:void(0)"] {
	color: var(--light-theme-link-color-hover);
}

.breadcrumb-content li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -1.3rem;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 8px solid var(--dark-theme-font-color);
}

@media (min-width:768px){
	.breadcrumb {
		padding-top: 8rem;
		padding-bottom: 2rem;
	}
}

/************************* SIDERBAR FRAMEWORK ************************/
.col-framework > div {
	padding: 1rem;
	border-radius: 1rem;
	margin-bottom: 1rem;
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--light-theme-background);
	box-shadow: var(--box-shadow);
}

.row-separator {
	border-bottom: 1px solid rgba(175, 175, 175, 0.25);
	padding: .5rem 0;
	gap: 3rem;
}
.row-separator:last-child {
	border-bottom: unset;
}

.row-navigator {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end !important;
	padding: 0;
}

@media (min-width:576px){
	.row-navigator {
		padding: 0 calc(var(--gap) * .5);
	}
}

/******************************* IMAGES ******************************/
.box-image {
	position: relative;
	border-radius: 1rem;
	overflow: hidden;
	width: 100%;
	box-shadow: var(--box-shadow);
}

.box-image:after {
	transition: all 0.3s;
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 150px;
	bottom: 0;
	left: 0;
	border-radius: 0 0 1rem 1rem;
	background: linear-gradient( 180deg, rgba(0, 0, 0, 0) 15%, rgba(0, 0, 0, .6) 100%) !important;
}

.box-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.5s;
}

.box-image:hover img {
	transform: scale(1.1);
}

/******************************** RATING ********************************/
.box-rating {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.stars {
	position: relative;
	display: inline-block;
	line-height: 1;
}

.stars-bg,
.stars-fill {
	display: flex;
	align-items: center;
	gap: .1rem;
}

.stars-bg  { color: #DDD; }
.stars-fill{
	color: var(--gold);
	position: absolute;
	inset: 0;
	width: var(--p, 0%);
	overflow: hidden;
	pointer-events: none;
}

.stars i { font-size: 1.1rem; }

/******************************** FEATURES ********************************/
.feature {
	padding: 1rem 1rem;
	border-radius: 1rem;
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--light-theme-background);
	box-shadow: var(--box-shadow);
}
.feature .feature-head{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: .5rem;
}

.feature .feature-body{
	display: flex;
	flex-direction: column;
}

.feature .feature-body a{
	line-height: 1.2;
	font-size: var(--h5);
	color: var(--light-theme-font-color);
	font-weight: 600;
}

.feature .feature-body a[href]:hover{
	color: var(--light-theme-link-color);
}

.feature .feature-count {
	font-size: 3.5rem;
	line-height: 0.8;
	font-weight: 800;
	color: transparent;
	-webkit-text-stroke: 2px var(--light-theme-link-color);
}

.light-theme {
	filter: var(--light-theme-icon-color);
}

a:hover > .light-theme {
	filter: var(--light-theme-icon-hover);
}

/**************************** LAYOUT BOXES ****************************/
.box {
	position: relative;
}

.box-head {
	display: flex;
	flex-direction: column;
	gap: 1rem;

	padding: 0;
	order: 1;
}

.box-body {
	display: flex;
	flex-direction: column;
	gap: 1rem;

	padding: 1rem 0;
	order: 2;
}

.box-foot {
	display: flex;
	align-items: center;
	gap: 1rem;

	justify-content: space-between;
	order: 3;
}

.box-overhead {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: space-between;
	left: 1rem;
	right: 1rem;
	bottom: -2.5rem;
	padding: 1rem;
	border-radius: 1rem;
	background: var(--light-theme-background);
	box-shadow: var(--box-shadow);
	gap: .5rem;
}

/********************** OVERHEAD CONTENT **************************/
.overhead-content {
	display: flex;
	align-items: center;
	gap: .5rem;
	flex-direction: column;
}
.overhead-content > div {
	display: flex;
	align-items: center;
	flex-direction: row;
}


/********************************* LISTS ********************************/
.box-over-list {
	background-color: var(--dark-theme-background);
	margin: -1.5rem 1rem 1rem;
	padding: 1rem;
	border-radius: calc(var(--border-radius) * .5);
	text-align: center;
	position: relative;
	box-shadow: var(--box-shadow);
}

.box-over-list ul {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.box-over-list ul li {
	color: var(--dark-theme-font-color);
	display: inline-flex;
	font-size: calc(var(--font-size) * .8);
	line-height: 1.1rem;
	position: relative;
	align-items: center;
	font-weight: 200;
	letter-spacing: 0.1rem !important;
}

.box-over-list ul li i {
	margin-right: .4rem;
}



.box-list {
	position: relative;
}

.box-list ul {
	display: flex;
	gap: 1rem;
	flex-direction: column;
}

.box-list ul.inline-itens {
	flex-direction: row;
}

.box-list ul li {
	color: var(--font-color);
	display: inline-flex;
	font-size: var(--font-size);
	line-height: 1.1rem;
	position: relative;
	align-items: center;
	font-weight: 200;
	letter-spacing: 0.1rem !important;
}

.box-list ul li i {
	margin-right: .4rem;
}

@media (max-width: 992px){
	.box-list ul {
		flex-wrap: wrap;
	}
}

.list-grid {
	gap: 0 !important;
}

.list-grid > li{
	border-top: 1px solid #afafaf;
	border-left: 1px solid #afafaf;
	border-right: 1px solid #afafaf;
}
.list-grid > li:last-child{
	border-bottom: 1px solid #afafaf;
	border-radius: 0 0 1rem 1rem;
}
.list-grid > li:first-child{
	border-radius: 1rem 1rem 0 0;
}

.list-grid > li ul {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1rem;
}

.list-grid > li > ul > li:first-child {
	width: 100%;
	flex-shrink: 0;
}
.list-grid > li > ul > li:last-child {
	flex: 0;
}
.list-grid > li > i {
	margin-left: 1rem;
}


@media (min-width:992px){
	.list-grid > li ul {
		flex-direction: row;
	}
	.list-grid > li > ul > li:first-child {
		 width: 10rem;
		 flex-shrink: 0;
	 }
	.list-grid > li > ul > li:last-child {
		flex: 1;
	}
}


/******************************* TEAM ******************************/
.team {
	margin-bottom: 3rem;
}

.team .overhead-content * {
	font-weight: 600;
	justify-content: center !important;
}

/******************************* DESTINATION ******************************/
.destination {
	margin-bottom: 3rem;
}

/******************************* BLOG ******************************/
.blog {
	position: relative;
}

/******************************** SALLING ********************************/
.salling {
	position: relative;
	margin-bottom: 1.5rem;
	box-shadow: var(--box-shadow);
	border-radius: var(--border-radius);
	background: var(--light-theme-background);
}

.salling .box-image {
	border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.salling .box-image:after {
	border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.salling .box-body {
	padding: 0 1rem 1rem 1rem;
}

.salling .box-foot {
	padding: 1rem;
	border-top: 1px solid rgba(175, 175, 175, 0.1);
	display: flex;
	align-items: center;
	gap: .5rem;
	justify-content: space-between;
}

/******************************** ABOUT ********************************/
.about {
	display: flex;
	position: relative;
	flex-direction: column;
}

@media (max-width: 992px){
	.about .box-head {
		order: 2;
	}
	.about .box-body {
		order: 3;
	}
	.about .box-foot {
		order: 1;
		padding: 0;
		align-items: start;
		margin: -2.6rem 1rem 1rem;
	}
	.about .box-foot .box-rating span {
		color: var(--gold);
	}
}

/******************************* TESTIMONIAL ******************************/
.testimonial {
	background: var(--main);
	padding: 1rem;
	border-radius: 1rem;
	position: relative;
	box-shadow: var(--box-shadow);
	display: flex;
	flex-direction: column;
}

.testimonial .box-head > i {
	position: absolute;
	top: -2.1rem;
	right: 1rem;
}

/******************************* AVATAR ******************************/
.avatar{
	display: flex;
	align-items: center;
	gap: 1rem;
	order: 4;
}

.avatar .box-image {
	border-radius: 50%;
	overflow: hidden;
	width: 5rem;
	height: 5rem;
	margin: 6px;
	border: 3px solid var(--gold);
}


.avatar .box-image:after {
	transition: all 0.2s;
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	bottom: 0;
	left: 0;
	border-radius: 0;
	background: none;
}

.avatar img {
	border-radius: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s;
	border: 3px solid #FFF;
}

.avatar:hover img {
	transform: scale(1.1);
}

/******************************* ACCORDION ******************************/

.box-accordion details {
	border-top: 1px solid #e5e7eb;
	padding: .75rem 0;
}
.box-accordion summary {
	position: relative;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	display: flex;
	align-items: center;
}
.box-accordion summary > span {
	flex: 1 1 auto;
	min-width: 0;
	text-overflow: ellipsis;
}
.box-accordion summary > i {
	flex: 0 0 2rem;
	width: 2rem;
	height: 2rem;
	margin-left: auto;
	display: grid;
	place-items: center;
}
.box-accordion summary::-webkit-details-marker {
	display: none;
}
.box-accordion details summary > i:before {
	transform: rotate(270deg);
}
.box-accordion details[open] summary > i:before {
	transform: rotate(180deg);
}
.box-accordion details > div {
	margin-top: .5rem;
	color: #374151;
}

/**************************** ACCORDION CONTENT **************************/

.box-accordion.accordion details {
	border-radius: .5rem;
	padding: .75rem 1rem;
	margin-bottom: .75rem;
	box-shadow: var(--box-shadow);
}
.box-accordion.accordion details[open] {
	background: #fafafa;
}




/******************************* GALERY ******************************/
.gallery {
	position: relative;
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.gallery-image {
	position: relative;
}

.gallery-image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
	opacity: 0;
	border-radius: 1rem;
	background: rgba(0, 0, 0, .6);
	transition: all .5s ease-in-out;
}
.gallery-image:hover::before {
	opacity: 1;
}

.gallery-image img {
	border-radius: 1rem;
	width: 100%;
}

.gallery-image a {
	position: absolute;
	padding: 1rem;
	border-radius: 50%;
	background: var(--light-theme-link-color);
	text-align: center;
	left: 50%;
	top: 50%;
	z-index: 1;
	opacity: 0;
	transform: translate(-50%, -50%);
}

.gallery-image:hover a {
	opacity: 1;
}

.gallery-image a:hover {
	background: var(--light-theme-link-color-hover);
}

/******************************* ITINERARY ******************************/
.itinerary {
	position: relative;
	padding-left: 110px;
	padding-bottom: 62px;
}

.itinerary::before {
	position: absolute;
	content: '';
	width: 1px;
	border-left: 2px dashed var(--dark-theme-line-01);
	height: 100%;
	left: 35px;
	top: 10px;
	z-index: -1;
}

.itinerary:last-child::before{
	display: none;
}

.itinerary > span {
	position: absolute;
	display: inline-block;
	left: 5px;
	top: 3px;
	width: 60px;
	height: 60px;
	line-height: 60px;
	font-size: 22px;
	color: #ffffff;
	background: var(--dark-theme-line-01);
	font-weight: 600;
	text-align: center;
	border-radius: 10px;
}

.itinerary > span::before {
	position: absolute;
	content: '';
	background: var(--dark-theme-line-02);
	width: calc(100%);
	height: calc(100%);
	left: -5px;
	top: -5px;
	border-radius: 10px;
	box-shadow: 0px 10px 40px 0px rgb(0 0 0 / 20%);
	z-index: -1;
}


.itinerary h4{
	display: block;
	font-size: 20px;
	line-height: 28px;
	font-weight: 500;
	margin-bottom: 5px;
	color: var(--dark-theme-line-01);
}

.itinerary h3 {
	display: block;
	font-size: 24px;
	line-height: 34px;
	font-weight: 600;
	margin-bottom: 10px;
}

.itinerary ul{
	margin-top: 10px;
}

.itinerary ul li i{
	margin-right: 10px;
	color: var(--dark-theme-line-01);
}

/***************************** SIDE LINK LIST ****************************/
.category-list a {
	display: block;
	padding-bottom: 1rem;
	border-bottom: 1px solid #eee;
	transition: all .5s ease-in-out;
}

.category-list a:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: unset;
}

.category-list a:hover {
	padding-left: 10px;
	color: var(--dark-theme-link-color-hover);
}

.category-list a i {
	margin-right: 5px;
}





















