/* Reset some default styles */ body, h1, table { margin: 0; padding: 0; } body { font-family: Arial, sans-serif; background-color: #f2f2f2; padding: 20px; } h1 { text-align: center; margin: 20px; } table { width: 100%; border-collapse: collapse; margin-bottom: 20px; } th { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; } th { background-color: #f2f2f2; font-weight: bold; } .actions a { text-decoration: none; } .actions img, .member-container img { width: 20px; height: 20px; } input[type="file"] { margin-bottom: 10px; } .modal { display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.5); } .modal-content { background-color: #fefefe; margin: 10% auto; padding: 20px; border: 1px solid #ccc; width: 80%; max-width: 1000px; border-radius: 4px; position: relative; } .clientcontainer { background-color: #ffffff; margin: 0% auto; padding: 20px; width: 80%; position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; /* Parent needs a defined height */ } .clientmodal { flex-grow: 1; width: 100%; } #person-modal .modal-content { width: 40%; } .close { position: absolute; top: 10px; right: 10px; color: #888; font-size: 24px; cursor: pointer; } .form-group, #mat-form-body, #mat-form-first, form { display: flex; flex-direction: column; } form label { font-weight: bold; margin-bottom: 5px; } input[type="text"], form input[type="password"], form input[type="email"], form input[type="date"], form input[type="file"] { margin-bottom: 10px; padding: 8px; border: 1px solid #ccc; border-radius: 4px; } .autoinput { margin-bottom: 10px; padding: 8px; border: 1px solid #ccc; border-radius: 4px; } form input[type="button"] { background-color: #4F4F4F; color: #fff; border: none; padding: 10px 16px; text-align: center; text-decoration: none; cursor: pointer; border-radius: 4px; } .form-column textarea { margin-bottom: 10px; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; width: calc(100% - 20px); } form input[type="submit"] { background-color: #4caf50; color: #fff; border: none; padding: 10px 16px; text-align: center; text-decoration: none; cursor: pointer; border-radius: 4px; } form input[type="submit"]:hover { background-color: #45a049; } #loader { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 9999; /* ensure it's on top */ } .filenametext { font-size: 12px; font-weight: bold; color: #000010; padding-bottom: 10px; } /* Style for select field */ select { padding: 8px; margin-bottom: 10px; font-size: 14px; border: 1px solid #ccc; border-radius: 4px; background-color: #fff; color: #555; box-sizing: border-box; } /* Style for select field when focused */ select:focus { outline: none; border-color: #6c63ff; box-shadow: 0 0 3px rgba(108, 99, 255, 0.5); } /* Style for select field when disabled */ select:disabled { background-color: #f5f5f5; color: #999; cursor: not-allowed; } .error { color: #FF0000; padding: 10px; font-weight: bold; } .success { color: #2ecc71; padding: 10px; font-weight: bold; } .uname { color: black; font-size: small; text-align: right; } .header { background-color: #0097B2; padding: 20px; text-align: center; display: flex; justify-content: space-between; /* aligns items on the line evenly spaced out */ align-items: center; /* aligns items on the line in the center of the section */ } .logo { width: 100px; height: 100px; border-radius: 50%; } .menu { text-align: center; margin-top: 30px; } .buttonmenu { display: flex; } .menu-button { margin-left: 10px; /* Add space between the buttons */ } button { background-color: #8ee0ee; color: #001244; border: none; padding: 10px 20px; font-size: 16px; margin: 10px; cursor: pointer; border-radius: 5px; transition: background-color 0.3s ease; } button:hover { background-color: #000000; color: #8ee0ee; } #variables-table { table-layout: fixed; } .name-column { width: 20%; } .type-column { width: 7%; } .search-column { width: 20%; } .hint-column { width: 35%; } .req-column { width: 8%; } .actions-column { width: 10%; } #variables-table td, #variables-table th { overflow: hidden; white-space: nowrap; /* Prevents the cell content from breaking into new lines */ text-overflow: ellipsis; } .centerline { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px 20px; } .tophead { font-size: 48px; } .formlabel { font-size: 28px; } .submit-btn-container { text-align: center; } .submit-btn { width: auto; /* or set a specific width, like 150px */ display: inline-block; } .verify-btn { background-color: #F7F7FF; color: #279AF1; border: 1px; padding: 10px 16px; text-align: center; text-decoration: none; cursor: pointer; border-radius: 4px; } .verify-btn:hover { color: #E74C3C; } .buttonfiltercontainer { padding: 0px 0px 0px 20px; } .buttonfilter.selected, .engagefilter.selected { /*border: 3px solid #007bff; /* Blue border to indicate selection */ opacity: 0.8; box-shadow: 0 0 8px #007bff; /* Optional: adds a glow effect */ } .form-hint { font-size: 0.8em; /* You can adjust size as needed */ font-style: italic; } .contractlist { width: 100%; border-collapse: collapse; } .contractlist th, .contractlist td { border: 1px solid #ddd; padding: 8px; text-align: left; } .contractlist th:nth-child(1), .contractlist td:nth-child(1) { width: 70%; } .contractlist th:nth-child(2), .contractlist td:nth-child(2) { width: 20%; } .contractlist th:nth-child(3), .contractlist td:nth-child(3) { width: 10%; } .category-header { font-size: 1.5em; margin-top: 20px; cursor: pointer; } .toggle-open, .toggle-closed { width: 20px; height: 20px; user-select: none; /* this will prevent the symbol from being selected on double click */ } .message-modal { display: none; position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background-color: rgba(0, 0, 0, 0.8); color: white; padding: 10px; border-radius: 5px; transition: transform 0.3s ease-in-out; z-index: 1000; } .message-modal.open { display: block; transform: translateX(-50%) translateY(0); } .message-content { text-align: center; } .error-message { background-color: #e74c3c; } .success-message { background-color: #2ecc71; } #groupContainer { margin-top: 50px; } .group { display: flex; flex-direction: column; align-items: center; /* Center-align the flex items */ width: 100%; margin-bottom: 20px; } .group .client { width: 70%; /* Set a consistent width */ margin-left: auto; /* Center align the block */ margin-right: auto; } .group label { font-weight: bold; margin-bottom: 5px; text-align: left; width: 70%; /* Adjust the width to match inputs and selects */ margin-left: auto; /* Align label to the start of the flex item */ margin-right: auto; } .category { width: 70%; /* Set a consistent width */ margin-left: auto; /* Center align the block */ margin-right: auto; } .question { width: 50%; /* Set a consistent width */ margin-left: auto; /* Center align the block */ margin-right: auto; } .question label { width: 100%; display: block; font-weight: normal; font-size: smaller; text-align: left; /* Left-align the text */ margin-bottom: 5px; } .categorySelect { width: 100%; /* Make inputs take the full width of their parent .question */ padding: 5px; margin-bottom: 10px; } .questionSelect, .questionText { width: 100%; /* Make inputs take the full width of their parent .question */ padding: 5px; margin-bottom: 10px; } #riskLevel { text-align: center; margin-top: 20px; font-size: 1.2em; font-weight: bold; } hr { width: 60%; color: #999999; margin-left: auto; margin-right: auto; } .follow-on { display: none; } #resultModal { display: none; position: fixed; bottom: 10px; right: 10px; background-color: white; border: 1px solid #ddd; padding: 10px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); } .address-container { display: flex; justify-content: space-between; flex-wrap: wrap; /* Allows wrapping if the screen is too small */ } .address-section { border: 1px solid #000; /* Thin black border */ border-radius: 10px; /* Rounded corners */ padding: 10px; margin: 10px; flex-basis: 45%; } .file-section { border: 1px solid #ccc; /* Thin black border */ border-radius: 4px; /* Rounded corners */ padding: 10px; margin-bottom: 10px; width: calc(100% - 20px); flex-basis: 45%; } .address-section label, .form-column label { display: block; margin-top: 10px; font-size: small; } .address-section input, .form-column input, .form-column select { width: calc(100% - 20px); /* Adjust width to account for padding */ padding: 5px; margin-top: 5px; /* Adds space above each input field */ box-sizing: border-box; /* Ensures padding doesn't affect the width */ display: block; } fieldset { border-color: #ccc; /* Light grey border */ border-radius: 10px; display: block; } legend { padding: 0 10px; /* Padding around the text */ font-weight: bold; font-size: small; } .form-row { display: flex; flex-wrap: wrap; justify-content: space-between; } .form-column { flex: 1; /* Each column takes up half of the row */ min-width: 250px; /* Minimum width for each column to prevent them from getting too narrow */ padding: 10px; /* Optional padding for better spacing */ } .file-input, .view-button, .clear-button { display: block; width: 100%; height: 2.25rem; /* Standard height to match input fields */ padding: 0.375rem 0.75rem; } .file-container { margin-bottom: 10px; } .button-container { display: flex; justify-content: space-around; /* Space out buttons evenly */ } .view-button, .clear-button { flex-basis: calc(30% - 4px); /* Calculate width, subtracting the gap */ text-align: center; background-color: #71df92; border: 1px solid #ccc; border-radius: 4px; font-size: small; margin: 0; /* Small gap between buttons */ display: flex; /* Enables Flexbox */ align-items: center; /* Centers content vertically */ justify-content: center; /* Centers content horizontally */ text-align: center; } #loading { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; text-align: center; } #loading .loading-dialog { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px 28px; background: #ffffff; border-radius: 12px; box-shadow: 0 18px 36px rgba(9, 30, 66, 0.25); max-width: 420px; } #loading .loading-indicator { width: 140px; height: 140px; object-fit: contain; } #loading .loading-status { width: 100%; text-align: left; font-size: 15px; color: #1f2937; } #loading .loading-close-button { display: none; padding: 8px 20px; border: none; border-radius: 6px; background-color: #2563eb; color: #ffffff; font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color 0.2s ease-in-out; } #loading .loading-close-button:hover, #loading .loading-close-button:focus { background-color: #1d4ed8; outline: none; } #loading.loading-overlay--closable .loading-close-button { display: inline-flex; justify-content: center; } .loading-status-step { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; font-size: 15px; line-height: 1.4; } .loading-status-label { font-family: monospace; font-weight: 600; min-width: 3.5rem; color: #4b5563; } .loading-status-message { flex: 1; word-break: break-word; } .loading-status-step--active .loading-status-label { color: #2563eb; } .loading-status-step--done .loading-status-label { color: #2e7d32; } .loading-status-step--error .loading-status-label { color: #b91c1c; } .entitylist, .entity-responsible, #box-head, #client-type-text { margin: 0 10px; } .entity-item { margin-bottom: 20px; } .dedupe-selected { background-color: #90dda7; } .cat-select { display: flex; gap: 10px; flex-wrap: nowrap; align-items: center; justify-content: flex-start; flex-direction: row; white-space: nowrap; } .cat-select input[type="number"] { width: 40px; /* Set a fixed width */ max-width: 50px; /* Set a maximum width */ } .sectionRow { background-color: #c1f1ff; } /* Modal adjustments */ .qmodal-content { background-color: #fefefe; border: 1px solid #ccc; border-radius: 4px; position: relative; width: 100%; max-width: 100%; margin: 0; padding: 20px; box-sizing: border-box; } /* Form row styling */ .form-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; } .form-group { display: flex; align-items: center; margin-right: 20px; flex: 1; } .form-group label { margin-right: 5px; white-space: nowrap; } .form-group input, .form-group select { width: 100%; min-width: 150px; } /* DataTable-specific styles */ table.dataTable { width: 100%; border-collapse: collapse; font-size: 12px; } /* Style table headers */ table.dataTable thead th { background-color: #f2f2f2; border-bottom: 2px solid #ddd; font-weight: 500; font-size: 12px; text-align: center; } /* Style table body cells */ table.dataTable tbody td { padding: 8px 10px; text-align: center; font-size: 12px; } /* Add a border-right for all columns */ table.dataTable th, table.dataTable td { border-right: 1px solid #ddd; } /* Add thicker black lines between major sections */ th.hardware, td.hardware-divider { border-right: 3px solid black; } th.material-front, td.material-front-divider, th.material-back, th.material-edge, td.material-back-divider, th.labour { border-right: 3px solid black; } /* Section-specific background colors */ th.hardware-group { background-color: #e6f7ff; } th.material-front-group, th.material-back-group, th.material-edge-group, th.labour-group { background-color: #f9f2ec; } /* Hover effect */ table.dataTable tbody tr:hover { background-color: #f1f1f1; } /* Editable cells */ td.editable { background-color: #fff8c6; cursor: pointer; } /* Add row button */ #add-row-btn { margin-top: 10px; } #qitem-div { overflow-x: scroll; } .highlighted { background-color: #e0f7fa; outline: 2px solid #00796b; } .action-controls { display: flex; align-items: center; gap: 8px; justify-content: flex-start; white-space: nowrap; } .action-controls input[type="checkbox"] { margin: 0; flex-shrink: 0; } .action-controls a { display: inline-flex; align-items: center; flex-shrink: 0; } .action-controls img { display: block; max-width: none; height: auto; } .table-container { max-width: 100%; overflow-x: auto; margin-bottom: 10px; border: 1px solid #ddd; border-radius: 4px; } .table-container table { margin-bottom: 0 !important; } /* Ensure DataTables doesn't add its own horizontal scroll to the body */ .dataTables_scrollBody { overflow-x: visible !important; }