body {
    font-family: 'Noto Serif', serif;
    margin: 0px;
    padding: 0px ;
    min-height: 100vh;
}

/* Preloader */

#preloader {
    background: black url(image/gif_0.gif) no-repeat center center;
    background-size: 40%;
    height: 100vh;
    width: 100%;
    position: fixed;
    z-index: 100;
}

/* Main */

main {
    margin: 0px;
}

a {
    text-decoration: none;
    color: black;
}

a:hover {
    text-decoration: underline;
}

h1 {
    font-family: 'Noto Serif', serif;

    margin: 4px;
    padding: 4px;
    border-radius: 10px;
    font-size: 50px;
}

p {
    line-height: 1.5;
    margin: 4px;
    padding: 4px;
}

/* All on banners */

#banner {
    height: 100vh;
    display: flex;
    align-items:center;
    justify-content:center;
    flex-direction: column;
    background: black url(image/image_1.jpg);
    background-size: cover;
    background-attachment:fixed ;
    background-position: center;
    color: white;
}

#banner h1 {
    animation: heading-load 300ms ease-in;
    animation-delay: 300ms;
    animation-direction: alternate;
}

@keyframes heading-load {
    0% {
        transform: translateY(-20px);
        opacity: 0;
    }

    100% {
        transform: translateY(0px);
        opacity: 1;
    }
}

#banner h3 {
    background: black;
    border-radius: 8px;
    margin: 10px;
    padding: 4px;
    font-size: 20px;
    animation: heading-load 300ms ease-in;
    animation-delay: 350ms;
    animation-direction: alternate;
}

/* Search box */

#searchbox {
    position: fixed;
    right: 0;
    top: 0px;
    width: 350px;
    pointer-events: none;
    z-index: 50;
    transition: 0.4s;
    color: white;
    animation: nav-load 500ms;
}

#searchbox i {
    margin-left: 10px;
}

#searchbox button {
    background: transparent;
    font-size: 1.1em;
    padding: 0px;
    border: none;
    color: black;
}

#searchbox button:hover {
    background: transparent;
    font-size: 1.1em;
    padding: 1px;
    border: none;
    color: rgb(177, 0, 247);
}

.homepage #searchbox button {
    color: white;
}

.homepage #searchbox button:hover {
    color: black;
}

.homepage #searchbox input, textarea {
    background: white;
    height: 30px;
    padding: 0 16px;
    color: black;
}

.homepage #searchbox input::placeholder {
    color: black;
    opacity: 0.7;
}

#searchbox input {
    height: 24px;
    width: 70%;
    padding: 4px;
    margin: 10px auto;
    text-align: left;
    padding-inline-start: 15px;
    padding-block: 18px;
    border-radius: 10px;
}

input,
textarea {
    background: black;
    color: white;
    height: 30px;
    padding: 0 16px;
    font-family: 'Noto Serif', serif;
    font-size: 16px;
    border: none;
    box-shadow: inset 4px 2px 10px -4px rgb(177, 0, 247);
}

input:focus,
textarea:focus {
    outline: none;
}

/* Search icon */

#search-icon {
    color: white;
    padding: 0 32px;
    cursor: pointer;
    transition: 0.4s;
    animation-name: nav-link-load;
    animation-duration: 300ms;
    animation-timing-function: ease-in;
    animation-delay: 200ms;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    transform: scale(0);
}

#search-icon:hover {
    color:rgb(177, 0, 247);
}

/* Navigation */
nav {
    height: 72px;
    width: 100%;
    margin: 0;
    position: fixed;
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    display: flex;
    justify-content: space-between;
    padding: 0 16px 0 0;
    box-sizing: border-box;
    z-index: 100;
    background: black;
    overflow-y: hidden;
    animation: nav-load 500ms;
}

@keyframes nav-load {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0);
    }
}

nav a {
    padding: 0 32px;
    color: white;
    transition: 0.4s;
}

nav a:hover {
    text-decoration: solid black;
    color: grey;

}

nav ul {
    display: flex;
    list-style: none;
    justify-content: space-around;
    align-items: center;
    height: 100%;
    margin: 0;
}

nav li {
    animation-name: nav-link-load;
    animation-duration: 300ms;
    animation-timing-function: ease-in;
    animation-delay: 300ms;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    transform: scale(0);
}

@keyframes nav-link-load{
    0% {
        transform: scale(0);
    }

    90% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

.active {
    color: cyan;
    text-decoration: solid cyan;
}

/* Logo */

#logo img {
    height: 80px;
    padding: 2px;
    align-items: center;
    transition: 0.4s;
    opacity: 0.9;
    animation-name: nav-link-load;
    animation-duration: 300ms;
    animation-timing-function: ease-in;
    animation-delay: 200ms;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    transform: scale(0);
}

#logo img img {
    height: 100px;
}

#logo img:hover {
    opacity: 1;
}

/* Menu icon */

#menu-icon {
    height: 100%;
    font-size: 20px;
    padding: 0;
    color: white;
    display: none;
    align-items: center;
}

#menu-icon:hover {
    color: gray;
}

/* Slideout-menu */

#slideout-menu {
    margin: 0;
    align-items: center;
    background: rgb(0, 0, 0);
    z-index: 100;
    position: fixed;
    transition: 0.4s;
    margin-top: 70px;
    width: 100%;
    text-align: center;
    opacity: 0;
    pointer-events: none;
}

#slideout-menu ul {
    list-style: none;
    padding: 0 60px;
}

#slideout-menu ul li {
    padding: 8px;
}

#slideout-menu a {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    color: white;
}

#slideout-menu a:hover {
    color: grey;
    transition: 0.4s;
    text-decoration: none;
}

#slideout-menu input {
    width: 50%;
    padding: 2px;
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    text-align: left;
    padding-inline-start: 15px;
    padding-block:18px;
    margin-left: 50px;
    border-radius: 10px;
    background: white;
    color: black;
}

#slideout-menu input::placeholder {
    color: black;
    opacity: 0.7;
}

#slideout-menu i {
    color: white;
    margin-left: 10px;
}

#slideout-menu ul li button {
    padding: 0px;
    border: none;
    color: red;
    font-size: 1.1em;
    background: transparent;
}

#slideout-menu ul li button i {
    padding: 10px;
    border: none;
    color: white;
    font-size: 1.1em;
    background: transparent;
}

#slideout-menu button i:hover {
    padding: 10px;
    border: none;
    color: rgb(177, 0, 247);
    font-size: 1.1em;
    background: transparent;
}

::placeholder {
    color: white;
    opacity: 0.7;
}

/* Section */

section {
    display: flex;
    justify-content: space-around;
}

.section-heading {
    font-size: 26px;
    font-family: 'Noto Serif', serif;
    border-left: 3px solid black;
    border-right: 3px solid black;
    transition: all 0.4s;
    display: inline-block;
    padding: 4px 20px;
    margin-left: 70px;
}

.section-heading:hover {
    padding: 4px 48px;
    background-color: black;
    color: white;
}

/*Cards*/

#card {
    padding: 10px;
    margin: 10px;
}

.card-image {
    transition: 0.4s;
    width: 90%;
    margin: auto;
    border-radius: 20px;
}

.card-image img {
    border-radius: 20px;
}

.card-image:hover {
    box-shadow: 0 10px 6px -6px gray;
}

.card .card-description {
    padding: 0 8px;
}

.card-description {
    text-align: center;
    width: 80%;
    margin: auto;
}

.card-meta-blogpost {
    padding: 10px;
    color: gray;
    font-family: 'Noto Serif', serif;
    font-size: 16px;

}

.card-meta-blogpost a {
    color: brown;
}

/* Read more button */

.btn-readmore {
    padding: 8px 24px;
    border: 3px dashed black;
    transition: 0.4s;
    display: inline-block;
    margin-bottom: 24px;
    margin-left: 24px;
    font-weight: bold;
    cursor: pointer;
    background: white;
    margin: 10px auto;
}

.btn-readmore:hover {
    background-color: black;
    text-decoration: none;
    padding: 8px 64px;
    border: 3px solid white;
    color: white;
}

/* footer */

footer {
    background-color: black;
    padding: 8px;
    color: white;
    display: flex;
    margin: 0px;
}

footer a {
    color: white;
}

footer #left-footer {
    flex: 1;
    border-right: 1px solid white;
    padding-left: 30px;
}

footer #left-footer ul {
    padding: 0;
    list-style: none;
    line-height: 2;
    font-size: 18px;
}

footer #right-footer {
    flex: 2;
    padding: 8px;
    text-align: center;
}

/* Social Media */

footer #social-media-footer a .fa-facebook,
footer #social-media-footer a .fa-instagram,
footer #social-media-footer a .fa-linkedin,
footer #social-media-footer a .fa-twitter,
footer #social-media-footer a .fa-github,
footer #social-media-footer a .fa-youtube {
    color: white;
    transition: 0.4s;
}

footer #social-media-footer ul {
    display: flex;
    list-style: none;
    justify-content: center;
    padding: 0;
}

footer #social-media-footer ul li {
    font-size: 40px;
    padding: 16px;
    transition: 0.4s;
}

footer #social-media-footer ul li:hover a .fa-facebook {
    color: rgb(32, 101, 228);
}

footer #social-media-footer ul li:hover a .fa-instagram {
    color: rgb(129, 21, 129);
}

footer #social-media-footer ul li:hover a .fa-linkedin {
    color: rgb(32, 117, 228);
}

footer #social-media-footer ul li:hover a .fa-twitter {
    color: rgb(0, 111, 238);
}

footer #social-media-footer ul li:hover a .fa-github {
    color: grey;
}

footer #social-media-footer ul li:hover a .fa-youtube {
    color: red;
}

.copyright p .fa {
    color: aqua;
    cursor: text;
}

/*Blog page*/

.page-heading {
    font-size: 30px;
    font-family: 'Noto Serif', serif;
    border-left: 3px solid black;
    border-right: 3px solid black;
    transition: all 0.4s;
    display: inline-block;
    padding: 4px 30px;
    margin-top: 120px;
    margin-left: 70px;
}

.page-heading:hover {
    padding: 4px 40px;
    background-color: black;
    color: white;
}

.contact-page-heading {
    margin-left: 60px;
}

/*Card Meta*/

.card-meta {
    color: gray;
    font-size: 14px;
    padding-left: 8px;
    font-family: 'Noto Serif', serif;
}

.card-meta a {
    color: red ;
}

/*Pagination*/

.pagination {
    padding: 8px;
    text-align: center;
    font-weight: bold;
}

.pagination a {
    border-top:  3px solid white;
    display: inline-block;
    padding: 8px 16px;
    transition: 0.4s;
}

.pagination a:hover {
    text-decoration: none;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

/*Blog Post*/

#post-container {
    display: flex;
}

#blogpost {
    display: flex;
    flex-direction: column;
    width: 70%;
}

#blogpost-card {
    width: 100%;
}

#blogpost .card-image:hover {
    box-shadow: none;
}

/*About Me*/

#about-me {
    display: flex;
    flex-direction: column;
    width: 70%;
    text-align: center;
}

#about-me h3 {
    text-decoration: underline 1px solid black;
}

#about-me ul {
    padding: 0;
    line-height: 2;
    text-align: center ; 
    display: table;
    margin: 0 auto;
}

#about-me ul li {
    text-align: left;
}

.portfolio-image {
    transition: 0.4s;
    width: 100%;
    background-image: radial-gradient(closest-side, transparent, transparent 80%, white);
    padding: 0px;
    margin: 20px;
    width: auto;
}

.portfolio-image img{
    border-radius: 50%;
}

/*Sidebar*/

#sidebar {
    background: black;
    flex: 1;
    margin-right: 10px;
    margin-bottom: 8px;
    color: white;
    box-shadow: inset 27px 0 51px -18px rgba (0,0,0,0.75);
    padding: 4px;
    
}

#sidebar h3 {
    text-align: center;
    border: 4px solid black;
    padding: 4px;
    margin: 0 auto;
    align-items: center;
    text-align: center;
    padding: 10px;
    background: white;
    color: black;
}

.categories h4{
    text-align: center;
    padding: 2px;
    font-family: 'Noto Serif', serif;
    color: white;
    border-left: 3px solid white;
    border-right: 3px solid white;
    transition: all 0.4s;
    display: inline-block;
    padding: 4px 10px;
    margin: 10px auto;
    margin-bottom: 10px;
    width: 30%;
}

.categories h4:hover{
    padding: 4px 20px;
    background: white;
    color: black;
}

.categories ul {
    list-style: none;
    padding-left: 10px;
    font-size: 20px;
}

.categories ul li {
    padding: 4px;
}

/* category nav */

.categories{
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    min-height: 100vh;
    background-size: cover;
    z-index: 100;
    transition: all 0.5s ease;
    color: black;
}

.categories.close{
    width: 78px;
}

.categories .nav-links{
    height: 100%;
    width: 80%;
    align-items: center;
    margin: 0 auto;
    padding: 0;
    overflow: auto;
}

.categories.close .nav-links{
    overflow: visible;
}

.categories .nav-links::-webkit-scrollbar{
    display: none;
}

.categories .nav-links li{
    position: relative;
    list-style: none;
    transition: all 0.4s ease;
}

.categories .nav-links li:hover{
    background: black;
}

.categories .nav-links li .icon-link{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.categories.close .nav-links li .icon-link{
    display: block
}

.categories .nav-links li i{
    height: 50px;
    min-width: 78px;
    text-align: center;
    line-height: 50px;
    color: white;
    font-size: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.categories .nav-links li.showMenu i.arrow{
    transform: rotate(-180deg);
}

.categories.close .nav-links i.arrow{
    display: none;
}

.categories .nav-links li a{
    display: flex;
    align-items: center;
    text-decoration: none;
}

.categories .nav-links li a .link_name{
    font-size: 18px;
    font-weight: 400;
    color: white;
    transition: all 0.4s ease;
}

.categories.close .nav-links li a .link_name{
    opacity: 0;
    pointer-events: none;
}

.categories .nav-links li .sub-menu{
    padding: 6px 6px 14px 80px;
    margin-top: -10px;
    background: black;
    display: none;
}

.categories .nav-links li.showMenu .sub-menu{
    display: block;
}

.categories .nav-links li .sub-menu a{
    color: white;
    font-size: 15px;
    padding: 5px 0;
    white-space: nowrap;
    opacity: 0.6;
    transition: all 0.3s ease;
} 

.categories .nav-links li .sub-menu a:hover{
    opacity: 1;
}

.categories.close .nav-links li .sub-menu{
    position: absolute;
    left: 100%;
    top: -10px;
    margin-top: 0;
    padding: 10px 20px;
    border-radius: 0 6px 6px 0;
    opacity: 0;
    display: block;
    pointer-events: none;
    transition: 0s;
}

.categories.close .nav-links li:hover .sub-menu{
    top: 0;
    opacity: 1;
    pointer-events: auto;
    transition: all 0.4s ease;
}

.categories .nav-links li .sub-menu .link_name{
    display: none;
}

.categories.close .nav-links li .sub-menu .link_name{
    font-size: 18px;
    opacity: 1;
    display: block;
}

.categories .nav-links li .sub-menu.blank{
    opacity: 1;
    pointer-events: auto;
    padding: 3px 20px 6px 16px;
    opacity: 0;
    pointer-events: none;
}

.categories .nav-links li:hover .sub-menu.blank{
    top: 50%;
    transform: translateY(-50%);
}

/*Comments Section*/

#comments-section {
    border-top: 2px solid white;
    padding: 8px;
}

/* Contact Page */

.contact-head {
    margin: 4px;
    text-align: center;
}

.contact-wrap {
    width: 80%;
    margin: 10px auto;
    background: black;
    padding: 10px;
    color: white;
    text-align: center;
}

.contact-box {
    background: white;
    display: flex;
    color: black;
}

.contact-box #contact-left {
    flex: 1.9;
    text-align: center;
    align-items: center;
    padding: 10px;
    border-right: 1px solid black;
}

.contact-box #contact-right {
    flex: 1.1;
    text-align: center;
    background: gray;
    color: black;
}

.contact-box #contact-left h3{
    border: 1px solid black;
    align-items: center;
    text-align: center;
    padding: 10px;
    width: 30%;
    margin: 10px auto;
    background: black;
    color: white;
    border-radius: 50px;
}

.contact-box #contact-right h3{
    border: 1px solid black;
    align-items: center;
    text-align: center;
    padding: 10px;
    width: 30%;
    margin: 10px auto;
    background: black;
    color: white;
    border-radius: 50px;
}

.input-row {
    display: flex;
    justify-content: space-around;
    margin-bottom: 20px;
}

.input-group input{
    height: 30px;
    font-family: 'Noto Serif', serif;
    font-size: 16px;
    border: none;
    width: 80%;
    box-shadow: none;
    border-bottom: 1px solid gray;
    text-align: center;
    background: white;
    color: black;
}

.input-group input::placeholder {
    color: black;
    opacity: 0.7;
}

.input-row textarea::placeholder {
    color: black;
    opacity: 0.7;
}

.input-row textarea {
    border: 1px solid gray;
    border-bottom: 1px solid gray;
    height: auto;
    width: 100%;
    margin: 8px;
    box-shadow: none;
    box-sizing: border-box;
    padding-block: 4px;
    background: white;
    color: black;
}

label {
    margin-bottom: 6px;
    display: block;
    color: rgb(14, 25, 126);
    padding: 10px;
}

.info {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    text-align: center;
    padding: 10px;
}

.info label {
    color: black;
}

.info h4 {
    color: black;
    text-decoration: underline ;
}

.info #info_1 {
    text-align: center;
    padding: 4px;
    display: flex;
    flex-direction: column;
}

.info #info_2 {
    text-align: center;
    padding: 4px;
    display: flex;
    flex-direction: column;
}

.info #info_3 {
    text-align: center;
    padding: 4px;
    display: flex;
    flex-direction: column;
}

button {
    font-family: 'Noto serif', serif;
    border-left: 2px solid black;
    border-right: 2px solid black;
    transition: all 0.4s;
    display: inline-block;
    padding: 4px 30px;
    border-top: none;
    background: none;
    font-weight: bold;
}

button:hover {
    padding: 4px 40px;
    background-color: black;
    color: white;
}

/* Media Queries */

/* above 1200px*/

@media (min-width: 1200px) {
    main {
        width: 85%;
        margin: auto;
    }
}

/*900px and below*/

@media (max-width: 900px) {
    #slideout-menu {
        display: block;
    }

    #blogpost {
        width: 100%;
        border-left: 0;
    }

    #sidebar {
        display: none;
    }

    #about-me {
        width: 100%;
    } 
}

/* above 720px*/

@media (min-width: 720px) {
    main {
        width: 100%;
        margin: auto;
    }

    #slideout-menu {
        display: none;
    }

    nav ul{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    nav ul li {
        width: 10%;
    }

    #card {
        width: 45%;
    }

    .card-image img {
        width: 95%;
    }

    footer {
        margin-right: 10px;
        margin-left: 10px;
        margin-bottom: 10px;
    }

    footer #left-footer ul {
        margin-left: 35%;
    }
}

/*  below 720px */

@media (max-width: 720px) {
    nav ul {
        display: none;
    }

    #menu-icon {
        display: flex;
    }

    #slideout-menu {
        display: block
    }

    #searchbox {
        display: none;
    }

    /* Width when screen width is below 720px */

    main {
        width: 100%;
    }

    #card {
        padding: 0px;
        margin: 0px;
    }

    p {
        margin: 4px;
        padding: 4px;
    }

    h3 {
        margin: 6px;
    }

    .card {
        width: 100%;
    }
    
    section {
        flex-direction: column;
    }

    .card-image img {
        width: 100%;
    }

    .contact-box {
        flex-direction: column;
    }
    
    .contact-box #contact-left {
        flex: 1;
        border-right: 0;
    }

    .input-row {
        flex-direction: column;
    }

    .input-group {
        display: flex;
        flex-direction: column;
        padding: 6px;
        align-items: center;
    }
    
    .contact-box #contact-right {
        flex: 2;
        text-align: center;
    }

    .input-row textarea {
        border: 1px solid gray;
        border-bottom: 1px solid gray;
        height: auto;
        width: 100%;
        margin: 0px;
        box-shadow: none;
        box-sizing: border-box;
        align-items: center;
        text-align: center;
    }

    footer {
        flex-direction: column;
        text-align: center;
    }
    
    footer #left-footer {
        flex: 1;
        border-right: 0;
        padding-left: 0;
    }
    
    footer #right-footer {
        background: white;
        color: black;
    }
    
    footer #right-footer a {
        color: black;
    }
    
    footer #social-media-footer a .fa-facebook,
    footer #social-media-footer a .fa-instagram,
    footer #social-media-footer a .fa-linkedin,
    footer #social-media-footer a .fa-twitter,
    footer #social-media-footer a .fa-github,
    footer #social-media-footer a .fa-youtube {
        color: black;
        transition: 0.4s;
    }
}

/*  below 600px */

@media (max-width: 600px) {
    main {
        width: 100%;
        padding: 0;
        margin: 0;
        overflow-x: hidden;

    }

    body {
        width: 100%;
        height: 100%;
        margin: 0px;
        padding: 0px;
        overflow-x: hidden; 
    }

    nav {
        width: 100%;
        overflow-x: hidden;
    }

    h1 {
        font-size: 40px;
    }

    #banner h3 {
        font-size: 18px;
    }

    #card {
        text-align: center;
    }

    .section-heading {
        margin-left: 30px;
    }

    .page-heading {
        margin-left: 30px;
    }

    .contact-page-heading {
        margin-left: 0px;
    }

    .card-description {
        width: 90%;
    }

    #logo img {
        padding: 0;
    }

    footer #social-media-footer ul li{
        font-size: 25px;
        padding: 10px;
        padding-bottom: 0;
    }

    footer #left-footer ul {
        font-size: 16px;
    }

    .copyright {
        font-size: 16px;
    }

    .copyright p .fa {
        color: purple;
    }
}


/* contact hovers */


.contact-head {
    width: 81%;
    margin: auto;
    color: white;
}

.contact-head h3 {
    padding: 15px 30px;
    position: relative;
    transition: 0.5s;
    margin: auto;
}

.contact-head h3:hover {
    letter-spacing: 3px;
    background: var(--clr);
    color: var(--clr);
    box-shadow: 0 0 40px var(--clr);
}

.contact-head h3::before {
    content: "";
    position: absolute;
    inset: 2px;
    background: black;
}

.contact-head h3 span {
    position: relative;
    z-index: 1;
}

.contact-head h3 i {
    position: absolute;
    inset: 0;
    display: block;
}

.contact-head h3 i::before {
    content: '';
    position: absolute;
    border: 2px solid var(--clr);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    left: 80%;
    top: -6px;
    background: black;
    transform: translateX(-50%);
    transition: 0.5s;
}

.contact-head h3:hover i::before {
    width: 15px;
    height: 15px;
    top: -9px;
    left: 20%;
}

.contact-head h3 i::after {
    content: '';
    position: absolute;
    border: 2px solid var(--clr);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    left: 20%;
    bottom: -6px;
    background: #000000;
    transform: translateX(-50%);
    transition: 0.5s;
}

.contact-head h3:hover i::after {
    width: 15px;
    height: 15px;
    bottom: -9px;
    left: 80%;
}