/* apply to everything */
* {
    font-family: "Libre Franklin", sans-serif;
}

/* FONTS */

/* overall font */
@font-face {
    font-family: "Libre Franklin";
    src: url("https://fonts.googleapis.com/css?family=Libre+Franklin");
}

/* title font */
@font-face {
    font-family: "Outfit";
    src: url("https://fonts.googleapis.com/css?family=Lobster");
}

/* handwriting font for "Rachael Lang" */
@font-face {
    font-family: "Shantell Sans";
    src: url("https://fonts.googleapis.com/css?family=Shantell+Sans");
}

/* font for "404" */
@font-face {
    font-family: "Pacifico";
    src: url("https://fonts.googleapis.com/css?family=Pacifico");
}

/* END FONTS */

/* GENERAL */
body {
    background-color: #f2f2f2;
}

h1 {
    font-size: 36px;
    font-family: "Outfit";
    font-weight: bold;
    line-height: 1;
    color: #09a6a6;
    margin-bottom: 20px;
}

h2 {
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5;
}

h3 {
    font-size: 24px;
}

p {
    font-size: 18px;
    line-height: 1.75;
}

/* change links to mint green */
a {
    color: #09a6a6;
}

/* container used by all pages */
.page-container {
    min-height: 100vh;
    padding: 60px;
    /* workaround for when header covers content */
    margin-top: 80px;
}

/* built-in bootstrap button styling, copied from documentation */
/* change from blue to mint-ish green */
.btn-primary {
    color: #ffffff;
    background-color: mediumaquamarine;
    border-color: #5ac497;
}

.btn-primary:hover {
    color: #ffffff;
    background-color: #49a37e;
    border-color: #3e8c6c;
}

.btn-primary:focus,
.btn-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(102, 221, 170, 0.5);
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: #ffffff;
    background-color: mediumaquamarine;
    border-color: mediumaquamarine;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
    color: #ffffff;
    background-color: #3e8c6c;
    border-color: #3e8c6c;
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(102, 221, 170, 0.5);
}

/* end bootstrap */
/* END GENERAL */

/* HOME PAGE */

/* for mobile view */
@media (max-width: 768px) {
    .content-container {
        flex-direction: column;
    }
}

/* mobile: hide profile image */
@media (max-width: 768px) {
    .main-img {
        display: none;
    }
}

@media (max-width: 768px) {
    .name {
        font-size: 40px;
    }
}

/* the "Rachael Lang" text */
.name {
    font-size: 60px;
    font-family: "Shantell Sans";
    line-height: 1;
}

.main-img {
    border-radius: 50%;
    filter: drop-shadow(10px 10px 10px grey);
}

.text-container {
    text-align: center;
    padding: 40px;
    margin: 40px;
    /* border-style: solid; */
    /* for troubleshooting */
}

/* side-by-side arrangement of elements */
.content-container {
    margin-top: 80px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* border-style: solid; */
    /* for troubleshooting */
}

.image {
    width: 50px;
    height: 50px;
    margin-right: 10px;
}

/* END HOME PAGE */

/* ABOUT PAGE */


/* END ABOUT PAGE */


/* EXPERIENCE PAGE */

.experience-entry {
    display: flex;
    justify-content: left;
    padding-left: 30px;
    column-gap: 30px;
    margin-bottom: 30px;
}

.skills {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 6px;
    padding: 0;
}

.skills li {
    margin: 4px;
    padding: 4px;
    color: #569c7e;
    border: 2px solid #569c7e;
    border-radius: 6px;
}

/* collapsible section */
.collapsible {
    background-color: #ddf7eb;
    color: #000;
    padding: 8px;
    width: 100%;
    border: none;
    text-align: left;
    outline: #569c7e;
    font-size: 16px;
}

.collapsible:after {
    /* unicode for + */
    content: "\02795";
    font-size: 16px;
    color: white;
    float: right;
}

.active:after {
    /* unicode for - */
    content: "\2796";
}

.active,
.collapsible:hover {
    background-color: #cbe5d9;
}

.collapsible-content {
    padding-top: 8px;
    padding-left: 16px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

/* end collapsible section */
/* END EXPERIENCE PAGE */

/* PROJECTS PAGE */



/* END PROJECTS PAGE */

/* SKILLS PAGE */

/* Popup container, from https://www.w3schools.com/howto/howto_js_popup.asp */
.popup {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

/* The actual popup (appears on top) */
.popup .popuptext {
    visibility: hidden;
    width: 160px;
    background-color: #e485a8;
    color: #ffffff;
    text-align: center;
    border-radius: 6px;
    padding: 4px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -80px;
}

/* Popup arrow */
.popup .popuptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #e485a8 transparent transparent transparent;
}

/* Toggle this class when clicking on the popup container (hide and show the popup) */
.popup .show {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 0.5s;
}

/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* END SKILLS PAGE */

/* HEADER */

/* TODO: fix margins/padding, current design not responsive */
/* something about max width, maybe? */
.header {
    /* for header to always be visible at top of page */
    position: fixed;
    /* position: sticky; */
    top: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    background-color: #92ceba;
    margin-bottom: 20px;
}

.logo {
    display: flex;
    align-items: center;
}

.header-title,
.header-title:hover,
.header-title:focus {
    text-decoration: none;
    font-size: 28px;
    font-family: "Shantell Sans";
    color: white;
    display: flex;
    align-items: center;
    filter: drop-shadow(1px 1px 1px grey);
}

.header-list {
    gap: 20px;
    list-style: none;
    display: flex;
    position: relative;
}

.header-tab,
.header-tab:hover {
    text-decoration: none;
    font-family: "Libre Franklin";
    font-size: 20px;
    font-weight: 400;
    color: white;
    cursor: pointer;
}

/* dropdown menu */
.header-list ul {
    /* remove bullets */
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-list ul li {
    display: inline-block;
    margin-right: 20px;
}

/* show dropdown on hover */
.header-list ul li:hover ul.dropdown-content {
    display: block;
}

/* dropdown links */
.header-list ul li ul.dropdown-content li {
    width: 100%;
}

.header-list ul li ul.dropdown-content li a {
    display: block;
    padding: 10px 16px;
    color: #fff;
    cursor: pointer;
}

.header-list ul li ul.dropdown-content li:hover {
    background-color: #78bda5;
    color: #fff;
}

.dropdown-content {
    position: absolute;
    background-color: #92ceba;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    right: 0;
}

/* END HEADER */

/* FOOTER */

/* TODO: fix the footer covering content */
.footer {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    /* background-color: #c8d2ce; */
    margin-top: 20px;
}

.footer-container {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    column-gap: 20px;
    color: darkslategray;
}

/* font awesome icons in footer */
.font-awesome,
.font-awesome:visited,
.font-awesome:hover,
.font-awesome:active {
    color: mediumaquamarine;
    text-decoration: none;
}

/* END FOOTER */

/* SKILLS */
.skills-matrix {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

.skill {
    padding: 10px;
    border: 1px solid mediumaquamarine;
    /* Match the border color of the button */
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
    /* Center text horizontally */
    display: flex;
    /* Enable flexbox layout */
    align-items: center;
    /* Center text vertically */
    justify-content: center;
    /* Center text horizontally */
    color: #ffffff;
    /* Text color for normal state */
    background-color: mediumaquamarine;
    /* Background color for normal state */
}

.skill:hover {
    background-color: #49a37e;
    /* Background color on hover */
    border-color: #3e8c6c;
    /* Border color on hover */
}

.skill:focus,
.skill.focus {
    box-shadow: 0 0 0 0.2rem rgba(102, 221, 170, 0.5);
    /* Focus box-shadow */
}

.skill.disabled,
.skill:disabled {
    color: #ffffff;
    /* Text color for disabled state */
    background-color: mediumaquamarine;
    /* Background color for disabled state */
    border-color: mediumaquamarine;
    /* Border color for disabled state */
}

.skill:not(:disabled):not(.disabled):active,
.skill:not(:disabled):not(.disabled).active {
    background-color: #3e8c6c;
    /* Background color when active */
    border-color: #3e8c6c;
    /* Border color when active */
}

.skill:not(:disabled):not(.disabled):active:focus,
.skill:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 0.2rem rgba(102, 221, 170, 0.5);
    /* Focus box-shadow when active */
}

/* END SKILLS */

/* TESTING ZONE */