@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400&family=Montserrat:wght@700&display=swap');

body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    color: var(--color-text);
    justify-content: center; 
    background: linear-gradient(45deg, var(--color-one), var(--color-two), var(--color-one), var(--color-two));
    background-size: 200% 200%;
    /*
    background: rgb(0,0,0);
    background: linear-gradient(145deg 
    ,var(--color-grad1) 10%, var(--color-grad2) 11%, var(--color-grad2) 11.5%, var(--color-grad1) 15%
    ,var(--color-grad1) 20%, var(--color-grad2) 21%, var(--color-grad2) 21.5%, var(--color-grad1) 30%
    ,var(--color-grad1) 35%, var(--color-grad2) 36%, var(--color-grad2) 36.5%, var(--color-grad1) 50%
    );
    */
    display: flex;  
    animation: animation_background 10s ;
    animation-iteration-count: infinite
}

@keyframes animation_background {
  0%   {background-position: 0% 0%}
  50%   {background-position: 100% 100%}
  100%   {background-position: 0% 0%}
  100% {bac}
}


.container_main {
    width: 1200px;
}

@media (max-width: 1200px) {
  .container_main {
    width: 100%;
  }
}

/* Header Section */
.container_main_header {
    text-align: center;
    padding: 20px;
    margin: 20px;
    /*background: var(--color-three);*/
    border-radius: 16px;
    margin-bottom: 20px;
    box-shadow: 0px 8px 10px 4px var(--color-item-halo),
                0px -8px 10px 4px var(--color-item-halo),
                8px 0px 10px 4px var(--color-item-halo),
                -8px 0px 10px 4px var(--color-item-halo);
}

.container_main_header h1 {
    margin: 0; 
    font-size: 2.0em;
}

.container_main_header h2 {
    margin: 20px;
    font-size: 1.0em;
}

.container_main_header p {
    margin: 5px 0 0; /* Margin for the email, only margin above */
    font-size: 0.9em; /* Slightly larger font size for the email */
}

.container_main_header img {
    width: 100%;
    max-width: 600px;
    height: auto; /* keeps the aspect ratio */
    display: block; /* removes small gaps below image */
    margin: 0 auto; /* centers image if container is wider */
}

/*************************************************************************/

.container_button_bar {
    display: flex; /* Use flexbox for layout */
    justify-content: center; /* Center align the buttons */
    margin: 20px 0; /* Margin above and below the button row */
}

.container_button_bar a {
    display: inline-block; /* Make the links behave like buttons */
    width: 40px; /* Set a fixed width for the buttons */
    height: 40px; /* Set a fixed height for the buttons */
    margin: 0 6px; /* Space between buttons */
    text-decoration: none; /* Remove underline from links */
}

.container_button_bar img {
    width: 100%; 
    height: 100%; 
    object-fit: cover; /* Maintain aspect ratio and cover the button */
    filter: none; /* No color filter by default */
    transition: filter 0.3s ease; /* Smooth transition */
}

.container_button_bar img:hover {
    filter: brightness(1) ;
}

/*************************************************************************/

.container_section {
    margin: 0px;
    padding: 10px; /* Padding inside sections */
    border-radius: 8px; /* Rounded corners */
}

.container_section h2 {
    font-family: 'Montserrat', sans-serif;
    text-align: center; /* Center align the text */
}

.filter_container {
    text-align: center; /* Center align the text */
    justify-content: center; 
    text-align: center; /* Center align the text */
    /*background-color: var(--color-section);*/
    margin: 0px 10px 0px 10px;
    padding: 20px; /* Padding inside sections */
    border-radius: 8px; /* Rounded corners */
}

.filter_container input {
    font-family: 'Montserrat', sans-serif;
    text-align: center; /* Center align the text */
    justify-content: center; 
    align-items: center; 
    border-radius: 5px;
    height: 20px;
}

.container_section_items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
  padding: 10px;
  padding-bottom: 1em;
  overflow: auto;
}

/*************************************************************************/

.container_item {
    flex: 0 0 200px;
    text-align: center;
    background: var(--color-item);
    padding: 0px; 
    border-radius: 8px; 
    box-sizing: border-box; 
    text-decoration: none; 
    color: inherit; 
    overflow: hidden; 
    box-shadow: 0px 5px 5px 2px var(--color-item-halo),
                0px -5px 5px 2px var(--color-item-halo),
                5px 0px 5px 2px var(--color-item-halo),
                -5px 0px 5px 2px var(--color-item-halo);

}

.container_item h3{
    text-align: center;
    overflow: hidden; 
    float: center; 
    height: 40px;
}

.container_item img {
    width: 180px; 
    height: 150px; 
    object-fit: cover; /* Maintain aspect ratio */
    float: center; 
    text-align: left;
    margin: 0;
    padding: 0;
    border: 2px solid #333; 
    border-radius: 15px;   
}

.item-text {
    text-align: center;
    overflow: hidden; 
    float: center; 
}

/*************************************************************************/
/* General Tag Styles */
.tag-list {
    float: center; /* Float the image to the left */
    text-align: center;
}

.tag {
  color: var(--color-text-tag);
  font-size: 0.8em;
  display: inline-block;
  margin: 2px;
  margin-bottom: 5px;
}

.tag-cpp::before {
    content:"C++";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(3, 42, 121);
}

.tag-c::before {
    content:"C";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(49, 64, 93);
}

.tag-java::before {
    content:"Java";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(135, 16, 16);
}

.tag-js::before {
    content:"JS";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(186, 158, 0);
}

.tag-csharp::before {
    content:"C#";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(106, 10, 121);
}

.tag-python::before {
    content:"Python";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(201, 121, 0);
}

.tag-unity::before {
    content:"Unity";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(11, 43, 49);
}

.tag-win::before {
    content:"Win";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(11, 91, 197);
}
.tag-web::before {
    content:"Web";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(177, 50, 186);
}

.tag-android::before {
    content:"Android";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(11, 134, 0);
}

.tag-playdate::before {
    content:"Playdate";
    border-radius: 5px;   
    padding-left: 5px;
    padding-right: 5px;
    background: rgb(229, 198, 0);
}