@import url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
/* @import url('zihdehrro'); 
@import url('merlang');*/
@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900&display=swap');

@font-face{
  font-family: "Lobster";
  src: url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');
}
@font-face{
  font-family: "Gloria Hallelujah";
  src: url('https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap');
}
@font-face{
  font-family: "Montserrat";
  src: url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
}
/* @font-face{
  font-family: "Zih";
  src: url('');
}
@font-face{
  font-family: "Merlang";
  src: url('');
} */
@font-face{
  font-family: "Inconsolata";
  src: url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900&display=swap');
}

/* base */
:root {
    /*grayscale*/
    --base-b: #080e0c;
    --base-d: #4a4c4e;
    --base-l: #b3b0bb;
    --base-w: #f4eeff;

    /*sea green/olo*/
    --olo-l: #1affb3;
    --olo-m: #1db180;
    --olo-d: #12694c;
    --olo-b: #003322;

    /*red*/
    --red-w: #ffbfd4;
    --red-l: #ff6599;
    --red-m: #f71d66;
    --red-d: #721232;
    --red-b: #330011;

    /*purple*/
    --pur-l: #d4beff;
    --pur-m: #7a64a6;
    --pur-d: #280077;
    --pur-b: #110033;}
*{
    margin: 0;
    padding: 0;
}
img {
    width: 200px;
    height: auto;
    overflow: hidden;
}
body {
    margin: 0;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-weight: 500;
    justify-content: center;
}

/* fonts styles */
.fancy {
    font-family: "Lobster", "Brush Script MT", "Lucida Handwriting";
    font-weight: 300;
    /* font-size: 30px */
}
.hand {
    font-family: "Gloria Hallelujah", "Lucida Handwriting", Papyrus;
    font-weight: 300;
}
.tech {
    font-family: Incon, "Courier New";
}

/* backgrounds */
#body-background {
    position: fixed;
    inset: 0;
    background: var(--base-b); 
    z-index: -3;
}
#background {
    position: fixed;
    height: 100vh;
    width: 80vw;
    overflow: hidden;
    z-index: -2;
}
.background-img {
    position: fixed;
    object-fit: cover;
    min-width: 90%;
    min-height: 100%; 
    z-index: -2;
}
.background-gradient {
    position: fixed;
    min-width: 90%;
    min-height: 100%;
    background-image: linear-gradient(to bottom, var(--base-b), rgba(0, 0, 0, 0), var(--base-b));
    z-index: -1;
}
#wrapper {
    /* background: var(--base-d); */
    border: 3px var(--base-l) solid;
    width: 90%;
    margin-top: 10px;
    margin-bottom: 20px;
    margin-inline: auto;
    box-shadow: 10px 10px 0px var(--olo-d);
    border-radius: 20px;
    overflow: hidden;
}

/* header stuff */
header {
    height: 200px;
    background: var(--base-b);
    display: grid;
    grid-template-columns: 1fr 5fr;
    border-radius: 20px 20px 0 0;
}
#logo {
    float: left;
    border-radius: 50%;
    border: 5px var(--olo-l) solid;
    margin: 20px;
    width: 150px;
}
#title {
    font-family: "Montserrat";
    font-size: 2.5em;
    align-self: center;
    justify-self: center;
    color: var(--base-w);
    padding: 15px
}

/* navigation */
nav {
    background: var(--base-w);
    text-decoration: none;
    font-family: "Montserrat";
    font-weight: 500;
}
nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    list-style-type: none;
    margin: 0px auto;
}
nav a{
    padding: 15px;
    font-family: "Montserrat";
    font-weight: 500;
    display: block;
    text-decoration: none;
    color: var(--base-b);
}
nav a:hover {
    background: var(--base-b);
    color: var(--olo-l);
    font-family: "Montserrat";
    font-weight: 500;
    transition: background-color 0.2s;
}

/* hero */
#hero {
    width: 100%;
}
#hero-header {
    color: var(--base-w);
    text-align: center;
    text-shadow: 0 0 15px var(--olo-l);
    padding: 5px;
    margin-top: 10px;
    font-size: 4em;
    line-height: 1.2;
}
#hero-message {
    color: var(--base-w);
    text-align: center;
    padding: 10px 40px;
    margin: 0px 0px 0px 0px;
    font-size: 1.3em;
    text-shadow: 0 0 5px var(--red-b);
    background: rgba(0, 0, 0, .4);
    font-family: "Gloria Hallelujah", Montserrat;
    line-height: 1.4;
}

/* cards */
#cards {
    margin: 20px;
    overflow:hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
}
section { 
    margin: 10px;
    margin-bottom: 30px;
    box-sizing: border-box;
    justify-items: center;
    break-inside: avoid;

    border: var(--olo-l), 3px, solid;
    border-radius: 15px;
    padding: 0px;
    
    align-content: center;
    overflow: hidden;
    background-image: linear-gradient(to bottom, var(--olo-m), var(--base-b));
}
.card-img {
    width: 100%;
    height: auto;
}
.card-title {
    color: var(--base-w);
    font-family: "Montserrat", Arial;
    font-weight: 500;
}
.card-desc {
    color: var(--base-l);
    padding-bottom: 10px;
    text-align: center;
}

/* hyper fixations */
#hyper {
    clear: both;
    width: 100%;
    display: grid;
    grid-template-columns: 10px 5fr 2fr 4fr 10px;
    grid-template-rows: 10px 1fr 1fr 2fr 1fr 10px;
}
.hyper-img {
    border-radius: 15px;
    width:100%;
    margin: 10px;
    grid-column: 2/4;
    grid-row: 2/6;
    box-shadow: 5px 5px 15px var(--red-b);
    border: solid 1px var(--red-m);
}
.hyper-header {
    color: var(--base-w);
    text-shadow: 0 0 10px var(--red-m);
    font-size: 2.5em;
    text-align: right;
    padding: 10px;
    grid-column: 3/5;
    grid-row: 3/4;
}
.hyper-message {
    /* background: var(--red-w); */
    background-image: linear-gradient(to right, var(--red-w), var(--red-l));
    color: var(--red-d);
    padding: 10px 30px;
    text-align: center;
    align-content: center;
    font-size: 1.2em;
    grid-column: 3/5;
    grid-row: 4/5;
    margin: 10px;
    border-radius: 10px;
    box-shadow: -3px 3px 10px var(--red-b);
    font-family: "Montserrat", Arial;
    font-weight: 500;
}
.hyper-message a {
    color: var(--red-d);
}

/* footer */
footer{
    text-align: left;
    clear: both;
    padding:0;
    color: white;
    padding: 20px;
    background: rgba(17,0,51, .5);
    /* overflow: hidden; */
}

/* socials */
table.table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  margin-inline: auto;
  margin: 10px

}
.table th a{
  text-decoration: none;
  color: var(--pur-l);
}
table.table td, table.table th {
  padding: 3px 3px;
}
table.table thead th {
  font-weight: normal;
  text-align: center;
}
.icon {
    border-radius: 50%;
    width: 30px;
    height: auto;
}

/* contacts  */
#contact-me {
    margin-top: 3px;
    text-align: center;
}
.contact-msg {
    padding: 5px;
    font-size: 1em;
    text-align: center;
}
#contact form {
    display:grid;
    grid-template-columns: 1fr 6fr;
    grid-gap: 5px;
}
#contact{
    text-align: right;
    margin: 10px;
    border: 3px var(--pur-l) solid;
    border-radius: 15px;
    padding: 15px;
    background: var(--base-b);
    color: var(--pur-l);
    font-size: 1em;
}
.stretch {
    grid-column: 1/3;
}
#name{
    background: var(--pur-l);
    border: solid;
    border-radius: 5px;
}
#email{
    background: var(--pur-l);
    border: solid;
    border-radius: 5px;
}
#message {
    background: var(--pur-l);
    border: solid;
    border-radius: 5px;
}
.submit {
    background-color: var(--pur-l);
    color: var(--pur-d);
    width: 70px;
    border: none;
    border-radius: 10px;
    padding: 5px;
    grid-column: 2/3;
}

@media (max-width: 760px) {
    #title {
    font-size: 2em;
    align-self: center;
    justify-self: center;
    color: var(--base-w);
    padding: 10px
    }
    #cards {
    margin: 10px;
    overflow:hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: .5rem;
    }
    
    #hyper {
    width: 100%;
    display: block;
    margin: 10px;
    margin-inline: auto;

    }
    .hyper-img {
        width:95%;
    }
    .hyper-header {
        text-align: center;
    }
    .hyper-message {
        text-align: center;
        align-content: center;
    }


}