html {
    box-sizing: border-box;
    overflow: -moz-scrollbars-vertical;
    overflow-y: scroll;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}


html, body {
    height: 100%;
    overflow-x:hidden;
    margin: 0;
    background: #fafafa;
    font-family: Tahoma, Verdana, Geneva, sans-serif;
    background-color: #f5f5f5;
    color: #333;
    transition: background-color 0.3s, color 0.3s;
}

.swagger-ui .topbar {
    top: 0px;
    background-color: #efecec;
    height: 150px;
    width: 100%;
    position: relative;
}

.logo_small_svg__cls-3 {
    display: none;
}

.swagger-ui svg:not(:root) {
    visibility: hidden;
}

.swagger-ui .topbar a {
    background-image: url("firs_logo.svg");
    background-repeat: no-repeat;
    background-size: 90px 50px;
    align-items: center;
    color: #fff;
    display: flex;
    flex: 1;
    font-family: sans-serif;
    font-size: 1.5em;
    font-weight: 700;
    max-width: 300px;
    -webkit-text-decoration: none;
    text-decoration: none;
}

.swagger-ui .topbar .download-url-wrapper .download-url-button {
    background-color: rgb(222, 24, 24);
    border: none;
    border-radius: 0 4px 4px 0;
    color: #fff;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: 700;
    padding: 4px 30px;
}

.swagger-ui .topbar .topbar-wrapper {
    margin-top: 40px;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.swagger-ui .topbar .download-url-wrapper input[type=text] {
    border: 2px solid #e2dfdf;
    border-radius: 4px 0 0 4px;
    margin: 0;
    max-width: 100%;
    outline: none;
    width: 100%;
}

.swagger-ui .info .title small.version-stamp {
    background-color: #89bf04;
    visibility: hidden;
}

.swagger-ui .scheme-container .schemes {
    visibility: hidden;
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}

.swagger-ui .scheme-container {
    display: none;
    background: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .15);
    margin: 0 0 20px;
    padding: 30px 0;
}

.swagger-ui .info hgroup.main a {
    display: none;
    font-size: 12px;
}

.swagger-ui .opblock-tag {
    color: #3b4151;
    font-family: Tahoma, Verdana,Geneva,sans-serif;
    font-size: 20px;
    display: block;
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    max-width: 100%;
    margin: 20px auto;
    width: calc(100% - 0.5px);
    border-left: 2.5px solid red;
}

.swagger-ui .opblock-tag span {
    color: #3b4151;
    font-family: Tahoma, Verdana, Geneva, sans-serif;
    font-size: 20px;
    display: block;
    background-color: #fff;
    padding: 20px 10px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    max-width: 100%;
    margin: 20px auto;
    width: calc(100% - 0.5px);
}

body.dark-mode .swagger-ui .opblock-tag span {
    background-color: rgb(41, 40, 40);
    color: #e0e0e0;
}

.swagger-ui .opblock-tag small {
    display: block;
    margin-top: 10px;
    font-size: 16px;
    font-family: 'Roboto', Verdana, Geneva, Tahoma, sans-serif;
    color: #4a4a4a;
    line-height: 1.6;
}

.swagger-ui .markdown p,
.swagger-ui .markdown pre,
.swagger-ui .renderedMarkdown p,
.swagger-ui .renderedMarkdown pre {
    margin: 1em auto;
    word-break: break-word;
    font-size: 18px;
    color: #4a4a4a;
    line-height: 1.6;
    text-align: justify;
}

section {
    display: block;
    unicode-bidi: isolate;
}

body.dark-mode section {
    display: block;
    background-color: #121212;
    unicode-bidi: isolate;
}

/* Toggle Button Styling */
.toggle {
    position: absolute;
    top: 45px;
    right: 50px;
    margin-bottom: 50px;
    display: inline-flex;
    align-items: left;
    cursor: pointer;
}

.toggle .slider {
    width: 40px;
    height: 20px;
    background-color: #ccc;
    border-radius: 10px;
    position: relative;
    transition: background-color 0.3s;
    margin-right: 8px;
}

.toggle input {
    opacity: 0;
    position: absolute;
    width: 0;
    height: 0;
}

.toggle .slider:before {
    content: "";
    position: absolute;
    height: 16px;
    width: 16px;
    background-color: #fff;
    border-radius: 50%;
    top: 2px;
    left: 2px;
    transition: transform 0.3s;
}

input:checked+.slider {
    background-color: #d41e1e;
}

input:checked+.slider:before {
    transform: translateX(20px);
}

/* Dark Mode */
body.dark-mode {
    background-color: #121212;
    color: #e0e0e0;
}

body.dark-mode .swagger-ui .opblock-tag small {
    background-color: #1e1e1e;
    color: #e0e0e0;
}

body.dark-mode .swagger-ui .opblock-tag {
    background-color: #1e1e1e;
    color: #e0e0e0;
}

body.dark-mode .swagger-ui .topbar {
    background-color: #1e1e1e;
    height: 100px;
    height: 150px;
    width: 100%;
}

body.dark-mode .swagger-ui .renderedMarkdown p, .swagger-ui .renderedMarkdown pre {
    color: #e0e0e0;
}

body.dark-mode .swagger-ui table thead tr td,
body.dark-mode .swagger-ui table thead tr th {
    color: #e0e0e0;
}

body.dark-mode .swagger-ui a.nostyle,
.swagger-ui a.nostyle:visited {
    color: rgb(171, 169, 169);
    cursor: pointer;
    text-decoration: inherit;
}

.swagger-ui a.nostyle,
.swagger-ui a.nostyle:visited {
    color: inherit;
    cursor: pointer;
    text-decoration: inherit;
}

body.dark-mode .swagger-ui .opblock .opblock-summary-description {
    color: rgb(171, 169, 169);
}

body.dark-mode .swagger-ui .parameter__name {
    color: rgb(171, 169, 169);
}

.swagger-ui table thead tr td,
.swagger-ui table thead tr th {
    color: rgb(33, 24, 24);
}

.swagger-ui table tbody tr td:first-of-type {
    min-width: 6em;
    color: rgb(33, 24, 24);
    padding: 10px 0;
}

body.dark-mode .swagger-ui table tbody tr td:first-of-type {
    min-width: 6em;
    color: rgb(33, 24, 24);
    padding: 10px 0;
}

.swagger-ui div {
    color: inherit;
}

body.dark-mode .swagger-ui div {
    box-sizing: border-box;
    color: #e0e0e0;
}


.swagger-ui .topbar .download-url-wrapper input[type=text] {
    border: 2px solid #e2dfdf;
    border-radius: 4px 0 0 4px;
    margin: 0;
    max-width: 100%;
    outline: none;
    width: 100%;
    display: none;
}

.swagger-ui .topbar .download-url-wrapper .download-url-button {
    background-color: rgb(222, 24, 24);
    border: none;
    border-radius: 0 4px 4px 0;
    color: #fff;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: 700;
    padding: 4px 30px;
    display: none;
}

.swagger-ui .opblock.opblock-get, .swagger-ui .opblock.opblock-post, .swagger-ui .opblock.opblock-patch, .swagger-ui .opblock.opblock-put, .swagger-ui .opblock.opblock-delete{
    border-color: #d7d7d7e4;
}

body.dark-mode .swagger-ui .opblock.opblock-get,
body.dark-mode .swagger-ui .opblock.opblock-post,
body.dark-mode .swagger-ui .opblock.opblock-patch,
body.dark-mode .swagger-ui .opblock.opblock-put,
body.dark-mode .swagger-ui .opblock.opblock-delete {
    border-color: #1d1c1ce4;
}

.sidebar {
    width: 250px;
    background-color: #34404c;
    color: white;
    height: 100vh;
    top: 0px;
    padding: 15px;
}

.sidebar h2 {
    color: #e45c4f;
    text-align: center;
    margin-bottom: 20px;
}

.sidebar-section {
    margin-bottom: 10px;
}

.sidebar-link {
    background: none;
    border: none;
    color: #ecf0f1;
    cursor: pointer;
    font-size: 16px;
    text-align: left;
    width: 100%;
    padding: 10px;
    outline: none;
    display: block;
}

.sidebar-link:hover {
    background-color: #34495e;
}

.sidebar-content {
    display: none;
    margin-left: 15px;
}

.sidebar-content a {
    color: #bdc3c7;
    text-decoration: none;
    display: block;
    padding: 5px 0;
}

.sidebar-content a:hover {
    color: #e12a0e;
}

.main {
    flex-grow: 1;
}

.container {
    display: flex;
    width: 100%;
    height: 100%;
}

.swagger-ui:nth-child(2) {
    margin-top: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    max-width: 100%;
    margin: 20px;
    padding: 50px;
    width: 100%;
}

.sidebar-content a:visited {
    color: #bdc3c7;
    text-decoration: none;
}

.dark-mode .sidebar {
    background: black;
}