* {
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    margin: 0;
}

/* Style for font */
.poppins-regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}



/* --------------------------------------------- */
/* Headers */
.header {
    padding: 10px 25px;
    text-align: left;
    background: #553fafbd; /*#1abc9c*/
    color: white;
}

/* Increase the font size of the h1 element */
.header h1 {
    font-size: 35px;
}



/* --------------------------------------------- */
/* Navbar */

.navbar {
    overflow: hidden;
    background-color: #333;
}

.navbar a {
    float: left;
    display: block;
    color: white;
    text-align: center;
    padding: 14px 20px;
    text-decoration: none;
}

.navbar a.right {
    float: right;
}

.navbar a:hover {
    background-color: #ddd;
    color: black;
}



/* --------------------------------------------- */
/* Column Organizer */

.row {  
    display: flex;
    flex-wrap: wrap;
    min-height: 703px;
}

.side {
    flex: 25%;
    background-color: #f1f1f1;
    padding: 20px;
    max-width: 387px;
}

.main {  
    flex: 75%;
    background-color: white;
    padding: 20px;
    max-width: 790px;
}

/* Side column for blog posts */
.blog-side {
    flex: 20%;
    background-color: #f1f1f1;
    padding: 20px;
}

/* Main column for blog posts */
.blog-main {  
    flex: 80%;
    background-color: white;
    padding: 20px;
}

.posts-main {
    background-color: #f1f1f1;
    min-height: 703px;
}

/* --------------------------------------------- */
/* Main Blog Styles */

.blog-main h2 {
    margin-top: 30px;
}

.blog-main h3 {
    margin-top: 30px;
}

.blog-main p {
    max-width: 1000px;
}

.main h2 {
    text-align: left;
}

.main a {
    color: black;
}

.main a:hover {
    color: #432f92c4;
}


/* --------------------------------------------- */
/* Mini Blog Post Styles */

.mini-posts {
    background-color: #aaa;
    min-height: 60px;
    display: flex;
    align-items: center;
}

.mini-posts a {
    color: black;
    text-align: left;
    text-decoration: none;
    height: fit-content;
    width: 100%;
    padding: 20px;
}

.mini-posts a:hover {
    background-color: #553fafbd;
    color: white;
}



/* --------------------------------------------- */
/* Big Blog Post Styles */

.big-posts {
    display: flex;
    flex-direction: row;
    /* flex-wrap: wrap; */
    border-bottom: 1px solid rgba(128, 128, 128, 0.438);
    max-width: 750px;
    max-height: 185px;
    justify-content: space-between;
    
}

.big-posts-img {
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.big-posts-img img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    
}

.big-posts-title {
    display: flex;
    flex-direction: column;
    max-width: 500px;
}

.big-posts-title h2 {
    margin-bottom: 5px;
}

.big-posts-shortDesc {
    margin-top: 5px;
}

.big-posts-date {
    margin-top: auto;
}

.big-posts a {
    color: black;
    text-decoration: none;
}

.big-posts a:hover {
    color: #553fafbd;
}



/* --------------------------------------------- */
/* Hover Words */

.hover-word {
    font-weight: bold;
    cursor: pointer;
    color: #5643a0bd;
}

.hover-popup {
    display: none;
    position: absolute;
    background-color: #555;
    color: #fff;
    padding: 8px;
    border-radius: 5px;
    max-width: 500px;
}



/* --------------------------------------------- */
/* Code Insert Styles */

pre {
  background-color: #f4f4f4; /* Light gray background */
  padding: 1em; /* Padding around the code */
  border: 1px solid #ddd; /* Light gray border */
  border-radius: 5px; /* Rounded corners */
  overflow: auto; /* Adds scrollbar if content overflows */
  font-family: 'Monaco', 'Consolas', monospace; /* Monospaced font */
  font-size: 0.9em; /* Slightly smaller font size */
  line-height: 1.4; /* Line height for better readability */
  max-width: 1000px;
}

code {
  color: #333; /* Darker text color */
}



/* --------------------------------------------- */
/* Responsive Layout */

/* Responsive layout - when the screen is less than 1150px wide, change the flex width for both the blog side and blog main to adjust for words being too close */
@media screen and (max-width: 1150px) {
    .blog-side {
        flex: 25%;
    }

    .blog-main {
        flex: 75%;
    }
}

/* Responsive layout - when the screen is less than 700px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 810px) {
    .row {   
    flex-direction: column;
    }
}

/* Responsive layout - when the screen is less than 400px wide, make the navigation links stack on top of each other instead of next to each other */
@media screen and (max-width: 400px) {
    .navbar a {
    float: none;
    width:100%;
    }
}

@media screen and (min-width: 1600px) {
    .row {
        max-width: 1600px;
        margin: auto;
    }
}
/* --------------------------------------------- */