/* Core */
:root {
    --body: rgb(36, 19, 97);
    --text: #fff;
    --header: rgba(48, 37, 97, 0.774);
    --main: rgba(21, 5, 66, 0.842);
    --nav: rgba(35, 16, 88, 0.781);
    --anim: rgb(191, 168, 253);
    --btn: rgb(22, 3, 73);
    --skills: rgba(48, 37, 97, 0.637);
    --form: rgb(11, 1, 58);
}

* {
    font-family: 'Ubuntu', sans-serif;   
}
html {
    scroll-behavior: smooth;
}

/* Start of page styling 
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

body {
    background-color: var(--body);
    color: var(--text);
    overflow-x: hidden;
    background-image: url("/MLSites_Responsive/pictures/backgroundstars1.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

ul {
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
}

a {
    text-decoration: none;
}

#container {
    margin: 0 auto;
    max-width: 100%;
    
}

#mid {
    margin: 0 auto;
    transform: translateY(3%);
    margin-bottom: 5%;
}

/* Navigation 
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

nav {
    background-color: var(--nav);
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    animation: onload 1s ease-in-out;
    transition: all 1s ease-in-out;
}

nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

nav ul a {
    width: 100%;
    padding: 20px;
    transition: all 500ms ease-in-out;
    color: var(--text);
    font-size: 14pt;
}

nav ul a:hover {
    background-color: var(--text);
    color: var(--btn)
}

/* Header 
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

header {
    margin: 0 auto;
    background-color: var(--header);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 50px 25px;
    max-width: 100%;
    border-radius: 12px 12px 0 0;
    gap: 40px;
    font-size: 14pt;
}

header a {
    background-color: var(--text);
    color: var(--btn);
    padding: 5px;
    border-radius: 4px;
    transition: all 500ms ease-in-out;
    animation: imgload3 4s ease-in-out;
    font-size: 12pt;
    cursor: pointer;
}

header a:hover {
    background-color: var(--btn);
    color: var(--text);    
}

header p {
    animation: imgload2 3s ease-in-out;
}

.self {
    border-radius: 8px;
    box-shadow: #02010a96 0px 0px 4px 0px,
    #02010a96 0px 0px 16px 0px;
    animation: imgload 2s ease-in-out;
}

span {
    opacity: 0;
    transition: all 1s ease;
}

span.fade{
    opacity: 1;
}

/* Main 
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

main {
    font-size: 14pt;
    margin: 0 auto;
    background-color: var(--main);
    max-width: 100%;
    padding: 20px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: column;
    gap: 40px;
    text-align: center;
}

main p {
    padding-bottom: 40px;
    border-bottom: 1px solid var(--text);
}

/* Article 
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

article {
    margin: 0 auto;
    background-color: var(--skills);
    max-width: 100%;
    padding: 20px;
    padding-bottom: 60px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    gap: 40px;
}

article ul {
    display: inline-flex;
    gap: 20px;
}

article img {
    border-radius: 50%;
}

article p {
    border-top: 1px solid var(--text);
    padding-top: 40px;
    font-size: 14pt;
}

.html5 {
    box-shadow: #ff4800be 0 0 0 0px;
    animation: htmlpulse 2s ease-in-out;
    animation-iteration-count: infinite;
}

.css3 {
    box-shadow: #618bfdea 0 0 0 0px;
    animation: csspulse 2s ease-in-out;
    animation-iteration-count: infinite;
}

.js {
    box-shadow: #f3db04e1 0 0 0 0px;
    animation: jspulse 2s ease-in-out;
    animation-iteration-count: infinite;
}

/* Footer  
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

#contact {
    background-color: var(--main);
    color: var(--text);
}

footer {
    background-color: var(--nav);
    width: 100%;
    text-align: center;
    margin: 0 auto;
    left: 0;
    bottom: 0;
    position: fixed;
    z-index: 1;
    animation: onloadfooter 1s ease-in-out;
    transition: all 1s ease-in-out;
    font-size: 10pt;
    
}

/* Keyframes  
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

@keyframes onload {
    0% {
        transform: translateY(-100%);
        background-color: var(--anim);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes onloadfooter {
    0% {
        transform: translateX(-100%);
        background-color: var(--anim);

    }

    100% {
        transform: translateX(0);
    }
}

@keyframes imgload {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 0.9;
    }
}
@keyframes imgload2 {
    0% {
        opacity: 0;
        transform: translateX(-150%);
    }
    100% {
        opacity: 0.9;
    }
}
@keyframes imgload3 {
    0% {
        opacity: 0;
        transform: translateX(-150%);
    }
    100% {
        opacity: 0.9;
    }
}

@keyframes htmlpulse {
    0% {
        box-shadow: #ff4800be 0 0 0 0px;    
    }

    50% {
        box-shadow: #ff4800be 0 0 0 4px;    
    }

    100% {
        box-shadow: #ff4800be 0 0 0 0px;
    }
}

@keyframes csspulse {
    0% {
        box-shadow: #618bfdea 0 0 0 0px;    
    }

    50% {
        box-shadow: #618bfdea 0 0 0 4px;   
    }

    100% {
        box-shadow: #618bfdea 0 0 0 0px;
    }
}

@keyframes jspulse {
    0% {
        box-shadow: #f3db04e1 0 0 0 0px;    
    }

    50% {
        box-shadow: #f3db04e1 0 0 0 4px;   
    }

    100% {
        box-shadow: #f3db04e1 0 0 0 0px;
    }
}

/* Medies Queries  
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*****************************************************************
*/

@media only screen and (max-width: 480px){

    main {
        font-size: 12pt;
    }

    header {
        font-size: 12pt;
        gap: 30px;
        padding: 20px;
    }

    nav ul a {
        font-size: 11pt;
    }

    #mid {
        margin-bottom: 10%;
    }

    header h1 {
        font-size: 18pt;
    }

    header img {
        width: 80%;
        height: 95%;
    }

    #form {
        width: 90%;
    }
}

@media only screen and (max-width: 380px){

    nav ul a{
        font-size: 9pt;
    }

    header h1 {
        font-size: 16pt;
    }

    header img {
        width: 75%;
        height: 95%;
    }

    header h2 {
        font-size: 16pt;
    }
}