html {
    scroll-behavior: smooth;
}

/* responsive mobile screens */
@media only screen and (max-width: 767px) {
    .hamburger {
        display: block;
        right: 10px;
    }

    header {
        margin-top: 35px;
        margin-right: 1.5%;
        right: 0px;
    }

    header ul {
        opacity: 0;
        display: none;
        transition: opacity 0.2s ease, height 0.1s ease-in-out;
    }

    .intro { 
        height: 20vh !important;
        justify-content: center;
    }

    h4 {
        font-size: 30px;
    }

    h2 {
        font-size: 45px;
    }

    h6 {
        font-size: 14px;
        letter-spacing: 1px;
    }
    .profile{
        margin-top: -60px;
        height: 65vh;
        overflow: auto !important;
    }
    .more-btn{
        display: none;
    }
    .grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
        width: 90% !important;
        text-align: center;
    }

    .grid p {
        font-size: 24px;
    }

    .grid a {
        font-size: 14px;
        height: 15vh;
    }

    form {
        width: 85%;
    }

    .line {
        margin-top: 15%;
    }

    #topBtn {
        bottom: 10px !important;
        right: 15px !important;
    }

    #dark-mode-button {
        transform: rotate(-5deg) !important;
        top: 0.2% !important;
    }

    .copyright {
        flex-direction: column;
    }

    .services {
        width: 98%;
    }

    .content h5 {
        font-size: 18px;
    }

    .content ul {
        font-size: 15px;
    }

    .options button {
        font-size: 10px !important;
    }

    .container {
        width: 95%;
    }

    .intrests {
        margin-top: 150px;
        transform: perspective(100px) rotateX(5deg);
    }

    #topBtn .rotate-icon {
        font-size: 25px !important;
        right: 4px !important;
    }

    .bottom-top-buttons {
        margin-left: 0px;
    }

    .bottom-top-buttons ul {
        flex-direction: row;
        justify-content: space-evenly;
    }

    .bottom-top-buttons ul li {
        padding: 0px 10px 0px 10px
    }

    .actual-content p {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .left-menu {
        position: absolute;
        left: 0;
        width: 0;
        height: 60vh;
        z-index: 99 !important;
        display: flex;
    }

    .left-menu ul {
        width: 0;
        display: none;
    }

    .left-menu ul li button {
        padding-right: 60px;
        letter-spacing: 0;
    }

    .phone-menu-button {
        display: block !important;
        position: relative;
        top: 350px;
        left: 0;
        height: fit-content;
    }

    .phone-menu-button button {
        font-size: 30px;
        padding: 15px 5px;
        border: 0;
        border-top-right-radius: 55%;
        border-bottom-right-radius: 55%;
        cursor: pointer;
        transition: all 0.3s;
    }

    .menu-img {
        width: 30px;
        height: 30px;
    }

    .menu-img img {
        width: 20px;
    }

    .top-menu ul li button {
        flex-direction: column;
        font-size: 12px;
    }

    .bot {
        top: 5px;
        left: 5px;
        width: 40px !important;
        height: 40px !important;
    }
}

/* larger screens */
@media only screen and (min-width: 750px) {
    .intrests div {
        margin-left: 25px;
    }
}

/* tablet screens */
@media screen and (min-width: 768px) and (max-width: 960px) {
    .intro {
        height: 24vh;
        justify-content: center;
    }
    .profile{
        height: 60vh;
    }
    .more-btn{
        display: none;
    }
    h2 {
        font-size: 55px;
    }

    .btns p {
        display: none;
    }
    form {
        width: 60%;
    }

}

.phone-menu-button {
    display: none;
}

/* dark mode btn */
.menu-buttons {
    position: relative;
    right: 2%;
    top: 0.7%;
    z-index: 100;
    cursor: pointer;
    background: transparent;
    border: none;
    height: 0;
    font-size: 25px;
}

/* shake animation for button */
.shake-animation {
    animation: shake 0.2s infinite;
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-2px);
    }

    50% {
        transform: translateX(2px);
    }

    75% {
        transform: translateX(-2px);
    }

    100% {
        transform: translateX(2px);
    }
}

.menu-buttons img {
    width: 25px;
}


/* back to top button */
#topBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 60px;
    z-index: 99;
    border: 0px solid black;
    width: 15px;
    height: 15px;
    cursor: pointer;
    border-radius: 5px;
    padding: 15px;
    transition: box-shadow 0.2s, background-color 0.2s, color 0.2s;
    align-items: center;
    justify-content: center;
}

#topBtn .rotate-icon {
    position: absolute;
    width: 25px;
    height: 30px;
    bottom: 0px;
    right: 2px;
    font-size: 20px;
    margin-right: 2px;
    outline: none;
    border: 0px;
    display: inline-block;
    transform: rotate(-90deg);
    color: black;
    margin: auto;
}