* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
}

body {
	font-family: 'Montserrat', sans-serif;
	padding-top: 0;
}


body{
	background: #fff;
	overflow-x: hidden;
	max-width: 100%;
}
body.disablescroll{
	overflow-y: hidden;
}
.container{
	width: 1200px;
	margin: 0 auto;
}
.container.psr{
	position: relative;
}
/* -- BREAK -- */





/* -- BANNER -- */
.banner {
    float: left;
    width: 100%;
    margin: 0;
    background-size: cover;
    background-attachment: fixed; /* Make the background image fixed */
    z-index: 1;
	background-color: #FBB116;
}

.banner:before{
	position:absolute;
	width:100%; height:100%;
	left:0; top:0;
	margin:0 0 0 0; padding:0 0 0 0;
	z-index:-1;
	
}

.bannercontent .text h3{
	color:#FBB116;
	font-size:60px;
	font-family:'Montserrat';
	font-weight: 600;
	margin-bottom: 20px;
}
.bannercontent .text h2{
	color:#fff;
	font-size:90px;
	line-height: 100%;
	font-family:'Montserrat';
	font-weight: bold;
	margin-bottom: 30px;
}
.bannercontent .text p{
	color:#fff;
	font-size:21px;
	line-height: 170%;
	font-family:'Montserrat';
}
.bannercontent .text p u{
	font-weight: bold;
	color: #ffc818;
}


@media only screen and (max-width: 768px) {
    .sp-banner {
        background-attachment: scroll; /* Change attachment to scroll on smaller screens */
		height: 710px;
	}
}
.sp-bannercontent .text {
    padding: 0 20px; /* Adjust padding as needed */
}

/* Media query for smartphones */
@media only screen and (max-width: 768px) {
	.sp-bannercontent .text {
        padding: 0; /* Remove padding for smaller screens */
    }
    
}


/* -- BANNER CSS ENDS -- */

/* itinerary BANNER -- */
.itinerary-banner {
    float: left;
    width: 100%;
	height: 700px;
    margin: 0;
    padding-top: 330px;
	padding-left: 200px;
    background: url('images/homepage/background.jpg') no-repeat center center;
    background-size: cover;
    background-attachment: fixed; /* Make the background image fixed */
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.5);
}

.itinerary-banner:before{
	position:absolute;
	width:100%; height:100%;
	background:rgba(0,0,0,0.3);
	left:0; top:0;
	margin:0 0 0 0; padding:0 0 0 0;
	z-index:-1;
	content:'';
}



.itinerary-bannercontent .text h3{
	color:#FBB116;
	font-size:40px;
	font-family:'Montserrat';
	font-weight: 600;
	margin-bottom: 20px;
}
.itinerary-bannercontent .text h2{
	color:#fff;
	font-size:90px;
	line-height: 100%;
	font-family:'Montserrat';
	font-weight: bold;
	margin-bottom: 30px;
}
.itinerary-bannercontent .text p{
	color:#fff;
	font-size:21px;
	line-height: 170%;
	font-family:'Montserrat';
}
.itinerary-bannercontent .text p u{
	font-weight: bold;
	color: #ffc818;
}
/* Define the keyframes for the animation */
@keyframes appear {
    from {
        opacity: 0;
        transform: translateY(-20px); /* Move the text up slightly */
    }
    to {
        opacity: 1;
        transform: translateY(0); /* Reset the translation */
    }
}

/* Apply the animation to the h3 element */
.itinerary-bannercontent .text h3 {
    color: #FBB116;
    font-size: 40px;
    font-family: 'Montserrat';
    font-weight: 700;
    margin-bottom: 20px;
    opacity: 0; /* Start with opacity 0 */
    animation: appear 0.5s ease forwards; /* Apply the animation */
    animation-delay: 0.5s; /* Delay the animation */
}

/* Add animation delay to each letter */
.itinerary-bannercontent .text h3 span {
    animation: appear 0.5s ease forwards;
    animation-delay: calc(0.5s + 0.1s * var(--index)); /* Delay each letter */
    display: inline-block;
}

@media only screen and (max-width: 768px) {
    .banner {
        background-attachment: scroll; /* Change attachment to scroll on smaller screens */
		
    }
}
.itinerary-bannercontent .text {
    padding: 0 20px; /* Adjust padding as needed */
}

/* Media query for smartphones */
@media only screen and (max-width: 768px) {
	.bannercontent .text {
        padding: 0; /* Remove padding for smaller screens */
    }
    .bannercontent .text h2,
    .bannercontent .text h3 {
        font-size: 24px; /* Adjust font size for better readability */
        width: auto; /* Allow the text to take natural width */
    }
}


/* -- itinerary-BANNER CSS ENDS -- */

/* -- service -- */

.services{
	float:left;
	width:100%;
	margin: 0;
	padding:50px 0 50px 0;
	background:url('images/homepage/Zanzibar\ Dark.jpg') no-repeat center center;
	background-size: cover;
    background-attachment: fixed; /* Make the background image fixed */
    z-index: 1;
	color: #fff;
}
.services:before{
	position:absolute;
	width:100%; height:100%;
	left:0; top:0;
	margin:0 0 0 0; padding:0 0 0 0;
	z-index:-1;
	content:'';
}
.servicescontent {
	float:left;
	width:100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.services-content .text h3{
	color:#FBB116;
	font-size:40px;
	font-family:'Montserrat';
	font-weight: normal;
	margin-bottom: 20px;
}
.services-content .text h2{
	color:#fff;
	font-size:90px;
	line-height: 100%;
	font-family:'Montserrat';
	font-weight: 400;
	margin-bottom: 30px;
}
.services-content .text p{
	color:#fff;
	font-size:21px;
	line-height: 170%;
	font-family:'Montserrat';
}
.servicescontent .text p u{
	font-weight: bold;
	color: #ffc818;
}
.services h5{
	color: #fff;
	font-weight: 500;
}
.services-p{
	color: #fff;
}
.fa-solid{
	color: #FBB116;
	font-size: 30px;
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
    .services {
        background-attachment: scroll; /* Change attachment to scroll on smaller screens */
		
    }
}

/* -- service CSS ENDS -- */


/* -- ABOUT CSS STARTS -- */
.about{
	float:left;
	width:100%;
	margin:0 0 0 0;
	padding:100px 0;
}
.about .contentinline{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.about .imagearea{
	width: 50%;
	margin-right: 30px;
	overflow:hidden;
}
.about .imagearea img{
	float: left;
	width: 100%; height: auto;
	aspect-ratio: 2/1.75;
	object-fit: cover;
	object-position: center;
}
.about .text{
	width: 45%;
	margin: 0 0 0 0;
}
.about .text h3{
	text-align:left;
	color:#000;
	font-size:60px;
	font-family:'Montserrat';
	margin-bottom: 10px;
}
.about .text h4{
	text-align:left;
	color:#FBB116;
	font-size:30px;
	font-family:'Montserrat';
	font-weight: normal;
	font-style: normal;
	margin-bottom: 30px;
	position: relative;
}
.about .text p{
	text-align:left;
	color:#000;
	font-size:18px;
	line-height: 170%;
	font-family:'Montserrat';
	margin-bottom: 30px;
}
.about .text ul{
	list-style: disc;
	padding-left: 18px;
}
.about .text ul li{
	text-align:left;
	color:#000;
	font-size:18px;
	font-family:'Montserrat';
	margin-bottom: 5px;
}
/* -- ABOUT CSS ENDS -- */

.my-button {
	background-color: #FBB116;
	color: black;
	border: none;
	padding: 10px 20px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 16px;
	cursor: pointer;
	border-radius: 5px;
	transition: background-color 0.3s, color 0.3s;
}

.my-button:hover {
	background-color: black;
	color: white;
}
.details-container {
	width: 80%; /* Adjusted width */
	margin: 0 auto; /* Center the container horizontally */
	display: flex;
	flex-wrap: wrap;
}

* {
	box-sizing: border-box;
  }
  



.special-home{
	float:left;
	width:100%;
	margin: 0;
	padding:50px 0 50px 0;
	background-size: cover;
    background-attachment: fixed; 
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.5);
	
}
.special-home:before{
	position:absolute;
	width:100%; height:100%;
	background:rgba(0,0,0,0.3);
	left:0; top:0;
	margin:0 0 0 0; padding:0 0 0 0;
	z-index:-1;
	content:'';
}
.special-home-content {
	float:left;
	width:100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.special-home-content .text h3{
	color:#FBB116;
	font-size:40px;
	font-family:'Montserrat';
	font-weight: normal;
	margin-bottom: 20px;
}
.special-home-content .text h2{
	color:#fff;
	font-size:90px;
	line-height: 100%;
	font-family:'Montserrat';
	font-weight: bold;
	margin-bottom: 30px;
}
.special-home-content .text p{
	color:#fff;
	font-size:21px;
	line-height: 170%;
	font-family:'Montserrat';
}
.special-homecontent .text p u{
	font-weight: bold;
	color: #ffc818;
}
.special-home h5{
	font-weight: 500;
}
.carousel {
	width: 100%;
	max-width: 900px; /* Adjust as needed */
	margin: 0 auto;
	padding: 20px;
	position: relative;
  }
  
  .carousel h3 {
	text-align: center;
  }
  
  .carousel-container {
	display: flex;
	overflow: hidden;
  }
  
  .slide {
	flex: 0 0 33.33%; /* Display 3 slides at a time */
	position: relative;
  }
  
  .slide img {
	width: 100%;
	display: block;
	transition: opacity 0.5s;
  }
  
  .slide-content {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 10px;
	opacity: 0;
	transition: opacity 0.5s;
  }
  
  .slide:hover .slide-content {
	opacity: 1;
  }
  
  .controls {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	display: flex;
	justify-content: space-between;
  }
  
  .left-arrow,
  .right-arrow {
	font-size: 24px;
	cursor: pointer;
  }
/* -- service CSS ENDS -- */


/* -- PACKAGE MENU STARTS -- */
.packagemenu{
	float:left;
	width:100%;
	margin:0 0 0 0;
	padding:100px 0 50px 0;
	position: relative;
}
.packagemenu:before{
	position:absolute;
	width:200px;
	height:1px;
	background:#ccc;
	left:0; right:0; top:0;
	content:'';
	margin:0 auto 0 auto;
}
.packagemenu h3{
	text-align:center;
	color:#000;
	font-size:60px;
	font-family:'Montserrat';
	margin-bottom: 10px;
	font-weight: 600;
}
.packagemenu h4{
	text-align:center;
	color:#008dc7;
	font-size:21px;
	font-family:'Montserrat';
	font-weight: normal;
	font-style: normal;
	margin-bottom: 30px;
	position: relative;
}
.menuitems_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 65px;
}
.menuitems_wrap .item{
	flex-basis: calc(30% - 20px);
	margin-bottom: 60px;
	border-style: none;
	box-shadow: 0 0px 1px 0;
	box-sizing: border-box;
	padding: 10px;
}
.packagemenu hr{
	color: #FBB116;
}
.menuitems_wrap .item img{
	width: 100%; 
	height: auto;				
	object-fit: cover;
	margin-bottom: 10px;
	transition: transform 0.3s ease-in-out;
}
.menuitems_wrap .item img:hover {
	transform: scale(1.05);
}
.menuitems_wrap .item h6{
	text-align:center;
	color:#FBB116;
	font-size:12px;
	font-family:'Montserrat';
	margin-bottom: 15px;
	text-transform: uppercase;
	font-weight: 300;
}
.menuitems_wrap .item h5{
	text-align:center;
	color:#000;
	font-size:16px;
	font-family:'Montserrat';
	margin-bottom: 15px;
	text-transform: uppercase;
	font-weight: 600;
}
.menuitems_wrap .item p{
	text-align:center;
	color:#000;
	font-size:12px;
	font-family:'Montserrat';
	margin-bottom: 15px;
	text-transform: uppercase;
	font-weight: 500;
}
.menuitems_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px; /* Adjust as needed */
}

.menuitems_wrap .item {
    flex-basis: 30%;
    margin-bottom: 30px; /* Adjust as needed */
    padding: 0 10px; /* Adjust as needed */
}
/* For smartphones and smaller devices */
@media only screen and (max-width: 767px) {
    .menuitems_wrap .item {
        flex-basis: 100%; /* Make each item take up 100% width */
        margin-bottom: 30px; /* Adjust as needed */
        padding: 0; /* Reset padding */
    }

    .packagemenu h3 {
        font-size: 40px; /* Adjust as needed */
    }

    .menuitems_wrap {
        margin-top: 20px; /* Adjust as needed */
    }

    .menuitems_wrap .item img {
        margin-bottom: 10px; /* Adjust as needed */
    }

    .menuitems_wrap .item h5 {
        font-size: 24px; /* Adjust as needed */
        margin-bottom: 10px; /* Adjust as needed */
    }
}

/* For larger devices */
@media only screen and (min-width: 768px) {
    /* Add any specific styling for larger devices here */
}

/* -- FOOD MENU ENDS -- */

.service{
	float:left;
	width:100%;
	height: 900px;
	margin: 0;
	padding:0px 0 0px 0;
	background:url('images/homepage/sunset.jpg') no-repeat center center;
	background-size: cover;
    background-attachment: fixed; /* Make the background image fixed */
    z-index: 1;
}
.service:before{
	position:absolute;
	width:100%; height:100%;
	left:0; top:0;
	margin:0 0 0 0; padding:0 0 0 0;
	z-index:-1;
	content:'';
}
.servicecontent {
	float:left;
	width:100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.service-content .text h3{
	color:#FBB116;
	font-size:40px;
	font-family:'Montserrat';
	font-weight: normal;
	margin-bottom: 20px;
}
.service-content .text h2{
	color:#fff;
	font-size:90px;
	line-height: 100%;
	font-family:'Montserrat';
	font-weight: bold;
	margin-bottom: 30px;
}
.service-content .text p{
	color:#fff;
	font-size:21px;
	line-height: 170%;
	font-family:'Montserrat';
}
.servicecontent .text p u{
	font-weight: bold;
	color: #ffc818;
}
.service h5{
	font-weight: 500;
}
.fa-solid{
	color: #FBB116;
	font-size: 30px;
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
    .service {
        background-attachment: scroll; /* Change attachment to scroll on smaller screens */
		height: 700px;
    }
}

/* -- service CSS ENDS -- */



/* -- FOOTER STARTS -- */
footer {
    background-color: #000;
    color: #fff;
    float: left;
    width: 100%;
    margin: 0 0 0 0;
    padding: 70px 0;
}

.footer .copyright {
    margin-top: 20px; /* Add some margin */
    text-align: center; /* Center-align text */
}

.copyright {
    text-align: center; /* Center-align text */
    color: #fff;
    font-size: 15px;
    font-family: 'Montserrat';
}

.copyright a {
    color: #FBB116;
    text-decoration: none;
    border-bottom: 1px solid #000;
}

.credits{
	float: right;
	text-align:left;
	color:#fff;
	font-size:15px;
	font-family:'Montserrat';
}
.credits a{
	color: #FBB116;
	text-decoration: none;
	border-bottom: 1px solid #000;
}
@media only screen and (max-width: 768px) {
    .footer {
        align-items: center;
    }
}

/* -- FOOTER ENDS -- */



.console-container {
	font-family: Montserrat;
	font-size: 4em;
	text-align: center;
	height: 100px;
	width: 900px;
	display: block;
	position: absolute;
	color: white;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	font-weight: bold; /* Ensuring console content is bold */
}

.console-underscore {
	display: inline-block;
	position: relative;
	top: -0.14em;
	left: 10px;
}


.itinerary-header {
	background-image: url('images/balloons.jpg'); /* Replace 'header-background.jpg' with your image path */
	background-size: cover;
	background-position: center center;
	color: #000;
	text-align: center;
	padding: 100px 0 70px 0;
	margin-bottom: 50px;
}
.itinerary-header h1{
	font-size: 60px;
	font-family: 700;
	color: #000;
}
.itinerary-header p{
	color: #FBB116;
	font-weight: 600;
}
.itinerary-container {
	max-width: 1200px;
	margin: 20px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.itinerary-left-column {
	flex: 1;
	margin-right: 20px;
	width: 60%;
}
.itinerary-left-column img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}
.itinerary-right-column {
	flex: 1;
	margin-left: 20px;
}
.itinerary-pricing {
	background-color: #f4f4f4;
	padding: 20px;
	margin-bottom: 20px;
}
.itinerary-other-tours {
	background-color: #f4f4f4;
	padding: 20px;
}
.itinerary-persons {
	float: left;
	width: calc(33.33% - 10px); 
	background-color: none;
	margin-right: 10px; /* Add a 10px gap between columns */
}
.itinerary-price {
	float: left;
	width: calc(33.33% - 10px); 
	text-align: center;
	background-color: #FBB116;
	margin-right: 10px; /* Add a 10px gap between columns */
}
.itinerary-price p{
	font-size: 16px;
	font-weight: 700;
}
.itinerary-price p .zero{
	font-size: 10px;
	font-weight: 700;
}
.itinerary-season{
	font-weight: 600;
}
.itinerary-price-row:after {
	content: "";
	display: table;
	clear: both;
}
@media (max-width: 768px) {
	.itinerary-container {
		flex-direction: column;
	}
	.itinerary-left-column, .right-column {
		margin: 0;
		width: 100%;
	}
}




.kili-banner {
    float: left;
    width: 100%;
    margin: 0;
    background-size: cover;
    background-attachment: fixed; /* Make the background image fixed */
    z-index: 1;
	background-color: #f4f4f4;
	height: 500px;
}

.kili-banner:before{
	position:absolute;
	width:100%; height:100%;
	left:0; top:0;
	margin:0 0 0 0; padding:0 0 0 0;
	z-index:-1;
	
}
.kili-bannercontent .text h3{
		color:#000;
		font-size:60px;
		font-family:'Montserrat';
		font-weight: 600;
		margin-bottom: 20px;
}
@media (max-width: 768px) {
	.kili-banner {
		height: auto;
		background-position: center center;
		background-attachment: scroll;
	}
	.kili-bannercontent .text h3{
		color:#000;
		font-size:42px;
		font-family:'Montserrat';
		font-weight: 600;
		margin-bottom: 20px;
	}
	.bannercontent .text h3{
		color:#FBB116;
		font-size:42px;
		font-family:'Montserrat';
		font-weight: 600;
		margin-bottom: 20px;
	}
}
	.section-skin {
	position: relative;
	background-image: url('images/206.jpg');
  	}
  
	.section-skin::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.9); /* White overlay with 0.5 opacity */
		z-index: 1; /* Ensure the overlay is behind the content */
	}
	
	.section-skin > * {
		position: relative;
		z-index: 2; /* Ensure content is above the overlay */
	}