/* ==========================================================================
   NexDocs - Swagger UI customisation
   ========================================================================== */

/* --------------------------------------------------------------------------
   Topbar
   -------------------------------------------------------------------------- */

.swagger-ui .topbar {
    border-radius: 4px;
}

/* Stop the logo link stretching. Swagger UI ships `flex: 1` with a 300px
   max-width on this anchor, which leaves a gap between the logo and the
   URL field. */
.swagger-ui .topbar a.link {
    flex: 0.02 0 auto;
    max-width: none;
    margin: 0;
    padding: 0;
}

.topbar-wrapper img {
    content: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTMzMyAyNzIuNiI+CiAgPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDMwLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDIuMS4xIEJ1aWxkIDEzNikgIC0tPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuc3QwIHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudDIpOwogICAgICB9CgogICAgICAuc3QxIHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudDEpOwogICAgICB9CgogICAgICAuc3QyIHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudDMpOwogICAgICB9CgogICAgICAuc3QzIHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudDYpOwogICAgICB9CgogICAgICAuc3Q0IHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudDUpOwogICAgICB9CgogICAgICAuc3Q1IHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudDQpOwogICAgICB9CgogICAgICAuc3Q2IHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudCk7CiAgICAgIH0KCiAgICAgIC5zdDcgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KCiAgICAgIC5zdDggewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudCIgeDE9IjM2LjA1IiB5MT0iMjUuMzkiIHgyPSIyNzMuNiIgeTI9IjE2MS4zNyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9Ii4xIiBzdG9wLWNvbG9yPSIjODAyMTRiIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjM1IiBzdG9wLWNvbG9yPSIjZmYzZjQyIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjY1IiBzdG9wLWNvbG9yPSIjZjY2ZTMyIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjkiIHN0b3AtY29sb3I9IiNmZmI1MzgiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudDEiIHgxPSItLjYyIiB5MT0iODkuNDciIHgyPSIyMzYuOTMiIHkyPSIyMjUuNDQiIHhsaW5rOmhyZWY9IiNsaW5lYXItZ3JhZGllbnQiLz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50MiIgeDE9IjE3LjcxIiB5MT0iNTcuNDMiIHgyPSIyNTUuMjYiIHkyPSIxOTMuNDEiIHhsaW5rOmhyZWY9IiNsaW5lYXItZ3JhZGllbnQiLz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50MyIgeDE9Ii0xOC44IiB5MT0iMTIxLjIzIiB4Mj0iMjE4Ljc0IiB5Mj0iMjU3LjIiIHhsaW5rOmhyZWY9IiNsaW5lYXItZ3JhZGllbnQiLz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50NCIgeDE9Ii0zNy4xNSIgeTE9IjE1My4yNyIgeDI9IjIwMC40MSIgeTI9IjI4OS4yNCIgeGxpbms6aHJlZj0iI2xpbmVhci1ncmFkaWVudCIvPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQ1IiB4MT0iNzIuNTciIHkxPSItMzguNDEiIHgyPSIzMTAuMTIiIHkyPSI5Ny41NyIgeGxpbms6aHJlZj0iI2xpbmVhci1ncmFkaWVudCIvPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQ2IiB4MT0iNTQuMjMiIHkxPSItNi4zNyIgeDI9IjI5MS43OCIgeTI9IjEyOS42MSIgeGxpbms6aHJlZj0iI2xpbmVhci1ncmFkaWVudCIvPgogIDwvZGVmcz4KICA8Zz4KICAgIDxnPgogICAgICA8Zz4KICAgICAgICA8cmVjdCBjbGFzcz0ic3Q4IiB3aWR0aD0iMTMzMyIgaGVpZ2h0PSIyNzIuNiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdDYiIGQ9Ik00MC42MiwzNy41NWwyMjEsMTI3LjYxYzQuMTksMi40Miw5LjU0Ljk4LDExLjk2LTMuMjEsMi40Mi00LjE5Ljk4LTkuNTQtMy4yMS0xMS45Nkw0OS4zOCwyMi4zOGMtNC4xOS0yLjQyLTkuNTQtLjk4LTExLjk2LDMuMi0yLjQyLDQuMTktLjk4LDkuNTQsMy4yMSwxMS45NloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjcwLjM4LDIzNS4wNkw0OS4zOCwxMDcuNDVjLTQuMTktMi40Mi05LjU0LS45OC0xMS45NiwzLjIxLTIuNDIsNC4xOS0uOTgsOS41NCwzLjIxLDExLjk2bDIyMSwxMjcuNmM0LjE5LDIuNDIsOS41NC45OCwxMS45Ni0zLjIsMi40Mi00LjE5Ljk4LTkuNTQtMy4yMS0xMS45NloiLz4KICAgICAgICA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjcwLjM4LDE5Mi41Mkw0OS4zOCw2NC45MmMtNC4xOS0yLjQyLTkuNTQtLjk5LTExLjk2LDMuMi0yLjQyLDQuMTktLjk4LDkuNTQsMy4yMSwxMS45NmwyMjEsMTI3LjZjNC4xOSwyLjQyLDkuNTQuOTksMTEuOTYtMy4yLDIuNDItNC4xOS45OC05LjU0LTMuMjEtMTEuOTZaIi8+CiAgICAgIDwvZz4KICAgICAgPGc+CiAgICAgICAgPHBhdGggY2xhc3M9InN0MiIgZD0iTTQwLjYxLDE2NS4xNWw3My42Nyw0Mi41NGM0LjE5LDIuNDIsOS41NC45OSwxMS45Ni0zLjIxLDIuNDItNC4xOS45OC05LjU0LTMuMi0xMS45NmwtNzMuNjctNDIuNTRjLTQuMTktMi40Mi05LjU0LS45OC0xMS45NiwzLjIxLTIuNDIsNC4xOS0uOTgsOS41NCwzLjIsMTEuOTZaIi8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0NSIgZD0iTTEyMy4wNCwyMzUuMDVsLTczLjY3LTQyLjU0Yy00LjE5LTIuNDItOS41NC0uOTktMTEuOTYsMy4yMS0yLjQyLDQuMTktLjk4LDkuNTQsMy4yLDExLjk2bDczLjY3LDQyLjU0YzQuMTksMi40Miw5LjU0Ljk4LDExLjk2LTMuMjEsMi40Mi00LjE5Ljk4LTkuNTQtMy4yLTExLjk2WiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8Zz4KICAgICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTE4Ny45NSwzNy41NWw3My42Nyw0Mi41NGM0LjE5LDIuNDIsOS41NC45OSwxMS45Ni0zLjIxLDIuNDItNC4xOS45OC05LjU0LTMuMi0xMS45NmwtNzMuNjctNDIuNTRjLTQuMTktMi40Mi05LjU0LS45OC0xMS45NiwzLjIxLTIuNDIsNC4xOS0uOTgsOS41NCwzLjIsMTEuOTZaIi8+CiAgICAgIDxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yNzAuMzgsMTA3LjQ1bC03My42Ny00Mi41NGMtNC4xOS0yLjQyLTkuNTQtLjk5LTExLjk2LDMuMjEtMi40Miw0LjE5LS45OCw5LjU0LDMuMiwxMS45Nmw3My42Nyw0Mi41NGM0LjE5LDIuNDIsOS41NC45OCwxMS45Ni0zLjIxLDIuNDItNC4xOS45OC05LjU0LTMuMi0xMS45NloiLz4KICAgIDwvZz4KICA8L2c+CiAgPGc+CiAgICA8cGF0aCBjbGFzcz0ic3Q3IiBkPSJNMzY5LjI2LDUwLjMzbDk0LDE0NC43NWguNVY1MC4zM2gyMi41djE3OC41aC0yNmwtOTMuMjUtMTQzLjI1aC0uNXYxNDMuMjVoLTIyLjVWNTAuMzNoMjUuMjVaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q3IiBkPSJNNjEyLjc2LDIyMC41OGMtOS42Nyw3LjM0LTIxLjg0LDExLTM2LjUsMTEtMTAuMzQsMC0xOS4yOS0xLjY3LTI2Ljg4LTUtNy41OS0zLjMzLTEzLjk2LTgtMTkuMTItMTQtNS4xNy02LTkuMDQtMTMuMTYtMTEuNjItMjEuNS0yLjU5LTguMzMtNC4wNC0xNy40MS00LjM4LTI3LjI1LDAtOS44MywxLjUtMTguODMsNC41LTI3LDMtOC4xNiw3LjIxLTE1LjI1LDEyLjYyLTIxLjI1LDUuNDEtNiwxMS44My0xMC42NiwxOS4yNS0xNCw3LjQxLTMuMzMsMTUuNTQtNSwyNC4zOC01LDExLjUsMCwyMS4wNCwyLjM4LDI4LjYyLDcuMTIsNy41OCw0Ljc1LDEzLjY2LDEwLjc5LDE4LjI1LDE4LjEyLDQuNTgsNy4zNCw3Ljc1LDE1LjM0LDkuNSwyNCwxLjc1LDguNjcsMi40NiwxNi45MiwyLjEyLDI0Ljc1aC05Ni43NWMtLjE3LDUuNjcuNSwxMS4wNCwyLDE2LjEyLDEuNSw1LjA5LDMuOTEsOS41OSw3LjI1LDEzLjUsMy4zMywzLjkyLDcuNTgsNy4wNCwxMi43NSw5LjM4LDUuMTYsMi4zNCwxMS4yNSwzLjUsMTguMjUsMy41LDksMCwxNi4zOC0yLjA4LDIyLjEyLTYuMjUsNS43NS00LjE2LDkuNTQtMTAuNSwxMS4zOC0xOWgyMWMtMi44NCwxNC41LTkuMDksMjUuNDItMTguNzUsMzIuNzVaTTYwNy42MywxMzcuNThjLTEuOTItNC41LTQuNS04LjM4LTcuNzUtMTEuNjNzLTcuMDktNS44My0xMS41LTcuNzVjLTQuNDItMS45MS05LjI5LTIuODgtMTQuNjItMi44OHMtMTAuNDYuOTYtMTQuODgsMi44OGMtNC40MiwxLjkyLTguMjEsNC41NC0xMS4zOCw3Ljg4LTMuMTcsMy4zNC01LjY3LDcuMjEtNy41LDExLjYzLTEuODQsNC40Mi0yLjkyLDkuMTItMy4yNSwxNC4xMmg3NC4yNWMtLjM0LTUtMS40Ni05Ljc1LTMuMzgtMTQuMjVaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q3IiBkPSJNNjQ1LjI1LDk5LjU4aDI3LjI1bDMxLDQ1LjI1LDMyLjI1LTQ1LjI1aDI1LjVsLTQ0LjUsNTkuNSw1MCw2OS43NWgtMjcuMjVsLTM2LTUzLjUtMzYsNTMuNWgtMjUuNzVsNDguNS02OC00NS02MS4yNVoiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDciIGQ9Ik04NDUsNTAuMzNjOC44MywwLDE3Ljc5LDEuMzgsMjYuODgsNC4xMiw5LjA4LDIuNzUsMTcuMjUsNy41LDI0LjUsMTQuMjVzMTMuMTYsMTUuODgsMTcuNzUsMjcuMzhjNC41OCwxMS41LDYuODgsMjYsNi44OCw0My41LDAsMTYtMi4zNCwyOS42Ny03LDQxLTQuNjcsMTEuMzQtMTAuOTIsMjAuNTQtMTguNzUsMjcuNjItNy44NCw3LjA5LTE2Ljc1LDEyLjI5LTI2Ljc1LDE1LjYyLTEwLDMuMzQtMjAuNDIsNS0zMS4yNSw1aC01NC43NVY1MC4zM2g2Mi41Wk04MzguNSwyMjMuODNjMTAuNSwwLDIwLjQ2LTEuNzEsMjkuODgtNS4xMiw5LjQxLTMuNDEsMTcuNjYtOC41OCwyNC43NS0xNS41LDcuMDgtNi45MSwxMi42Ni0xNS42NiwxNi43NS0yNi4yNSw0LjA4LTEwLjU4LDYuMTItMjMuMDQsNi4xMi0zNy4zOCwwLTE2LjY2LTIuMDktMzAuNDEtNi4yNS00MS4yNS00LjE3LTEwLjgzLTkuNjctMTkuNDYtMTYuNS0yNS44OC02Ljg0LTYuNDEtMTQuNTQtMTAuODgtMjMuMTItMTMuMzgtOC41OS0yLjUtMTcuMzgtMy43NS0yNi4zOC0zLjc1aC01Ni4yNXYxNjguNWg1MVoiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDciIGQ9Ik05NDEuNzUsMTM5LjIxYzIuNS04LjA4LDYuMjEtMTUuMjEsMTEuMTItMjEuMzgsNC45MS02LjE2LDEwLjk2LTExLjEyLDE4LjEyLTE0Ljg4LDcuMTYtMy43NSwxNS41LTUuNjIsMjUtNS42MnMxNy41OCwxLjg4LDI0Ljc1LDUuNjJjNy4xNiwzLjc1LDEzLjIxLDguNzEsMTguMTIsMTQuODgsNC45MSw2LjE3LDguNjIsMTMuMjksMTEuMTIsMjEuMzgsMi41LDguMDksMy43NSwxNi41NCwzLjc1LDI1LjM4cy0xLjI1LDE3LjI5LTMuNzUsMjUuMzhjLTIuNSw4LjA5LTYuMjEsMTUuMjEtMTEuMTIsMjEuMzgtNC45Miw2LjE3LTEwLjk2LDExLjA5LTE4LjEyLDE0Ljc1LTcuMTcsMy42Ni0xNS41LDUuNS0yNSw1LjVzLTE3LjU5LTEuODQtMjQuNzUtNS41Yy03LjE3LTMuNjYtMTMuMjEtOC41OC0xOC4xMi0xNC43NS00LjkyLTYuMTYtOC42Mi0xMy4yOS0xMS4xMi0yMS4zOC0yLjUtOC4wOC0zLjc1LTE2LjU0LTMuNzUtMjUuMzhzMS4yNS0xNy4yOSwzLjc1LTI1LjM4Wk05NDYuMzcsMTg4LjA4YzIuMjUsNy41LDUuNjIsMTQuMTIsMTAuMTIsMTkuODhzMTAuMDQsMTAuMzQsMTYuNjIsMTMuNzVjNi41OCwzLjQyLDE0LjIxLDUuMTIsMjIuODgsNS4xMnMxNi4wNC0xLjcxLDIyLjYyLTUuMTJjNi41OC0zLjQxLDEyLjEyLTgsMTYuNjItMTMuNzVzNy44OC0xMi4zOCwxMC4xMi0xOS44OCwzLjM4LTE1LjMzLDMuMzgtMjMuNS0xLjEyLTE1Ljc1LTMuMzgtMjMuMjVjLTIuMjUtNy41LTUuNjItMTQuMTMtMTAuMTItMTkuODhzLTEwLjA0LTEwLjM4LTE2LjYyLTEzLjg4Yy02LjU5LTMuNS0xNC4xMi01LjI1LTIyLjYyLTUuMjVzLTE2LjI5LDEuNzUtMjIuODgsNS4yNWMtNi41OSwzLjUtMTIuMTIsOC4xMi0xNi42MiwxMy44OHMtNy44OCwxMi4zOC0xMC4xMiwxOS44OGMtMi4yNSw3LjUtMy4zOCwxNS4yNS0zLjM4LDIzLjI1czEuMTIsMTYsMy4zOCwyMy41WiIvPgogICAgPHBhdGggY2xhc3M9InN0NyIgZD0iTTExNzIuNzUsMjA0LjQ2Yy0yLjg0LDUuNzUtNi41NCwxMC42Mi0xMS4xMiwxNC42Mi00LjU5LDQtOS45Miw3LjA5LTE2LDkuMjUtNi4wOSwyLjE2LTEyLjc5LDMuMjUtMjAuMTIsMy4yNS05LjE3LDAtMTcuMjktMS43MS0yNC4zOC01LjEyLTcuMDktMy40MS0xMy4wNC04LjA0LTE3Ljg4LTEzLjg4LTQuODQtNS44My04LjUtMTIuNjItMTEtMjAuMzhzLTMuNzUtMTYuMDQtMy43NS0yNC44OGMwLTkuMzMsMS4yMS0xOC4yMSwzLjYyLTI2LjYyLDIuNDEtOC40MSw2LjA4LTE1LjgzLDExLTIyLjI1LDQuOTEtNi40MSwxMS4xNi0xMS41NCwxOC43NS0xNS4zOCw3LjU4LTMuODMsMTYuNDYtNS43NSwyNi42Mi01Ljc1LDYsMCwxMS43NS45MiwxNy4yNSwyLjc1LDUuNSwxLjg0LDEwLjQxLDQuNSwxNC43NSw4LDQuMzMsMy41LDcuOTYsNy44OCwxMC44OCwxMy4xMiwyLjkxLDUuMjUsNC43OSwxMS4yOSw1LjYyLDE4LjEzaC01Yy0xLTYuMzMtMi44NC0xMS43OS01LjUtMTYuMzgtMi42Ny00LjU4LTUuOTItOC40MS05Ljc1LTExLjUtMy44NC0zLjA4LTguMTctNS4zOC0xMy02Ljg4LTQuODQtMS41LTkuOTItMi4yNS0xNS4yNS0yLjI1LTEwLjE3LDAtMTguNzksMS45Ni0yNS44OCw1Ljg4LTcuMDksMy45Mi0xMi43NSw5LTE3LDE1LjI1cy03LjM0LDEzLjI1LTkuMjUsMjFjLTEuOTIsNy43NS0yLjg4LDE1LjM4LTIuODgsMjIuODhzMS4xMiwxNS4zNCwzLjM4LDIyLjVjMi4yNSw3LjE3LDUuNTQsMTMuNSw5Ljg4LDE5LDQuMzMsNS41LDkuNzUsOS44OCwxNi4yNSwxMy4xMnMxNCw0Ljg4LDIyLjUsNC44OGM2LjMzLDAsMTIuMjUtLjk2LDE3Ljc1LTIuODgsNS41LTEuOTEsMTAuMzgtNC43MSwxNC42Mi04LjM4LDQuMjUtMy42Niw3LjcxLTguMDQsMTAuMzgtMTMuMTIsMi42Ni01LjA4LDQuMjUtMTAuODgsNC43NS0xNy4zOGg1Yy0uNjcsNy4xNy0yLjQyLDEzLjYyLTUuMjUsMTkuMzhaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q3IiBkPSJNMTI4MC4yNSwxMjEuODNjLTItNC41LTQuODQtOC4yMS04LjUtMTEuMTItMy42Ny0yLjkxLTguMDQtNS4wNC0xMy4xMi02LjM4LTUuMDktMS4zMy0xMC43MS0yLTE2Ljg4LTItOSwwLTE2LjA5LDEuMjEtMjEuMjUsMy42Mi01LjE3LDIuNDItOSw1LjE3LTExLjUsOC4yNS0yLjUsMy4wOS00LjA5LDYuMTItNC43NSw5LjEyLS42NywzLTEsNS4wOS0xLDYuMjUsMCw2LjM0LDEuMjksMTEuMjEsMy44OCwxNC42MywyLjU4LDMuNDIsNi4wNCw2LjA0LDEwLjM4LDcuODgsNC41LDEuODQsOS4zOCwzLjQyLDE0LjYyLDQuNzUsNS4yNSwxLjM0LDExLjM4LDIuOTIsMTguMzgsNC43NSw1LDEuMzQsOS45NiwyLjcxLDE0Ljg4LDQuMTIsNC45MSwxLjQyLDkuMzMsMy4zOCwxMy4yNSw1Ljg4LDMuOTEsMi41LDcuMDgsNS42Nyw5LjUsOS41LDIuNDEsMy44NCwzLjYyLDguODQsMy42MiwxNSwwLDYuNS0xLjM4LDEyLTQuMTIsMTYuNXMtNi4zNCw4LjE3LTEwLjc1LDExYy00LjQyLDIuODQtOS40Miw0Ljg4LTE1LDYuMTItNS41OSwxLjI1LTExLjEyLDEuODgtMTYuNjIsMS44OC0xNy4xNywwLTMwLjEyLTMuNzUtMzguODgtMTEuMjVzLTEzLjEyLTE5LjMzLTEzLjEyLTM1LjVoNWMwLDE0LjUsNC4wNCwyNS4xMiwxMi4xMiwzMS44OCw4LjA4LDYuNzUsMTkuNzEsMTAuMTIsMzQuODgsMTAuMTIsNC42NiwwLDkuNDYtLjU0LDE0LjM4LTEuNjIsNC45MS0xLjA4LDkuMzgtMi44MywxMy4zOC01LjI1LDQtMi40MSw3LjI5LTUuNTQsOS44OC05LjM4LDIuNTgtMy44MywzLjg4LTguNSwzLjg4LTE0cy0xLjI5LTEwLjI1LTMuODgtMTMuNzVjLTIuNTktMy41LTUuOTItNi4zOC0xMC04LjYyLTQuMDktMi4yNS04Ljc5LTQuMDQtMTQuMTItNS4zOC01LjM0LTEuMzMtMTAuNzUtMi42Ni0xNi4yNS00LTYuMTctMS41LTExLjU5LTIuOTEtMTYuMjUtNC4yNS00LjY3LTEuMzMtOC44NC0yLjgzLTEyLjUtNC41LTUuMzQtMi4zMy05LjI1LTUuNTgtMTEuNzUtOS43NS0yLjUtNC4xNi0zLjc1LTkuNzUtMy43NS0xNi43NSwwLTMuNS43NS03LjE2LDIuMjUtMTEsMS41LTMuODMsNC03LjMzLDcuNS0xMC41LDMuNS0zLjE2LDgtNS43NSwxMy41LTcuNzVzMTIuMjUtMywyMC4yNS0zYzE0LjMzLDAsMjUuNjYsMy4yNSwzNCw5Ljc1LDguMzMsNi41LDEyLjUsMTYuOTIsMTIuNSwzMS4yNWgtNWMwLTYuNS0xLTEyLTMtMTYuNVoiLz4KICA8L2c+Cjwvc3ZnPg==);
    width: auto;
    height: 40px;
}

/* Explore button and URL field, matched to the logo gradient.
   NOTE: a hash followed by a colour name is invalid CSS and the declaration
   is dropped - use a hex value or a bare keyword. */
.swagger-ui .topbar .download-url-wrapper .download-url-button {
    background-color: #f6730f !important;
    border-color: #f6730f !important;
}

.swagger-ui .topbar .download-url-wrapper input[type=text] {
    border-color: #f6730f !important;
}

/* --------------------------------------------------------------------------
   Blockquotes - the >*NOTE:* callouts in operation descriptions
   -------------------------------------------------------------------------- */

blockquote {
    background: #f9e2ce;
    border-left: 10px solid #ccc;
    margin: 1.5em 10px;
    padding: 0.5em 10px;
    quotes: "\201C""\201D""\2018""\2019";
}

blockquote:before {
    color: #f6730f;
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    margin-right: 0.25em;
    vertical-align: -0.4em;
}

blockquote p {
    display: inline;
}

/* --------------------------------------------------------------------------
   Mobile - topbar
   --------------------------------------------------------------------------
   Below 576px the row cannot fit the logo, the URL field and the Explore
   button side by side. Logo centred on the first line, field and button
   filling the second.

   `flex: 1 1 0` on the input rather than `flex: 1 1 auto` matters: with basis
   `auto` the browser resolves the basis from Swagger UI's `width: 100%` and
   the input never enters the grow phase, so it sits at its content width and
   leaves dead space. Basis 0 forces it to absorb everything the button
   does not need.
   -------------------------------------------------------------------------- */

@media (max-width: 575.98px) {

    /* Swagger UI's .wrapper holds 20px of side padding, which insets the
       whole row. Reclaim most of it so the field spans the topbar. */
    .swagger-ui .topbar .wrapper {
        padding: 0 8px;
    }

    .swagger-ui .topbar .topbar-wrapper {
        flex-wrap: wrap;
        gap: 8px;
    }

    .swagger-ui .topbar a.link {
        flex: 1 1 100%;
        justify-content: center;
    }

    .topbar-wrapper img {
        height: 28px;
    }

    .swagger-ui .topbar .download-url-wrapper {
        display: flex;
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        justify-content: flex-start;
    }

    .swagger-ui .topbar .download-url-wrapper input[type=text] {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box;
    }

    .swagger-ui .topbar .download-url-wrapper .download-url-button {
        flex: 0 0 auto;
        white-space: nowrap;
        padding: 4px 14px;
    }

    /* To hide the URL field on phones entirely - nobody pastes a spec URL on
       a handset - swap the rules above for this one:

    .swagger-ui .topbar .download-url-wrapper { display: none; }
    */
}

/* --------------------------------------------------------------------------
   Mobile - servers select and tag filter
   --------------------------------------------------------------------------
   A <select> sizes itself to its longest option, and Swagger UI's
   `max-width: 100%` has nothing to resolve against, so a long server URL
   pushes the control past the container edge.

   The filter input is targeted directly rather than through `.filter`,
   because the wrapper markup differs between Swagger UI builds.
   -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {

    .swagger-ui .scheme-container {
        padding: 16px 0;
        margin: 0 0 24px;
    }

    .swagger-ui .scheme-container .schemes {
        flex-wrap: wrap;
        padding: 0 10px;
    }

    .swagger-ui .scheme-container .schemes-server-container,
    .swagger-ui .scheme-container .schemes-title {
        width: 100%;
        min-width: 0;
    }

    .swagger-ui .servers,
    .swagger-ui .servers > label {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .swagger-ui .servers-title {
        margin-bottom: 6px;
    }

    .swagger-ui .servers > label select,
    .swagger-ui .scheme-container select {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        text-overflow: ellipsis;
    }

    /* tag filter */
    .swagger-ui .filter-container,
    .swagger-ui .filter {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .swagger-ui .filter {
        padding: 0 10px 12px;
    }

    .swagger-ui input.operation-filter-input,
    .swagger-ui .filter .operation-filter-input {
        display: block;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box;
        margin: 0;
    }
}

/* --------------------------------------------------------------------------
   Mobile - tag group headers
   --------------------------------------------------------------------------
   `.opblock-tag` is a flex row holding the tag name and its description. On a
   narrow screen the description is squeezed to its minimum content width and
   renders one character per line.
   -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {

    .swagger-ui .opblock-tag {
        flex-wrap: wrap;
        row-gap: 4px;
        align-items: flex-start;
        position: relative;
        padding: 12px 44px 12px 10px;   /* room for the expand chevron */
    }

    .swagger-ui .opblock-tag a.nostyle,
    .swagger-ui .opblock-tag > a {
        flex: 1 1 100%;
        min-width: 0;
        word-break: break-word;
    }

    .swagger-ui .opblock-tag small {
        flex: 1 1 100%;
        min-width: 0;
        padding: 0;
        line-height: 1.4;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    .swagger-ui .opblock-tag small p {
        margin: 0;
    }

    /* the empty flex spacer Swagger UI uses to push the chevron right */
    .swagger-ui .opblock-tag > div:empty {
        display: none;
    }

    .swagger-ui .opblock-tag button.expand-operation {
        position: absolute;
        top: 14px;
        right: 10px;
    }
}

/* --------------------------------------------------------------------------
   Mobile - operation summary rows
   --------------------------------------------------------------------------
   Swagger UI gives the path `flex: 0 3 auto` with `word-break: break-all`
   and no min-width. break-all makes the minimum content width one character,
   and a shrink factor of 3 lets the flex item collapse all the way to it - so
   a long path renders as a single-character vertical column.
   -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {

    .swagger-ui .opblock .opblock-summary {
        flex-wrap: wrap;
        row-gap: 6px;
        padding: 8px 40px 8px 8px;
        position: relative;
    }

    .swagger-ui .opblock .opblock-summary-method {
        flex: 0 0 auto;
        min-width: 74px;
        font-size: 12px;
        padding: 6px 8px;
    }

    .swagger-ui .opblock .opblock-summary-path,
    .swagger-ui .opblock .opblock-summary-path__deprecated {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 0;
        word-break: break-word;
        overflow-wrap: anywhere;
        font-size: 13px;
    }

    .swagger-ui .opblock .opblock-summary-path a,
    .swagger-ui .opblock .opblock-summary-path span {
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .swagger-ui .opblock .opblock-summary-description {
        flex: 1 1 100%;
        min-width: 0;
        font-size: 13px;
        word-break: break-word;
    }

    .swagger-ui .opblock .opblock-summary .opblock-control-arrow,
    .swagger-ui .opblock .opblock-summary button.opblock-summary-control svg {
        position: absolute;
        top: 12px;
        right: 10px;
    }
}

/* --------------------------------------------------------------------------
   Mobile - long values and tables
   -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {

    /* policy blobs and signatures are hundreds of characters on one line */
    .swagger-ui .opblock-body pre.microlight,
    .swagger-ui .renderedMarkdown pre,
    .swagger-ui .renderedMarkdown code,
    .swagger-ui .response-col_description__inner div.microlight {
        white-space: pre-wrap;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .swagger-ui table.parameters,
    .swagger-ui table.responses-table,
    .swagger-ui .renderedMarkdown table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .swagger-ui .parameter__name,
    .swagger-ui .parameter__type {
        word-break: break-word;
    }

    .swagger-ui .info .title {
        word-break: break-word;
    }
}