/* Variables */

:root{
    /*Sizes*/
    --thumbWidth: 8svw;
    --thumbHeight: 18svh;
    --Title-FontSize: 3.5em;
    --Topic-FontSize: 2.5em;
    --BlogTopic-FontSize: 2em;
    --Des-FontSize: 1em;
    --Des-SmallFontSize: 0.8em;
    --Menu-FontSize: 1rem;
    --FooterTitle-FontSize: 1.5em;


    /*Locations*/
    --thumbLeft: 60%;
    --thumbBottom: 100px;

    /*Colors - change these if you want to change the theme of the website*/
    --clr-Main: #FBAD3E;
    --clr-Main-Opacity: #fbac3e50;
    --clr-Main-Snd: #FCCD88;
    --clr-Main-Snd-Opacity: #fcce8850;
    --clr-Main-Thrd:#FDEFD8;
    --clr-Secondary: #3A393A;
    --clr-Secondary-Opacity: #3a393ac0;
    --clr-Secondary-Opacity-Snd: #3a393a90;
    --clr-Secondary-Snd: #3a393a50;
    --clr-White: #fff;

    /*Box shadowing*/
    --clr-BoxShadowing: rgb(0, 0, 0, 0.40) 5px 5px 10px;
    --clr-BoxShadowing-Sec:#FBAD3E20 -5px -5px 5px 5px, #FBAD3E20 5px 5px 5px 5px;;
    

    /*Time controlers*/
    --Text-Time-Transition: 0.3s;
    --Elements-Time-Transition: 0.5s;
}

/* Fonts */

@font-face {
    font-family: "Nunito-ExtraBold";
    src: url(font/Nunito-ExtraBold.ttf);
}

@font-face {
    font-family: "Nunito-SemiBold";
    src: url(font/Nunito-SemiBold.ttf);
}

@font-face {
    font-family: "Nunito-Black";
    src: url(font/Nunito-Black.ttf);
}


body{
    font-family: "Nunito-Black";
    background-color: black;
    color:white;
    margin: 0px;
}

a{
    text-decoration: none;
}

header{
    z-index: 999;
    position: fixed;
    width: 100%;
    top:0;
    left: 0;
    height: 6rem;
    display: flex;
    font-family: "Nunito-SemiBold";
    font-size: .8rem;
    justify-content: center;
    transition: 0.3s ease;
}

section {
    padding: 2em 9%;
}

button, input.search-submit{
    width: 150px;
    height: 40px;
    border: none;
    background-color: var(--clr-Main-Opacity);
    letter-spacing: 1px;
    font-family:"Nunito-SemiBold";
    font-size: .9rem;
    border-radius: 20px;
    margin-top: 20px;
    transition:var(--Text-Time-Transition) ease;
}

button:hover, input.search-submit:hover{
    background-color: var(--clr-Main);
    transition: var(--Text-Time-Transition);
}

h1, h2{
    margin: 0;
}


/* Loading Overlay Styles */
#loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease;
}

.loading-spinner {
    text-align: center;
}

.loading-spinner img {
    width: 150px;
    animation: glow 1.5s ease-in-out infinite alternate;
    filter: drop-shadow(0 0 5px var(--clr-Main));
}

@keyframes glow {
    from {
        filter: drop-shadow(0 0 5px var(--clr-Main));
    }
    to {
        filter: drop-shadow(0 0 50px var(--clr-Main));
    }
}


/* Social media icons styling */
.media-icons{
    z-index: 999;
    position: fixed;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    bottom:35%;
    left:10px;
    padding: 3px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
}


/*Navigation bar styling*/
header .nav-bar{
    position: relative;
    width: 100vw;
    display: flex;
    align-items:center ;
    margin: 0 40px;
    transition: .3s ease;
}

header.sticky{
    background: rgba(255,255,255, 0.1);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--clr-Main-Snd-Opacity);
    height: 90px;
}

.nav-bar .nav-logo img{
    height: 100px;
}

.nav-bar .nav-menu{
    display: flex;
    position: absolute;
    gap: 40px;
    font-size: var(--Menu-FontSize);
    text-decoration: none;
    text-shadow: (var(--clr-Secondary));
    right: 0px;
}

.nav-bar .nav-menu a{
    color:var(--clr-Secondary);
    transition: var(--Text-Time-Transition);
}

.nav-bar .nav-menu a:hover{
    color:var(--clr-Main);
}

.nav-bar .nav-menu a img{
    display: none;
}

/* Navigation menu styling */

.nav-menu-btn{
    height: 40px;
    width: 40px;
    position: absolute;
    right: 10px;
    cursor:pointer;
    display: none;
}

.nav-menu-btn.deactivate{
    display: none;
}


.nav-menu-btn svg g{
    transition: var(--Text-Time-Transition)  ease;
}
.nav-menu-btn svg g:hover{
    fill: var(--clr-Main);
}

.nav-bar .nav-menu.navigation{
    position: absolute;
    top:0%;
    background: var(--clr-White);
    width: 100%;
    height: 280px;
    display: grid;
    place-content: center;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    box-shadow: var(--clr-BoxShadowing);
    background: rgba(255,255,255, 0.1);
    backdrop-filter: blur(20px);
    transition: 0.3s ease;
}

.nav-bar .nav-menu.navigation a{
    color:var(--clr-Secondary);
    display: flex;
    place-content: center;
    width: 10rem;
    font-size: var(--Menu-FontSize);
    gap:10px;
    transition: var(--Text-Time-Transition) ease;
}

.nav-close-btn{
    display: none;
}

.nav-bar .nav-menu.navigation a:hover{
    color:var(--clr-Main);
    text-shadow:var(--clr-Main) 5px 5px 5px;
}
.nav-bar .nav-menu.navigation a img{
    display:block;
}


/* Scroll bars styling*/
::-webkit-scrollbar{
    width: 11px;
    background: var(--clr-Secondary);
    border-radius: 2em;
}

::-webkit-scrollbar-thumb{    
    background: var(--clr-Main-Snd);
    border-radius: 2em;
}

::-webkit-scrollbar-thumb:hover{    
    background: var(--clr-Main);
}

/* Carousel */
.carousel{
    position: relative;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: left;
    align-items: center;
    min-height: 600px;
}

.carousel .background{
    position: absolute;
    inset:0px 0px 0px 0px;
    display: flex;
    background-size:cover;
}


.carousel .slider{
    position: absolute;
    inset:0px 0px 0px 0px;
    display: flex;
}

.carousel .slider .slide{
    position: absolute;
    top:80%;
    transform: translateY(-50%);
    width: 100px;
    height: 150px;
    background-size:cover;
    border-radius: 20px;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
    display: flex;
    align-items: flex-start;
    transition:var(--Elements-Time-Transition) ease;
}

.carousel .slider .slide:nth-child(1){
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    min-height: 100px;
    transform: translateY(0);
    box-shadow: 0 25px 50px rgba(0,0,0,0);
    border-radius: 0px;
}

.carousel .slider .slide:nth-child(2){
    left:calc(50% + 100px);
}

.carousel .slider .slide:nth-child(3){
    left:calc(50% + 210px);
}

.carousel .slider .slide:nth-child(4){
    left:calc(50% + 320px);
}

.carousel .slider .slide:nth-child(6){
    left:calc(50% + 430px);
}

input.search-submit{
    width: 150px;
    height: 40px;
    border: none;
    background-color: var(--clr-Main-Opacity);
    letter-spacing: 1px;
    font-family:"Nunito-ExtraBold";
    font-size: .9rem;
    border-radius: 20px;
    margin-top: 20px;
    transition:var(--Text-Time-Transition) ease;
}

.carousel .arrows{
    position: absolute;
    bottom: 17%;
    left:50%;
    display: flex;
    align-self: center;
    margin-right: 10px;
    gap:10px;
    transition:var(--Elements-Time-Transition) ease;
}

.carousel .arrows button{
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: var(--clr-Secondary);
    border: none;
    font-family:monospace;
    font-size: 20px;
    color: var(--clr-White);
    font-weight: bold;
    opacity: .7;
}

.carousel .arrows button:hover{
    background-color: var(--clr-Main);
    color:var(--clr-Secondary);
}


.carousel .slider .slide .content{
    position: relative;

    top:20%;
    left:10%;
    max-width: 70vw;
    color: var(--clr-White);
    text-shadow: 0 5px 10px #001;
    opacity: 0;
    display: flex;
    justify-content: left;
    flex-direction: column;

    transition: 0.25s;
    transition-delay: 0s;
    transform:translateY(40px);
}

.carousel .slider .slide:nth-child(1) .content{
    opacity: 1;
    transform: translateY(0px);
    transition-delay: 0.5s;
}

.carousel .slider .slide .content .title,
.carousel .slider .slide .content .topic{
    font-weight: bold;
    line-height: 1.1em;
}

.carousel .slider .slide .content .title{
    color: var(--clr-Main);
    font-size: var(--Title-FontSize);
}

.carousel .slider .slide .content .topic{
    color: var(--clr-White);
    font-size: var(--Topic-FontSize);
}


.carousel .slider .slide .content .des{
    font-family:"Nunito-SemiBold" ;
    background:rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    padding: 15px;
    margin-top: 10px;
    border-radius: 10px;
    text-shadow: 0 5px 10px #001;
    font-size: var(--Des-FontSize);
    line-height: 1.1em;
}

.carousel .slider .slide .content button:nth-child(2){
    background-color: transparent;
    color: var(--clr-Main-Snd-Opacity);
    display: none;
}

.carousel .slider .slide .content button:nth-child(1):hover{
    background-color: var(--clr-Main);
    transition: var(--Text-Time-Transition);
}

.carousel .slider .slide .content button:nth-child(2):hover{
    color: var(--clr-Main-Snd);
    transition: var(--Text-Time-Transition);
}


/* Aboutus */

.aboutus{
    position: relative;
    padding-top:10vh;
    padding-bottom: 10vh;
    background-color: var(--clr-Main-Thrd);
    display: flex;
    flex-direction: column;
    gap: 2vw;
    justify-content: space-evenly;
    min-height: 70vh;
    box-shadow: inset 0 0 10px rgb(0, 0, 0);
}

.aboutus .abou-img-container{
    align-self: center;
}
.aboutus .abou-img-container .about-img{
    width: 400px;
    height: 350px;
}

.aboutus .content{
    /*transform: translateX(-50%);*/
    color: var(--clr-White);
    /*text-shadow: 1px 1px 10px #001;*/
}

.aboutus .title{
    position: relative;
    display: inline-block;
    font-size: var(--Title-FontSize);
    color: var(--clr-Main);
    text-shadow: 1px 1px 10px #001;    
    text-decoration: underline;
}


.aboutus .content .des{
    font-family: "Nunito-SemiBold";
    font-size:var(--Des-FontSize);
    color: var(--clr-Secondary);
}

.aboutus .content .buttons :hover{
    background-color: var(--clr-Main);
}

/* Destinations */
.destinations{
    position: relative;
    min-height: 70vh;
    padding-top:10vh;
    padding-bottom:10vh;
    background-color: var(--clr-Secondary);
    display: block;
    z-index: 100;
}


.destinations .title{
    position: relative;
    display: inline-block;
    font-size: var(--Title-FontSize);
    color:var(--clr-Main);
    text-decoration: underline;
}


.destinations .Socotra-Island,
.destinations .Yemen-Mainland {
    display: flex;
    gap: 2vw;
    align-items:center;
    justify-content: space-around;
}


.destinations .img-container {
    overflow: hidden; /* Ensure the image doesn't overflow its container */
    height: 35vh;
    width: 35vw;
    border-radius: 20px;
}

.destinations img {
    height: 100%; /* Ensure the image fills its container */
    width: 100%;
    object-fit: fill;
    box-shadow: var(--clr-BoxShadowing);
    transition: transform 0.5s, border-radius 0.5s; /* Added transition for transform and border-radius */
}

.destinations .img-container:hover img {
    transform: scale(1.2); /* Change the scale as needed */
}

.destinations .content{
    flex:2;
}

.destinations .topic{
    font-size: var(--Topic-FontSize);
}

.destinations .des{
    font-family: "Nunito-SemiBold";
    font-size: var(--Des-FontSize);
}


.destinations .Socotra-Island .content .buttons :hover,
.destinations .Yemen-Mainland .content .buttons :hover{
    background-color: var(--clr-Main);
}


/* Gallery Section  */
.gallery{
    position: relative;
    min-height: 70vh;
    padding-top:10vh;
    padding-bottom:10vh;
    background-color: var(--clr-Main-Thrd);
    box-shadow: inset 0 0 10px rgb(0, 0, 0);
    display: flex;
    flex-direction: column;
    align-items: left;
}

.gallery .title{
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: var(--Title-FontSize);
    color: var(--clr-Main);
    text-shadow: 1px 1px 10px #001;
    text-decoration: underline;
}

.gallery .des{
    font-family: "Nunito-SemiBold";
    font-size: var(--Des-FontSize);
    color:var(--clr-Secondary);
}

.image-container{
    display: flex;
    justify-content: center;
    flex-direction: row;
    padding-left: 0;
}

.gallery-container{
    position: relative;
    align-items:center;
    display: flex;
    height: 400px;
    max-width: 800px;
    min-width: 800px;
}

.gallery-item{
    position: absolute;
    height: 200px;
    width: 330px;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    z-index:0;
    border-radius: 15px;
    background-size: contain;
}

/*item 1 & 7*/
.gallery-item-1,
.gallery-item-7{
    opacity:.3;
    
}

.gallery-item-1{
    left:1%;
}

.gallery-item-7{
    
    left: 58%;
}


/*item 2 & 6*/
.gallery-item-2,
.gallery-item-6{
    height:250px;
    width:380px;
    opacity:.6;
    z-index: 2;
}

.gallery-item-2{
    left:6%;
}

.gallery-item-6{
    left:47%;
}

/*item 3 & 5*/
.gallery-item-3,
.gallery-item-5{
    height:300px;
    opacity:.8;
    width:430px;
    z-index: 3;
}

.gallery-item-3{
    left:11%;
}

.gallery-item-5{
    left:36%;
}


/*item 4 in the middle*/
.gallery-item-4{
    box-shadow: -2px 5px 33px 6px rgba(0,0,0,0.35);
    height: 400px;
    width:500px;
    opacity: 1;
    left:19%;
    z-index:4;    
}



.gallery-controls{
    display: flex;
    justify-content: center;
    z-index: 5;
}


.gallery-controls .prev,
.gallery-controls .next{
    position: relative;
    width: 50px;
    height: 50px;
    top:37%;
    border: none;
    background-color: rgba(0,0,0,0);
    font-family:monospace;
    font-size: 50px;
    color: var(--clr-Secondary);
    opacity: .7;
    transition:.5s;
}

.gallery-controls .prev:hover{
    transform: translateX(-5px);
}
.gallery-controls .next:hover{
    transform: translateX(5px);
}

.gallery .buttons :hover{
    background-color: var(--clr-Main);
}




/* Footer  */
footer{
    background-color: var(--clr-Secondary);
    position: relative;
    font-family: "Nunito-SemiBold";
}

footer .container{
    display: flex;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    gap:30px;
    padding-top: 10vh;
    padding-left:5vw;
    padding-right:5vw;
    padding-bottom: 5vh;
}

footer .col{
    width:200px;
}

footer .title{
    font-family: "Nunito-SemiBold";
    font-size: var(--FooterTitle-FontSize);
    color: var(--clr-Main);
}



footer .container .list{
    list-style: none;
    padding: 0;
    margin: 0;
}

footer .container .list .item{
    transition: var(--Text-Time-Transition);
    margin-top: 5px;
    line-height: 1.1em;
}

footer .container .list .item a{
    color: var(--clr-White);
    transition: var(--Text-Time-Transition);
    font-size: var(--Des-FontSize);
}

footer .container .list .item:hover{
    transform:translateX(5px);
}

footer .container .list .item a:hover{
    color: var(--clr-Main);
    text-shadow: var(--clr-Main) 2px 2px 10px;
}

footer .container .rights{
    width: 100%;
    gap: 5px;
    font-size: var(--Des-SmallFontSize);
    text-align: center;
}


/* Media queries */
/********** @970px **********/

@media  screen and (max-width: 970px ) {
    /********** Navbar **********/

    header .nav-bar{
        margin: 0 0px;
    }
    .nav-bar .nav-menu{
        gap: 1rem;
        display: none;
    }

    .nav-menu-btn{
           display: block;
    }
       
    /********** Carousel section **********/
    .carousel{
        justify-content: left;
    }

    .carousel .arrows{
        bottom: 28%;
        left:12%;
    }

    .carousel .slider{
        position: absolute;
        
    }

    .carousel .slider .slide{
        position: absolute;
        width: 100px;
        height: 100px;
        top:initial;
        bottom:20%;
        box-shadow: 0 10px 20px rgba(0,0,0,0.5) ;
    }

    .carousel .slider .slide:nth-child(1){
        top: initial;
        bottom:0px;
    }

    .carousel .slider .slide:nth-child(2)
    {
        left:210px;
    }

    .carousel .slider .slide:nth-child(3)
    {
        left:320px;
    }

    .carousel .slider .slide:nth-child(4)
    {
        left:430px;
    }

    .carousel .slider .slide:nth-child(5)
    {
        left:540px;
    }

    .carousel .slider .slide .content{
        top:15%;
        max-width: 80vw;
    }

    .carousel .slider .slide .content .title{
        font-size: var(--Topic-FontSize);
    }

    .carousel .slider .slide .content .des{
        font-size: 0.9em;
    }


    /********** About us section **********/
    .aboutus{
        flex-direction: column;
    }

    .aboutus .content{
        width: 80vw;
        margin-top: 10px;
        margin-left: 5vw;
    }

    .aboutus .title{
        font-size: var(--Topic-FontSize);
    }

    .aboutus .abou-img-container .about-img{
        width: 400px;
        height: 350px;
    }

    /********** Destinations section **********/
    .destinations .title{
        font-size: var(--Topic-FontSize);
    }

    .destinations .Socotra-Island,
    .destinations .Yemen-Mainland{
        flex-direction: column;
    }

    .destinations .Yemen-Mainland{
        flex-direction: column-reverse;
    }

    .destinations .img-container {
        overflow: hidden; /* Ensure the image doesn't overflow its container */
        width: 80vw;
        border-radius: 20px;
    }

    /********** Gallery section **********/
    .gallery-container{
        max-width: 75vw;
        min-width: 75vw;
    }


    .gallery .title{
        font-size: var(--Topic-FontSize);
    }

    .gallery .des{
        font-size: 0.9em;
        text-align: center;
    }

    .gallery .des p{
        align-self: center;
    }

    /*item 1 & 7*/
    .gallery-item{
        opacity: 0;
        left:0;
    }
    

    /*item 4 in the middle*/
    .gallery-item-4{
        height: 40vh;
        width: 75vw;;
        opacity: 1;
        left:0%;   
    
    }

    .gallery .buttons{
        padding-top: 50px;
        align-self: center;
    }



    /* Social media icons styling */
    .media-icons{
        flex-direction: row;
        padding:5px;
        height: 30px;
        bottom:10px;
        left: 50%;
        transform: translateX(-50%);
    }
    

    /********** Footer section **********/
    footer .container{
        padding-bottom: 10vh;
    }
    
}

/********** @690px **********/
@media  screen and (max-width: 690px ) {

    button {
        width: 100px;
        height: 30px;
        font-size: .7rem;
        border-radius: 20px;
        margin-top: 10px;
    }


    /********** Navbar **********/
    .nav-bar .nav-logo img{
            height: 80px;
    }


    /********** Carousel section **********/
    .carousel .list .item .content{
        top:15%;
        max-width: 80vw;
    }

    .carousel .slider .slide .content .title{
        font-size: var(--BlogTopic-FontSize);
    }

    .carousel .slider .slide .content .topic{
        font-size: var(--FooterTitle-FontSize);
    }

    .carousel .list .item .content .des{
        font-size: var(--Des-SmallFontSize);
    }

    /********** About us section **********/
    .aboutus  .title{
        font-size: var(--BlogTopic-FontSize);
    }
    
    .aboutus .content .des{
        font-size: var(--Des-SmallFontSize);
    }

    .aboutus .abou-img-container .about-img{
        width: 300px;
        height: 250px;
    }

    /********** Destinations section **********/
    .destinations .title,
    .destinations .topic{
        font-size: var(--BlogTopic-FontSize);
    }

    .destinations .des{
        font-size: var(--Des-SmallFontSize);
    }
    
    /********** Gallery section **********/
    .gallery-container{
        max-width: 74vw;
        min-width: 74vw;
    }
    
    .gallery .title{
        font-size: var(--Topic-FontSize);
    }
    
    /*item 1 & 7*/
    .gallery-item{
        width:1%;
    }
        
    /*item 4 in the middle*/
    .gallery-item-4{
        height: 40vh;
        width: 75vw;;
        opacity: 1;
        left:0%;   
        
    }
    
    .gallery .buttons{
        padding-top: 50px;
        align-self: center;
    }
    

}
