* {
    margin: 0;
    padding: 0;
}

:root {
    --angle: 300deg;
  }


html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    background-color: black;
    color: white;
    transition-duration: 0.2s;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

button{
    cursor: pointer;
}
::-webkit-scrollbar {
    display: none;
}

::selection{
    background-color: rgba(0, 255, 255, 0.263);
    color: black;
}
a {
    color: white;
    text-decoration: none;
}
.buttons{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    width: 40px;
    padding: 15px 0px 15px 0px;
    background-color: #3b3b3b57;
    backdrop-filter: blur(2px);
    border-radius: 40px;
    top:33vh;
    left:10px;
    margin-left: -60px;
    transition-duration: 0.3s;
    z-index: 100;
    box-shadow: 0px 0px 10px black, 0px 0px 10px black;
}

#indicator{
    top:10px;
    height: 50px;
    width:50px;
    border-radius: 50%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.608),#00000000,#00000000);
    position: absolute;
    transition-duration: 0.3s;
}
.group{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 7px;
    border-radius: 40px;
    border: 1px solid rgba(255, 255, 255, 0.236);
}
.buttons button{
    margin-top: 20px;
    background-color: #00000000;
    border: none;
}
#first_button{
    margin-top: 0;
}
#moon{
    filter: invert(1);
}
#sun{
    filter: invert(1);
}
#default{
    filter: invert(1);
    margin-top: 20px;
}
.copy{
    height: 20px;
    width: 20px;
}
#copy{
    font-size: 20px;
    color: white;
}
.top{
    background-color: #3333337b;
    padding: 10px 7px 10px 7px;
    border: none;
    border-radius: 10px;
    position:fixed;
    bottom: 10px;
    right: 10px;
    backdrop-filter: blur(7px);
    box-shadow: 5px 5px 10px black;
    z-index: 50;
    
}
#top{
    opacity: 0;
    transition-duration: 0.3s;
}
.top img{
    height: 20px;
}

#navbar {
    width: 100vw;
    height: 60px;
    position: fixed;
    top: 0px;
    z-index: 100;
    border-bottom: 1px solid rgba(255, 255, 255, 0.077);
    backdrop-filter: blur(7px);
    background-color: #0000004b;
    transition-duration: 0.3s;
}

table {
    margin-top: 60px;
    width: 100%;
}
table, th, td {
    border: none;
}
th, td {
    padding: 20px;
    text-align: center;
}
tr {
    background-color: #31313100;
    transition-duration: 0.2s;
}
tr:hover{
    background-color: rgba(59, 59, 59, 0.527);
}

.logo {
    position: absolute;
    height: 40px;
    margin: 10px;
    transition-duration: 0s;
}

#glow{
    top:-20px;
    left:-20px;
    height: 80px;
    z-index: -10;
    opacity: 0;
    filter: brightness(1.7);
}

#glow:hover{
    opacity: 1;
}
#normal:hover{
    z-index: -105;
}

.burger {
    background-color: rgba(73, 89, 103, 0);
    border: none;
    position: fixed;
    top: 10px;
    right: 10px;
    height: 40px;
    width: 40px;
    z-index: 120;
    transition-duration: 0.5s;
}
#cross{
    z-index: 250;
    display: none;
}
#burger{
    z-index: 250;
}
#lines{
    z-index: 200;
}
.line {
    height: 2px;
    width: 35px;
    background-color: rgba(255, 255, 255, 0.821);
    margin-top: 10px;
    transform-origin: 100%;
    transition-duration: 0.2s;
}

#l1 {
    margin-top: 5px;
}

.plane{
    height: 110vh;
    width: calc(100vw - 60px);
    background-color: #0f0f0fba;
    backdrop-filter: blur(7px);
    position: fixed;
    z-index: 103;
    right: -100vw;
    top:0px;
    transition-duration: 0.2s;
    overflow-y: scroll;
    max-width: 400px;
    box-shadow: 0px 0px 10px black;
}

.preview {
    margin-left: 10%;
    width: 45vw;
    border-radius: 7px;
    box-shadow: 5px -3px 10px rgb(0, 0, 0);
    transition-duration: 0.4s;
}

.down {
    transform: translateY(-40%) translateX(-10%);
}

.heading {
    font-size: xxx-large;
    margin: 20px;
}

.subheading {
    font-size: xx-large;
    margin: 20px;
    margin-top: 50px;
}

.text {
    width: 35vw;
    word-wrap: break-word;
    margin: 20px;
    margin-top: 40px;
    font-size: x-large;
}
.top_dataverse{
    display: flex;
}

#data {
    background: linear-gradient(to right, goldenrod, rgb(0, 141, 141));
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation-name: hue;
    animation-duration: 1.5s;
    animation-timing-function: linear;
}

@keyframes hue{
    0%{
        filter: hue-rotate(0deg);
    }
    100%{
        filter: hue-rotate(360deg);
    }
}

#download{
    padding-top:90px;
    height: calc(100vh - 290px);
    display: flex;
}

#map {
    width: 45vw;
    margin-left: 80px;
    margin-right: 60px;
    height: 70vh;
    transition: 0.5s ease;
    filter: invert(1) hue-rotate(180deg) brightness(1.5);
    border-radius: 7px;
}

#aeroplane{
    position: absolute;
    z-index: 410;
    height: 20px;
    rotate: 45deg;
    animation-name: fly;
    animation-duration: 10s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.direction{
    position: absolute;
    z-index: 410;
    top:50%;
    left:50%;
    width: 110vh;
    height: 20px;
    transform: translate(-50%,-50%) rotate(var(--angle));
}
/*=====================hiding map watermark=================*/
.leaflet-control-attribution {
    display: none !important;
}

@keyframes fly{
    0%{
        margin-left: 0vw;
    }
    90%{
        margin-left: 110vh;
    }
    100%{
        margin-left: 110vh;
    }
}
.right{
    margin-top:80px;
}
.top_dataverse p{
    font-size: xxx-large;
}
#intro_text{
    font-size: x-large;
    width: 40vw;
    word-wrap: break-word;
    margin-top: 40px;
    margin-bottom: 40px;
}
#download_btn {
    background-color: #00000000;
    border: 1px solid white;
    color: white;
    font-size: large;
    transition-duration: 0.3s;
    padding: 10px 20px 10px 20px;
    z-index: 20;
    border-radius: 5px;
}

.scroll_icon{
    position: fixed;
    bottom: 25px;
    left:50vw;
    transform: translate(-50%);
    font-size: x-small;
    transition-duration: 0.3s;
}

.shadow{
    height: 20px;
    width: 180px;
    background-image: linear-gradient(115deg, #00000000,#000000d4,#00000000);
    position: absolute;
    margin-top: -20px;
    animation-name: wave;
    animation-duration: 2s;
    animation-iteration-count:infinite;
    animation-timing-function: ease-in-out;
}
@keyframes wave{
    0%{
        margin-left: -180px;
    }
    100%{
        margin-left: 7rem;
    }
}

#about {
    padding-top: 200px;
    display: flex;
    padding-bottom: 0;
    border-image: linear-gradient(rgba(0, 0, 0, 0),rgba(0, 0, 0, 0), #FDE725, #7AD151, #22A884, #2A788E, #414487, #440154) 1;
    border-width: 2px;
    border-style: solid;
    border-top-style: none;
    border-bottom-style: none;
    border-right-style: none;
}

#charts{
    padding-top: 0;
    margin-top: 30px;
    margin-bottom: 120px;
    margin-left: -30px;
    display: flex;
    flex-direction: column;
    border-image: linear-gradient(black,black) 1;
    border-width: 2px;
    border-style: solid;
    border-top-style: none;
    border-bottom-style: none;
    border-right-style: none;
}
#charts p{
    margin-left: 20px;
    width: calc(100vw - 40px);
}

.examples{
    border-radius: 10px 0px 0px 10px;
    margin-left: 0%;
    width: 100vw;
    display: flex;
    overflow-x: scroll;
    background-color: #16161600;
    margin-left: 0px;
}
.examples img{
    height: 35vh;
    margin: 20px;
    box-shadow: 5px -3px 10px rgb(0, 0, 0);
    border-radius: 3px;
}

.scroll_animate{
    background-color: rgba(255, 255, 255, 0);
    margin-bottom: 30px;
    height: 4px;
    width: 7px;
}

#finance {
    display: flex;
    padding-top: 0;
    padding-bottom: 0;
    border-image: linear-gradient(#440154, #260590, #5F01A5, #A31E99, #EC7535, #F2F224,rgba(0, 0, 0, 0)) 1;
    border-width: 2px;
    border-style: solid;
    border-top-style: none;
    border-bottom-style: none;
    border-right-style: none;
}

#develop {
    display: flex;
    padding-top: 0;
    padding-bottom: 0;
    border-image: linear-gradient(rgba(0, 0, 0, 0),#F5E020, #C5BD5B, #37B89D, #0C86D4, #2841B2, rgba(0, 0, 0, 0)) 1;
    border-width: 2px;
    border-style: solid;
    border-top-style: none;
    border-bottom-style: none;
    border-right-style: none;
}


.section.big_container{
    transform: translateX(0);
    opacity: 1;
  }
  .section{
    position: relative;
    transform: translateY(-100px);
    opacity: 0;
    transition: .5s all ease;
  }

.section{
    width: calc(100vw - 60px);
    margin-left: 30px;
    padding-left: 30px;
}

.circle{
    height: 10px;
    width: 10px;
    border-radius: 50%;
    background-color: #31c356;
    margin-top:7px;
    margin-left: 3px;
}

#red{
    background-color: rgb(244, 82, 82);
}
#yellow{
    background-color: rgb(230, 230, 102);
}

#technologies{
    display: flex;
    flex-direction: row;
    width: calc(35vw - 10px);
    border-radius: 10px 10px 0px 0px;
    margin-bottom: 0px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.323);
}

#technologies p{
    font-size: large;
    margin-left: 10px;
}

.tags {
    border-radius: 0px 0px 10px 10px;
    border: 1px solid rgba(255, 255, 255, 0.323);
    padding: 0px;
    display: flex;
    width: 35vw;
    margin: 20px;
    margin-top: -1px;
    justify-content: center;
    flex-wrap: wrap;
}

.tags p {
    margin: 10px;
    font-family: "Inconsolata", monospace;
    font-weight: 400;
}

#htmltag {
    background: linear-gradient(to right, #E44D26, #f1d329);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#csstag {
    background: linear-gradient(to right, #264de4, rgb(0, 195, 255));
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#jstag {
    background: linear-gradient(to right, #f0db4f, #5e8d00);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#exceltag {
    background: linear-gradient(to right, #008120, #42ea00,#15672a);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#pythontag {
    background: linear-gradient(to right, rgb(0, 149, 255), yellow);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#mysqltag {
    background: linear-gradient(to right, teal, orange);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#numpytag {
    background: linear-gradient(to right, rgb(77, 171, 207), rgb(77, 119, 207));
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#pandastag {
    background: linear-gradient(to right, #150458, #FFCA00, #E70488);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#matplotlibtag {
    background: linear-gradient(to right, #0b4a72,
            #71dbc4, #a3f5a0, #ffd95c, #fe9f5d, #dfff73, #728bc5);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

#github {
    height: 25px;
    filter: invert(1);
    transition-duration: 0.3s;
}

#contribute {
    margin-left: 50%;
    transform: translate(-50%);
    display: flex;
    background-color: #00000000;
    border: 1px solid white;
    color: white;
    font-size: large;
    transition-duration: 0.3s;
    padding: 10px 20px 10px 20px;
    border-radius: 5px;
}

#contribute:hover {
    background-color: white;
    color: black;
}

#contribute:hover #github {
    filter: invert(0);
}

#contribute p {
    margin-right: 10px;
    margin-top: 5px;
}

footer {
    display: flex;
    flex-direction: row;
    padding-left: 10vw;
    padding-right: 10vw;
}
#last_link{
    margin-top:16px;
    margin-left: 60px;
}
form {
    background-color: #4c4c4c2a;
    backdrop-filter: blur(7px);
    width: 30vw;
    margin-left: 5vw;
    padding: 20px;
    text-align: center;
    border-radius: 5px;
    box-shadow: 0px 0px 10px black;
}

input {
    background-color: #76767639;
    border: 0.1px solid rgba(255, 255, 255, 0.193);
    width: 85%;
    height: 30px;
    margin-top: 20px;
    border-radius: 5px;
    padding: 5px 10px;
}

#send {
    margin-left: 100%;
    transform: translate(calc(-100% - 5px));
    width: min-content;
    background-color: rgba(0, 123, 121, 0.364);
    cursor: pointer;
    color:rgba(255, 255, 255, 0.63);
    transition-duration: 0.3s;
}

#send:hover{
    color: black;
    background-color: rgba(0, 240, 236, 0.867);
    box-shadow: 0px 0px 10px cyan;
}

.cubes {
    height: 60vh;
    position: absolute;
    right: -120px;
    margin-top: -180px;
}

.contact {
    width: 40vw;
}

.end-logo {
    position: absolute;
    height: 40px;
    margin-top: 13px;
}

.name {
    display: flex;
}

.design_line {
    height: 1px;
    width: 50vw;
    margin-left: calc(50vw + 15px);
    transform: translate(-50%);
    margin-bottom: 20px;
    margin-top: 50px;
    background-image: linear-gradient(to right,rgba(0, 0, 0, 0),rgb(255, 255, 255),rgba(0, 0, 0, 0));
}

.links {
    font-weight: 100;
    background-color: #121212;
    height: 80px;
    margin-top: 50px;
    text-align: center;
    padding-top: 20px;
}

.links a {
    color: rgba(255, 255, 255, 0.433);
}
.links p {
    color: rgba(255, 255, 255, 0.433);
}
.end_line{
    width: 80vw;
    margin-top: 7px;
    margin-left: 50%;
    transform: translate(-50%);
    height: 0.1px;
    background-color: rgba(255, 255, 255, 0.433);
}
.small{
    display: flex;
    font-size: small;
    justify-content: space-around;
}
.small a{
    margin-top: 10px;
    z-index: 10;
    border-bottom: 0px solid rgba(255, 255, 255, 0);
    transition-duration: 0.3s;
}
.small a:hover{
    border-bottom: 1px solid rgba(255, 255, 255, 0.433);
}
.link_class{
    display: flex;
    flex-direction: column;
    text-align: left;
}

/*===========================RESPONSIVE===================================*/
@media screen and (max-width: 660px) {
    .plane{
        max-width: 600px;
    }
    .right{
        margin-top: 0px;
    }
    #download{
        padding-top: 70px;
        height: fit-content;
        flex-direction: column-reverse;
    }
    #map{
        margin-left: 20px;
        width: calc(100vw - 40px);
        height: 40vh;
        margin-top: 20px;
    }
    .top_dataverse{
        margin-left: 30px;
    }
    .top_dataverse p{
        font-size: xx-large;
    }
    #intro_text{
        font-size: medium;
        width: calc(100vw - 60px);
        margin-left: 30px;
        margin-top: 10px;
        margin-bottom: 20px;
    }
    #download_btn {
        position: absolute;
        left: 50%;
        margin-top: 45vh;
        transform: translate(-50%);
    }
    #about {
        padding-top: 90px;
        margin-top: 0;
        flex-direction: column;
    }

    /*.examples{
        margin-left: 10vw;
        width: 82.5vw
    }
    .examples img{
        height: 30vh;
    }*/

    #finance {
        margin-top: 0;
        flex-direction: column-reverse;
    }

    #develop {
        margin-top: 0;
        flex-direction: column;
    }
    .section{
        width: calc(100% - 80px);
    }
    #examples{
        margin-top: 30px;
    }
    #charts {
        flex-direction: column;
        width: calc(100%);
        margin-bottom: 40px;
    }
    #charts p{
        margin-left: 20px;
        width: calc(100vw - 40px);
    }

    .examples img{
        height: 25vh;
    }

    .preview {
        margin-top: 20px;
        width: 70vw;
    }
    .subheading{
        margin: 0;
        margin-top: 20px;
    }

    .text {
        margin: 0;
        margin-top: 20px;
        width: 100%;
    }

    .cubes {
        width: 70vw;
        height: 70vw;
        left: -60px;
        z-index: -10;
        margin-top: 70px;
    }

    footer {
        margin-top: 50px;
        flex-direction: column;
    }

    form {
        margin-top: 40px;
        width: calc(80vw - 30px);
        margin-left: 0vw;
    }

    .heading {
        font-size: x-large;
        margin: 0;
    }

    .subheading {
        font-size: larger;
    }
    #technologies{
        font-size: large;
        width: calc(75vw - 10px);
    }

    .text {
        font-size: medium;
    }

    .tags {
        margin-left: 0;
        font-size: medium;
        width: 75vw;
    }
    #contribute{
        margin-top: 20px;
        transform: translate(-55%);
    }

    .end-logo {
        height: 30px;
        margin-left: 20px;
    }
}


.scrollBar {
    position: fixed;
    z-index: 90;
    top: 59.8px;
    height: 1.9px;
    box-shadow: 0px 0px 5px goldenrod;
    width: 0vw;
    background: rgb(218, 165, 32);
    transition: width 200ms linear;
  }

.custom-alert {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
}

.custom-alert-content {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70vw;
    max-width: 400px;
    transform: translate(-50%, -50%);
    background-color: rgb(51, 51, 51);
    backdrop-filter: blur(4px);
    padding: 20px;
    border-radius: 4px;
    text-align: center;
    color: white;
}


.row_buttons{
    display: flex;
    justify-content: space-around;
}
.custom-alert button {
    margin-top: 20px;
    background-color: #efefefeb;
    border-radius: 3px;
    border: 1px solid white;
    padding: 5px 20px 5px 20px;
}
#later{
    color: white;
    background-color: #00000000;
}
