/**
 * Any CSS included here will be global. The classic template
 * bundles Infima by default. Infima is a CSS framework designed to
 * work well for content-centric websites.
 */

/* You can override the default Infima variables here. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --ifm-color-primary: #2e8555;
    --ifm-color-secondary: #0097c5;
    --ifm-color-primary-dark: #29784c;
    --ifm-color-primary-darker: #277148;
    --ifm-color-primary-darkest: #205d3b;
    --ifm-color-primary-light: #33925d;
    --ifm-color-primary-lighter: #359962;
    --ifm-color-primary-lightest: #3cad6e;
    --ifm-color-warning: #e4f126;
    --ifm-code-font-size: 95%;
    --ifm-footer-color: rgb(238, 249, 253);
    --ifm-footer-background-color: #303846;
    --ifm-footer-link-color: #dadde1;
    --ifm-horizontal-line-color: rgba(28, 30, 33, 0.2);
    --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
    --ifm-font-family-base: 'Montserrat', sans-serif;
    --ifm-heading-font-family: 'Montserrat', sans-serif;
    --switch-background-color: rgba(0, 0, 0, 0.25);
}

/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='dark'] {
    --ifm-color-primary: #25c2a0;
    --ifm-color-secondary: #00d5ff;
    --ifm-color-primary-dark: #21af90;
    --ifm-color-primary-darker: #1fa588;
    --ifm-color-primary-darkest: #1a8870;
    --ifm-color-primary-light: #29d5b0;
    --ifm-color-primary-lighter: #32d8b4;
    --ifm-color-primary-lightest: #4fddbf;
    --ifm-footer-color: rgb(238, 249, 253);
    --ifm-navbar-background-color: #0f1b23;
    --ifm-dropdown-background-color: #0f1b23;
    --ifm-background-color: #0f1b23;
    --ifm-background-surface-color: #1a2a3a;
    --ifm-horizontal-line-color: rgba(227, 227, 227, 0.2);
    --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
    --switch-background-color: rgb(135, 129, 129);
}

html[data-theme='dark'] {
    --ifm-background-color: #0e161b;
    --ifm-background-surface-color: #1a2a3a;
}

@media (max-width: 996px) {
    .navbar__item {
        display: none !important;
    }
}

.navbar {
    box-shadow: 0px 10px 12px 0px rgba(0, 100, 100, 0.1);
}

@mixin header-link($width, $height, $url) {
    display: flex;
    align-items: center;
    gap: 10px;

    &::before {
        content: '';
        width: $width;
        height: $height;
        display: inline-block;
        background-color: var(--ifm-navbar-link-color);
        mask-image: $url;
        mask-repeat: no-repeat;
        transition: background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default);
    }

    &:hover::before {
        background-color: var(--ifm-navbar-link-hover-color);
    }
}

.header-blog-link {
    @include header-link(24px, 24px, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M192 32c0 17.7 14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0c-17.7 0-32 14.3-32 32zm0 96c0 17.7 14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192c-17.7 0-32 14.3-32 32zM96 144c0-26.5-21.5-48-48-48S0 117.5 0 144V368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144H128v96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48V144z"/></svg>'));
}

.header-discord-link {
    @include header-link(24px, 24px, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M524.5 69.8a1.5 1.5 0 0 0 -.8-.7A485.1 485.1 0 0 0 404.1 32a1.8 1.8 0 0 0 -1.9 .9 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.1-30.6 1.9 1.9 0 0 0 -1.9-.9A483.7 483.7 0 0 0 116.1 69.1a1.7 1.7 0 0 0 -.8 .7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 0 0 .8 1.4A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.1-.7A348.2 348.2 0 0 0 208.1 430.4a1.9 1.9 0 0 0 -1-2.6 321.2 321.2 0 0 1 -45.9-21.9 1.9 1.9 0 0 1 -.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8 0 0 1 1.9-.3c96.2 43.9 200.4 43.9 295.5 0a1.8 1.8 0 0 1 1.9 .2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9 0 0 1 -.2 3.1 301.4 301.4 0 0 1 -45.9 21.8 1.9 1.9 0 0 0 -1 2.6 391.1 391.1 0 0 0 30 48.8 1.9 1.9 0 0 0 2.1 .7A486 486 0 0 0 610.7 405.7a1.9 1.9 0 0 0 .8-1.4C623.7 277.6 590.9 167.5 524.5 69.8zM222.5 337.6c-29 0-52.8-26.6-52.8-59.2S193.1 219.1 222.5 219.1c29.7 0 53.3 26.8 52.8 59.2C275.3 311 251.9 337.6 222.5 337.6zm195.4 0c-29 0-52.8-26.6-52.8-59.2S388.4 219.1 417.9 219.1c29.7 0 53.3 26.8 52.8 59.2C470.7 311 447.5 337.6 417.9 337.6z"/></svg>'));

    &::before { // Fixes the Discord icon being a little shorter than the others causing an offset
        mask-position: 0 2px;
    }
}

.header-utilities-link {
    @include header-link(24px, 24px, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> <path d="M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/> </svg>'));
}

.header-download-link {
    @include header-link(24px, 24px, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>'));
}

.header-github-link {
    @include header-link(24px, 24px, url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E"));
}

.header-wiki-link {
    @include header-link(22px, 25px, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>'));
}

@media screen and (max-width: 996px) { // Magic numbers! This was the value which caused the site to go to mobile navigation
    .header-discord-link::after {
        content: 'Discord'
    }

    .header-github-link::after {
        content: 'GitHub'
    }
}

.api-method>.menu__link {
    align-items: center;
    justify-content: start;
}

.api-method>.menu__link::before {
    width: 50px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 0.25rem;
    border: 1px solid;
    margin-right: var(--ifm-spacing-horizontal);
    text-align: center;
    flex-shrink: 0;
    border-color: transparent;
    color: white;
}

.get>.menu__link::before {
    content: "get";
    background-color: var(--ifm-color-primary);
}

.put>.menu__link::before {
    content: "put";
    background-color: var(--openapi-code-blue);
}

.post>.menu__link::before {
    content: "post";
    background-color: var(--openapi-code-green);
}

.delete>.menu__link::before {
    content: "del";
    background-color: var(--openapi-code-red);
}

.patch>.menu__link::before {
    content: "patch";
    background-color: var(--openapi-code-orange);
}

.collapsible-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    position: relative;
    cursor: pointer;

    h3 {
        margin: 0;
    }

    p {
        margin-right: 18px;
    }
}

.collapsible-arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--ifm-color-primary);
    border-bottom: 2px solid var(--ifm-color-primary);
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -20px;

    &.expanded {
        transform: rotate(225deg);
    }
}

.collapsible-line {
    border-bottom: 1px solid var(--ifm-horizontal-line-color);
    margin-top: -15px;
    margin-bottom: 10px;
}

.collapsible-subtitle {
    font-size: 14px;
}

.collapsible-title {
    font-size: 20px;
    margin-right: 20px;
}

.columns {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
}

.column {
    flex: 1;
    box-sizing: border-box;
    overflow: hidden;
}

@media (max-width: 600px) {
    .column {
        flex-basis: 100% !important;
        max-width: 100%;
    }
}

.large-button {
    display: flex;
    flex-direction: column;
    height: calc(2lh + 20px);
    justify-content: center;
}

.download-button {
    width: 100%;
    border: 3px solid var(--ifm-tabs-color-active);
    border-radius: var(--ifm-global-radius);
    text-align: center;
    font-size: 18px;
    transition: background-color 0.5s ease, color 0.5s ease;
    padding-top: 10px;
    padding-bottom: 10px;

    &:hover {
        background-color: var(--ifm-color-primary);
        color: #fff;
    }
}

.download-link {
    font-family: var(--ifm-font-family-monospace);
}

.host-select select {
    font-family: var(--ifm-font-family-base);
    vertical-align: middle;
    padding: 11px;
    margin-bottom: 15px;
    width: 99.5%;
    height: 50px;
    border: 1px solid var(--ifm-tabs-color-active);
    border-radius: var(--ifm-global-radius);
    background-color: var(--ifm-background-color);
    font-size: 16px;
    color: var(--ifm-font-color-base);

    &:focus {
        border-radius: var(--ifm-global-radius);
        border: 1px solid var(--ifm-tabs-color-active);
    }
}

.inner {
    overflow: hidden;
    transition: height 0.3s ease-out;
}

.inner-content {
    margin-bottom: 20px;
    margin-top: -20px;
}

.no-underline {
    text-decoration: transparent !important;
}

.question-text p {
    font-size: 20px;
    margin-right: 18px;
}

.setup-button {
    width: 100%;
    border: 3px solid var(--ifm-color-secondary);
    border-radius: var(--ifm-global-radius);
    text-align: center;
    font-size: 18px;
    transition: background-color 0.5s ease, color 0.5s ease;
    padding-top: 10px;
    padding-bottom: 10px;
    color: var(--ifm-color-secondary);

    &:hover {
        background-color: var(--ifm-color-secondary);
        color: #fff;
    }
}

.warning-box {
    width: 100%;
    border-left: 3px solid var(--ifm-color-warning);
    text-align: center;
    font-size: 18px;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
}

.tabs {
    flex-wrap: wrap;
    border-bottom-color: var(--ifm-horizontal-line-color);
    border-bottom-width: 3px;
    border-bottom-style: solid;
}

@media (pointer:coarse) {
    .tabs {
        flex-wrap: nowrap;
        white-space: nowrap;
        display: inline-block;
        max-width: 100%;
    }

    .openapi-tabs__code-list-container,
    .tabs-host-type {
        display: flex !important;
    }
}

.tabs-host-type {
    flex-wrap: nowrap;
    border-bottom-style: none;
    display: flex;

    .tabs__item {
        line-height: 16px;
        margin-right: 4px;
        width: 100%;
        outline: 1px solid var(--ifm-tabs-color-active);
        outline-offset: -1px;
        justify-content: center;
    }

    .tabs__item--active {
        background-color: var(--ifm-tabs-color-active);
        border: 0;
        border-radius: var(--ifm-global-radius);
        color: #fff
    }
}

[data-theme='light'] img[src$='#gh-dark-mode-only'],
[data-theme='dark'] img[src$='#gh-light-mode-only'] {
    display: none;
}