.rst-content code, .rst-content tt, .rst-content .admonition code {
  font-size: 85% !important;
  border: none;
  width: 100%;
}

.rst-content .section ul li > * {
  margin-top: 3px !important;
  margin-bottom: 3px !important;
}

.rst-content .admonition code {
  background: rgba(255, 255, 255, 0.3) !important;
}

.rst-content .section ol li>ol, 
.rst-content .section ol li>ul, 
.rst-content .section ul li>ol, 
.rst-content .section ul li>ul, 
.rst-content .toctree-wrapper ol li>ol, 
.rst-content .toctree-wrapper ol li>ul, 
.rst-content .toctree-wrapper ul li>ol, 
.rst-content .toctree-wrapper ul li>ul, 
.rst-content section ol li>ol, 
.rst-content section ol li>ul, 
.rst-content section ul li>ol, 
.rst-content section ul li>ul
{
  margin-top: 3px !important;
  margin-bottom: 3px !important;
}

.rst-content .section ol li>*, 
.rst-content .section ul li>*, 
.rst-content .toctree-wrapper ol li>*, 
.rst-content .toctree-wrapper ul li>*, 
.rst-content section ol li>*, 
.rst-content section ul li>* {
  margin-top: 3px !important;
  margin-bottom: 3px !important;
}



.monotext {
  font-family:monospace;
  font-size:0.9em;
  border: 1px solid #e1e4e5;
  background-color: #f8f8f8;
  padding: 1px 2px;
  margin: 0px 3px;
}

.monotext-block {
  display: block;
  font-family:monospace;
  font-size:0.8em;
  border: 1px solid #e1e4e5;
  background-color: #f8f8f8;
  padding: 3px;
  margin-bottom: 12px;
}

pre {
  position: relative !important;

  code {
    font-size: 80% !important;
    min-height: 30px;
    margin-bottom: 26px;
    border: 1px solid rgb(225, 228, 229) !important;
  }

}

.rst-content code {
  padding: 2px 3px !important;
}

.center-img {
  display: block;
  margin: 0 auto;
}

mjx-container {
  font-size: 110% !important;
}


.clipboard {
  position: absolute;
  display: block;
  right: -25px;
  top: 0;
}

.btn-clipboard {
  position: relative;
  top: 0;
  right: 0;
  z-index: 10;
  display: block;
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  opacity: 0.3;
}

.btn-clipboard:hover {
  opacity: 0.8;
  
}

input[type="checkbox"][switch] {
  position: absolute;
  display: block;
  right: -29px;
  top: 20px;
  opacity: 0.3;
}

input[type="checkbox"][switch]:hover {
  opacity: 0.8;
  
}

.code-wrapped pre > code,
.code-autowrap {
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
  overflow-x: auto;
}

.oasis-internal {
  display: none !important;
}

.func-section {

  padding-top: 20px;
  padding-bottom: 20px;

  & .func-header {
    border-top: 3px solid rgb(110, 203, 240);
    background-color: rgb(239, 248, 253);
    font-family: Lato, proxima-nova, Helvetica Neue, Arial, sans-serif;
    font-size:15px;
    padding: 8px;
    display:flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 15px;

    & > span {
      padding: 3px;
    }

    & > div:last-child {
      font-size: 90%;
      color:gray;
    }

  }

  & .interface-header {
    border-top: 3px solid rgb(105, 206, 92);
    background-color: rgb(241, 255, 239);
    font-family: Lato, proxima-nova, Helvetica Neue, Arial, sans-serif;
    font-size:15px;
    padding: 8px;
    display:flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
    font-style: italic !important;

    & > span {
      padding: 3px;
    }

    & .func-name, .func-return, .func-arguments, .func-arg-name, .func-arg-type, .func-arg-default{
      font-weight: 400 !important;
    }

    & > div:last-child {
      font-size: 90%;
      color:gray;
    }    
  }


  & .func-body-description {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 20px;
  }
  & .func-body-arguments, .func-body-returns {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 20px;

    & .func-argument-header, .func-return-header {
      padding-top: 3px;
      padding-bottom: 3px;
      color: gray;

      & > span {
        border-left: 3px solid gray;
        padding-left: 6px;
      }
    }

  }

  & .func-return-contents {
  }

  & .func-arg-description, .func-return-description {
    font-size: 0.9em;
  }

  & .func-return-description {
    padding-left: 12px;
  }

  & .func-argument {
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 12px;
  }

  & .func-return-enums {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 12px;
    margin-bottom: 0px !important;
  }

  & .func-return-enum {

    & .func-return-enum-name {
      
    }
    & .func-return-enum-description {
      
    }
    
  }

  & .func-parenthesis {
    color:black;
    font-weight:normal;
  }

  & .func-arg-name {
    color: darkslategray;
    font-weight: bold;
  }

  & .func-return, .func-arguments, .func-arg-type {
    color: rgb(15, 133, 252);
    font-weight: bold;

  }

  & .func-arg-default {
    color: gray;
    font-weight: 400;
    font-size: 75%;
  }

  & .func-arg-dir {
    color: #6f3ce7;
    white-space: pre-wrap;
    padding: 1px 2px;
    word-wrap: break-word;
    font-size: 65%;
    font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;
    font-weight: 400;
    background: transparent;
    border: 1px solid #6f3ce7;
  }


  & .func-name  {
    color: black;
    font-weight: bold;
  }
}

.parameters-section {
  width: 100%;
  font-size: 90%;
  margin: 0 0 24px;

  & .parameter-container-header {
    font-weight: bold;
  }

  & .parameter-container {
    display: flex;
    flex-wrap: wrap;

    border-top: 1px solid #e1e4e5 !important;
    border-left: 1px solid #e1e4e5 !important;
    border-right: 1px solid #e1e4e5 !important;
      

    & .parameter-key {
      flex: 0 0 50%;
      text-align:left;
      padding: 8px 16px;
      border-right: 1px solid #e1e4e5 !important;
      display: flex;
      flex-direction: column;
      justify-content: center;
      & > span {
        font-weight:bold;
      }
    }
    & .parameter-default {
      flex: 0 0 30%;
      text-align:center;
      padding: 8px 16px;
      border-right: 1px solid #e1e4e5 !important;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    & .parameter-opt {
      flex: 0 0 10%;
      text-align:center;
      padding: 8px 16px;
      border: none;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    & .parameter-desc {
      flex: 0 0 100%;
      text-align:left;
      padding: 8px 16px;
      border-top: 1px solid #e1e4e5 !important;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }

  & .parameter-container:not(.parameter-container-header):nth-child(odd) {
    background-color: #f3f6f6;
  }

  & .parameter-container:nth-child(even) {
    background-color: #ffffff;
  }

  & .parameter-container:last-child {
    border-bottom: 1px solid #e1e4e5 !important;
  }

  & table td, table th {
    white-space: wrap !important;
  }
}


span.mkcode {
  color: #E74C3C;
  white-space: pre-wrap;
  padding: 2px 5px;
  word-wrap: break-word;
  font-size:85%;
  font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;
  font-weight: 400;
  background: transparent;
  /*border: 1px solid #e1e4e5;*/
  display: inline;
}


.wy-table-responsive table td {
  white-space: normal !important;
  word-break: break-word;
}


.example-code-block {
  border: 1px solid #e1e4e5 !important;
}

.typedef-section {

  padding-top: 6px;
  padding-bottom: 6px;
  margin-bottom: 20px;

  border-top: 3px solid rgb(248, 203, 161);
  background-color: rgb(250, 245, 241);

  .typedef-header {
    font-family: Lato, proxima-nova, Helvetica Neue, Arial, sans-serif;
    font-size:15px;
    padding: 8px;
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
    
    & > span {
      padding: 3px;
    }

    & .typedef-keyword {
      color: rgb(255, 60, 0);
    }

    & .typedef-type {
      color: black;
    }

    & .typedef-name {
      color: rgb(15, 133, 252);
      font-weight: 600;
    }

    & .typedef-headerfile {
      font-size: 90%;
      color:gray;
    }
  }


  & .typedef-body-description {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 20px;
  }
  & .typedef-body-arguments, .typedef-body-returns {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 20px;

    & .typedef-argument-header, .typedef-return-header {
      padding-top: 3px;
      padding-bottom: 3px;
      color: gray;

      & > span {
        border-left: 3px solid gray;
        padding-left: 6px;
      }
    }

  }

  & .typedef-return-contents {
  }

  & .typedef-arg-description, .typedef-return-description {
    font-size: 0.9em;
  }

  & .typedef-return-description {
    padding-left: 12px;
  }

  & .typedef-argument {
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 12px;
  }

  & .typedef-return-enums {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 12px;
    margin-bottom: 0px !important;
  }

  & .typedef-return-enum {

    & .typedef-return-enum-name {
      
    }
    & .typedef-return-enum-description {
      
    }
    
  }


  & .typedef-parenthesis {
    color:black;
    font-weight:normal;
  }

  & .typedef-arg-name {
    color: darkslategray;
    font-weight: bold;
  }

  & .typedef-return, .typedef-arguments, .typedef-arg-type {
    color: rgb(15, 133, 252);
    font-weight: bold;

  }

  & .typedef-arg-default {
    color: gray;
    font-weight: 400;
    font-size: 75%;
  }

  & .typedef-arg-dir {
    color: #6f3ce7;
    white-space: pre-wrap;
    padding: 1px 2px;
    word-wrap: break-word;
    font-size: 65%;
    font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;
    font-weight: 400;
    background: transparent;
    border: 1px solid #6f3ce7;
  }


  & .typedef-name  {
    color: black;
    font-weight: bold;
  }


}

.struct-section {
  width: 100%;
  margin-bottom: 20px;

  & table {
    width: 100%;
  }


  & .struct-header {
    border-top: 3px solid rgb(240, 125, 110);
    background-color: rgb(248, 242, 241);
    font-family: Lato, proxima-nova, Helvetica Neue, Arial, sans-serif;
    font-size:15px;
    padding: 8px;
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
    margin-bottom: 6px;
  }

  & .struct-description {
    padding-top: 6px;
    padding-bottom: 12px;
    padding-left: 20px;
  }

  & .struct-container-header {
    font-weight: bold;
  }


  & .struct-container {
    display: flex;
    flex-wrap: wrap;
    font-size: 90%;

    border-top: 1px solid #e1e4e5 !important;
    border-left: 1px solid #e1e4e5 !important;
    border-right: 1px solid #e1e4e5 !important;
      
    & .struct-item-type {
      flex: 0 0 40%;
      text-align:left;
      padding: 8px 8px;
      border-right: 1px solid #e1e4e5 !important;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    & .struct-item-name {
      flex: 0 0 55%;
      text-align:center;
      padding: 8px 8px;
      border-right: none !important;
      display: flex;
      flex-direction: column;
      justify-content: center;
      & > span {
        font-weight: bold;
      }
    }
    & .struct-item-desc {
      flex: 0 0 100%;
      text-align:left;
      padding: 8px 8px;
      border-top: 1px solid #e1e4e5 !important;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }

  & .struct-container:not(.struct-container-header):nth-child(odd) {
    background-color: #f3f6f6;
  }

  & .struct-container:nth-child(even) {
    background-color: #ffffff;
  }

  & .struct-container:last-child {
    border-bottom: 1px solid #e1e4e5 !important;
  }
  
  

  table {
    padding-left: 20px;
  }

  & .struct-keyword {
    color: rgb(255, 60, 0);
  }

  & .struct-name {
    color: rgb(15, 133, 252);
    font-weight: 600;
  }

  & .struct-header {
    font-size: 90%;
    color:gray;
  }

  & .member-type {
    font-weight: normal;
    color: black;
    white-space: wrap !important;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  & .member-name {
    font-weight: normal;
    text-align:left;
    padding-left:8px !important;
    padding-right:8px !important;    
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  & .member-description {
    font-weight: normal;
    color: black;
  }

}

@media (min-width:768px) {
  .parameters-section {
    & .parameter-container {
      flex-wrap: nowrap;
      & .parameter-key {
        flex: 0 0 20%;
        & > span {
          font-weight:normal !important;
        }
      }
      & .parameter-default {
        flex: 0 0 15%;
      }
      & .parameter-opt {
        flex: 0 0 5%;
        border-right: 1px solid #e1e4e5 !important;
      }
      & .parameter-desc {
        flex: 1 0 57%;
        border-top: none !important;
      }
    }
  }
  .func-section {
    & .func-header {
      flex-direction: row;
    }

    & .interface-header {
      flex-direction: row;
    }
  }
  .typedef-section {
    .typedef-header {
      flex-direction: row;
    }
  }
  .struct-section {
    .struct-header {
      flex-direction: row;
    }

    & .struct-container {
      flex-wrap: nowrap;
      & .struct-item-type {
        flex: 0 0 25%;
      }
      & .struct-item-name {
        flex: 0 0 30%;
        border-right: 1px solid #e1e4e5 !important;
        & > span {
          font-weight: normal !important;
        }

      }
      & .struct-item-desc {
        flex: 1 0 45%;
        border-top: none !important;
      }
    }
  }
}

.video-container {
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-bottom: 46%;
  max-width: 480px;
  margin-bottom: 20px;

  & video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
