body {
    font: 400 18px Lato, sans-serif;
    background-color: #353535;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

body > .container {
    background-color: #DDDDDD;
    -webkit-box-shadow: 0px 0px 12px rgba(0,0,0,0.45);
    -moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.45);
    box-shadow: 0px 0px 12px rgba(0,0,0,0.45);
    border-radius: 5px;
    max-width: 90%; /* Ensure container does not exceed viewport width */
    margin: 20px auto; /* Center the container with automatic side margins */
    padding: 20px; /* Add some padding for better content spacing */
    box-sizing: border-box; /* Include padding and border in element's total width and height */
}

@media (max-device-width: 600px) {
    .mobile-text, h5, ul {
        text-align: center !important;
    }
}

#profileImageNode {
    width: 90%;
    padding-top: 5%;
}

ul.normal {
    list-style: none;
    padding: 0;
    margin: 0;
}

#bio {
    text-align: justify;
    font-size: 16px;
    line-height: 1.6;
    padding: 20px;
    margin: 0 20px 40px 20px; /* Ensure even spacing on both sides */
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    max-width: 100%; /* Ensure bio does not exceed viewport width */
    box-sizing: border-box; /* Include padding and border in element's total width and height */
}

@media (max-width: 768px) {
    #bio {
        font-size: 14px;
        padding: 15px;
        margin: 0 10px 20px 10px; /* Adjust margins for smaller screens */
    }
}

.text-center {
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
}

.text-center .btn-success {
    display: inline-block;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background-color: #28a745;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease;
    max-width: 100%; /* Ensure button does not exceed viewport width */
    box-sizing: border-box; /* Include padding and border in element's total width and height */
}

.text-center .btn-success:hover {
    background-color: #218838;
    transform: translateY(-2px);
}

.text-center .btn-success:active {
    background-color: #1e7e34;
    transform: translateY(1px);
}

.text-center .btn-success i {
    margin-left: 8px;
}

.roles {
    line-height: 1.6; /* Adjust the line height for spacing between lines */
}

.roles span {
    display: block; /* Display each role on a new line */
    margin-bottom: 10px; /* Add spacing between lines */
}