/* Main Styles */

html, body {
    min-height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    box-sizing: border-box;
    background: linear-gradient(135deg, #5b2c83, #383a8a, #385988, #535fbd);
    background-size: 600% 600%;
    animation: gradientShift 45s ease infinite;
    overflow-x: hidden;
    flex: 1;
}


    
body {
    background-color:#2b2b2b;
    position:relative;
    overflow-x:hidden;
    min-height: 100vh;
}
    
body::before {
    content:"";
    position:absolute;
    top:0;
    left:-50px;
    width:100vw;
    height:100vh;
    background:linear-gradient(135deg,#ffffff08 25%,transparent 25%) -50px 0,linear-gradient(225deg,#ffffff08 25%,transparent 25%) -50px 0,linear-gradient(315deg,#ffffff08 25%,transparent 25%),linear-gradient(45deg,#ffffff08 25%,transparent 25%);
    background-size:100px 100px;
    z-index:-1;
    opacity:.3
}
    
body::after {
    content:"";
    position:absolute;
    bottom:0;
    right:0;
    width:60vw;
    height:60vh;
    background:#ffffff0d;
    clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);
    z-index:-1
}
    
a {
    text-decoration:none;
    color:inherit
}
    
.tealText {
    color:#50b3f4
}
    
h1,h2,h3,p {
    margin:0
}
    
.hero {
    margin-top: 60px;
    text-align:center;
    padding:0 20px;
    height:50vh;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    animation:flyInDown 1s ease-out
}
    
.hero h1 {
    font-size:4rem;
    font-weight:700;
    color:#fff
}
    
.hero p {
    font-size:1.75rem;
    color:#ccc;
    margin-top:15px
}

/* Background Animation */
    
@keyframes gradientShift {
    0% {
        background-position:0 50%
    }
    
    50% {
        background-position:100% 50%
    }
    
    100% {
        background-position:0 50%
    }
}

/* Top Bar */
    
.top-bar {
    color:#fff;
    display:flex;
    justify-content:space-between;
    padding:15px 20px;
    align-items:center;
    width:100%;
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:10;
    background-color:#000000b3;
    backdrop-filter:blur(10px);
    box-sizing:border-box
}
    
.top-bar .logo a {
    font-family:'Roboto',sans-serif;
    font-weight:700;
    font-size:2.5rem;
    letter-spacing:3px;
    transition:color .3s ease;
    opacity:.8
}
    
.top-bar .logo a:hover {
    color:#50b3f4
}
    
.top-bar .menu {
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    gap:20px;
    font-family:'Roboto',sans-serif
}
    
.top-bar .menu li a {
    color:#fff;
    font-family:'Roboto',sans-serif;
    font-size:1rem;
    transition:color .3s ease
}
    
.top-bar .menu li a:hover {
    color:#50b3f4
}
    
.social-icon:hover {
    transform:scale(1.1);
    filter:brightness(1.2)
}
    
.menu-icon {
    display:none;
    font-size:2rem;
    color:#fff;
    cursor:pointer
}
    
.menu {
    display:none
}
    
#menu-toggle:checked ~ .menu {
    visibility:visible;
    opacity:1;
    max-height:300px
}
    
#menu-toggle {
    display:none
}
    
main {
    flex:1;
    padding:150px 20px 40px;
    background:transparent;
    flex-grow: 1;
}

/* Footer */
    
footer {
<<<<<<< HEAD
    background-color:#000000b3;
    color:#ccc;
    text-align:center;
    padding:20px 0;
    font-size:.9rem;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    bottom: 0;
    margin-top: 50px;
=======
    background-color: #000000b3;
    color: #ccc;
    text-align: center;
    padding: 20px 0;
    font-size: .9rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    bottom: 0;
    margin-top: auto; /* Important to push footer down */
>>>>>>> fd607e787914304fe16f601535d8de44947be52d
}

footer p {
    order: 1; /* Ensure the copyright text comes after the icons */
}

/* Social Links */
    
.social-links {
    display:flex;
    gap:15px;
    margin-bottom:10px;
    justify-content:center; /* Center the social icons */
    order: -1; /* Ensure social media icons are on top */
}
    
.social-icon img {
    width:30px;
    height:30px
}
    
.social-icon:hover {
    transform:scale(1.1);
    filter:brightness(1.2)
}

/* Responsive Styling */

@media (max-width: 769px) {
    .menu {
        flex-direction:column;
        background-color:#000000e6;
        position:absolute;
        top:75px;
        left:0;
        width:100%;
        visibility:hidden;
        opacity:0;
        max-height:0;
        overflow:hidden;
        transition:max-height .3s ease-out,opacity .3s ease-out,visibility .3s ease-out
    }
    
    .menu li {
        padding:15px;
        text-align:center
    }
    
    .menu-icon {
        display:block;
        cursor:pointer;
        font-size:2rem;
        color:#fff
    }
}
    
@media (min-width: 768px) {
    footer {
        flex-direction:column
    }
    
    .social-links {
        position:absolute;
        left:20px;
        bottom:10px;
        margin-bottom:0;
        justify-content:flex-start
    }
}

/* Call to Action */
    
.cta {
    margin-top:75px;
    margin-bottom: 75px;
}
    
.cta-button {
    background-color:#ffffff4d;
    color:#fff;
    padding:15px 30px;
    text-transform:uppercase;
    letter-spacing:1px;
    font-weight:700;
    border-radius:5px;
    border:2px solid #fff6;
    box-shadow:0 4px 10px #0003;
    transition:background-color .3s ease,transform .2s ease,color .3s ease
}
    
.cta-button:hover {
    background-color:#fff9;
    color:#50b3f4;
    transform:translateY(-3px)
}

/* Animations */
    
@keyframes flyInDown {
    0% {
        opacity:0;
        transform:translateY(-1000px)
    }
    
    100% {
        opacity:1;
        transform:translateY(0)
    }
}
    
@keyframes flyIn {
    0% {
        opacity:0;
        transform:translateX(-1000px)
    }
    
    100% {
        opacity:1;
        transform:translateX(0)
    }
}
    
@keyframes flyInRight {
    0% {
        opacity:0;
        transform:translateX(1000px)
    }
    
    100% {
        opacity:1;
        transform:translateX(0)
    }
}

/* Scrollbar Styling */
    
::-webkit-scrollbar {
    width:8px;
    height:8px
}
    
::-webkit-scrollbar-track {
    background:#ffffff1a;
    border-radius:10px
}
    
::-webkit-scrollbar-thumb {
    background-color:#ffffff4d;
    border-radius:10px;
    border:2px solid transparent
}
    
::-webkit-scrollbar-thumb:hover {
    background-color:#ffffff80
}
    
* {
    scrollbar-width:thin;
    scrollbar-color:#ffffff4d #ffffff1a
}