html, body {
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    color: #333;
    background-color: #f5f5f5;
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    min-height:100%;
}

.wrapper {
    position:absolute;
    top:0;
    left:0;
    width: 100%;
    min-height: 100%;
    display:flex;
    flex-direction:column;
}

.form {
    width:93%;
    height:auto;
    border-left:1px solid #ccc;
    margin:0px 0px 0px 2%;
    padding:20px 2% 20px 2%;
    background-color:#FFF;
}

.form .form_item {
    width:100%;
    height:auto;
    margin:10px 0px 10px 0px;
    position:relative;
}

.form .form_label {
    width:100%;
    font-weight:1.5vw;
    line-height:2vw;
}

.form .form_input {
}

.form input:not([type=submit],[type=radio],[type=checkbox]) {
    width:75%;
    max-width:100%;
    height:30px;
    border:1px solid #333;
    outline:none;
    font-size:17px;
    padding:2px 5px 2px 5px;
    -webkit-appearance: none;
}

.form textarea {
    width:75%;
    max-width:100%;
    height:auto;
    min-height:150px;
    border:1px solid #333;
    outline:none;
    padding:2px 5px 2px 5px;
    resize:none;
    -webkit-appearance: none;
}

.form .form_category {
    width:100%;
    height:auto;
}

.form .form_category_title {
    width:100%;
    height:auto;
    font-size:1.3vw;
    font-weight:bold;
    margin:40px 4% 0px 0px;
    border-bottom:1px solid #ccc;
}

.form .form_category:nth-child(1) .form_category_title {
    margin-top:0px;
}

.module {
    width:100%;
    height:auto;
}

.row {
    width: 100%;
    display: flex;
}

.row_buttons {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

table {
    width:99%;
    background-color:#fff;
    line-height:1.5vw;
    border-collapse: collapse;
    box-shadow: 0px 0px 4px #ccc;
    border-left:3px solid #50a8ff;
    margin:10px 0.5% 10px 0.5%;
}

table th,
table thead {
    text-align:left;
    font-weight:bold;
    padding:10px 0px 10px 0px;
    border:none;
}

table th td,
table thead td,
table thead th,
table th th {
    border-bottom:1px solid #ccc;
}

table td {
    padding:5px;
}

table tr:nth-child(even) {
    background-color:#f5f5f5;
}

.content_block {
    width:100%;
    height:auto;
    margin:10px 0px 10px 0px;
    padding:10px 0px 10px 0px;
    background-color:#FFF;
}

.button,
.form input[type=submit] {
    width:auto;
    height:auto;
    outline:none;
    border:none;
    -webkit-appearance: none;
    padding:10px 30px 10px 30px;
    background-color:rgb(173, 216, 230);
    border-bottom:2px solid rgb(119, 174, 206);
    color:#222;
    cursor:pointer;
    position:relative;
    font-size:17px;
    display:block;
    margin:3px 3px 3px 0px;
    text-decoration: none;
    transition:all .15s ease-in-out;
    
}

.button:hover,
.form input[type=submit]:hover {
    background-color:rgb(119, 174, 206);
    border-bottom:2px solid rgb(173, 216, 230);
    color:#fff;
    cursor:pointer;
}

.button_right {
    float:right!important;
}

.row_attach {
    margin:10px 0px 10px 0px;
    padding:10px 0px 10px 0px;
    background-color:#FFF;
    display: flex;
    justify-content: space-evenly; /* Centers the items horizontally */
    gap: 10px; /* Adds space between the items */
    flex-wrap: wrap;
}

.row_attach .attach_item {
    flex: 1 1; /* Allows items to grow and shrink, with a max size of 200px */
    max-width: 20%; /* Ensures no item exceeds 200px */
    padding: 10px; /* Optional: Adds inner padding */

}

.row_attach .attach_item .attach_item_label,
.row_attach .attach_item .attach_item_input {
    display:inline-block;
    float:left;
    height:auto;
}

.row_attach .attach_item .attach_item_input {
    width:100%;
}

.row_attach .attach_item .attach_item_submit {
    display: inline-block;
    width:100%;
    height:auto;
    margin:10px 0px 0px 0px;
}

.row_attach .attach_item .attach_item_submit .button {
    width:100%;
    margin:0px;
}

.row_attach .attach_item .attach_item_input input {
    width:96%;
    max-width:100%;
    height:30px;
    border:1px solid #333;
    outline:none;
    font-size:17px;
    padding:2px 5px 2px 5px;
    -webkit-appearance: none;
}