.sponsors {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  margin: 1rem 0;
}

.sponsors > div {
  text-align: center;
  width: 33%;
  padding-bottom: 20px;
}

.sponsors span {
  display: block;
}

@media screen and (max-width: 599px) {
  .sponsors span {
    display: none;
  }
}

.sponsors img {
  width: 65%;
  border-radius: 5px;
}

/*blog post*/
aside.blog {
  display: flex;
  align-items: center;
}

aside.blog img {
  width: 50px;
  height: 50px;
  border-radius: 25px;
  margin-right: 20px;
}

/* Define the company grid layout */

#grid-container {
  width: 100%;
  text-align: center;
}

#company-grid {
  display: inline-block;
  margin: 0 auto;
  gap: 10px;
  align-content: center;
  justify-content: center;
  grid-auto-flow: column;
}

[data-md-color-scheme="slate"] #company-grid {
  background-color: #ffffff;
  border-radius: .5rem;
  color: black;
}

.tile {
  display: flex;
  text-align: center;
  width: 120px;
  height: 120px;
  display: inline-block;
  margin: 10px;
  padding: 5px;
  border-radius: .5rem;
}

.tile img {
  width: 100px;
}

.md-typeset__table > table {
  max-height: 60vh;
}

.md-typeset__table > table thead {
  position: sticky;
  top: 0;
  background-color: var(--md-default-bg-color);
}

.md-typeset__table > table th {
  border-bottom: .05rem solid var(--md-typeset-table-color);
}

.md-typeset__table > table tr:first-child td {
  border-top: none;
}

/* API documentation link admonition */
:root {
  --md-admonition-icon--api: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 7H5a2 2 0 0 0-2 2v8h2v-4h2v4h2V9a2 2 0 0 0-2-2m0 4H5V9h2m7-2h-4v10h2v-4h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2m0 4h-2V9h2m6 0v6h1v2h-4v-2h1V9h-1V7h4v2Z"/></svg>')
}
.md-typeset .admonition.api, .md-typeset details.api {
  border-color: #448aff;
}
.md-typeset .api > .admonition-title, .md-typeset .api > summary {
  background-color: #448aff1a;
}
.md-typeset .api > .admonition-title::before, .md-typeset .api > summary::before {
  background-color: #448aff;
  -webkit-mask-image: var(--md-admonition-icon--api);
          mask-image: var(--md-admonition-icon--api);
}

/* Logfire link admonition */
:root {
  --md-admonition-icon--logfire: url('data:image/svg+xml;charset=utf-8,<svg viewBox="10 10 70 70" xmlns="http://www.w3.org/2000/svg"><path d="M48.75 60V48.75H37.5V18.75H26.25V60H37.5V71.25H63.75V60H48.75Z"/></svg> ')
}
.md-typeset .admonition.logfire, .md-typeset details.logfire {
  border-color: #e620e9;
}
.md-typeset .logfire > .admonition-title, .md-typeset .logfire > summary {
  background-color: #e620e91a;
}
.md-typeset .logfire > .admonition-title::before, .md-typeset .logfire > summary::before {
  background-color: #e620e9;
  -webkit-mask-image: var(--md-admonition-icon--logfire);
          mask-image: var(--md-admonition-icon--logfire);
}

/* Hide the run button in logfire admonitions */
.admonition.logfire .run-code-btn {
  display: none;
}

/* add border to screenshots in the logfire admonitions `img[src*="logfire"]` to differentiate from emojis */
.admonition.logfire img[src*="logfire"] {
  border: 1px solid #448aff;
  border-radius: 0.2rem;
  padding: 0.2rem;
}

/* banner slightly larger */
.md-banner__inner {
  font-size: 0.8rem;
  margin: 0.3rem auto;
}

/* Revert hue value to that of pre mkdocs-material v9.4.0 */
[data-md-color-scheme="slate"] {
  --md-hue: 230;
  --md-default-bg-color: hsla(230, 15%, 21%, 1);
}

/* Add customization for pydantic people page */

.user-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.user-list-center {
  justify-content: space-evenly;
}

.user {
  margin: 1em;
  min-width: 7em;
}

.user .avatar-wrapper {
  width: 80px;
  height: 80px;
  margin: 10px auto;
  overflow: hidden;
  border-radius: 50%;
  position: relative;
}

.user .avatar-wrapper img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.user .title {
  text-align: center;
}

.user .count {
  font-size: 80%;
  text-align: center;
}

/* Mkdocstrings: Improve member and category heading visibility */
.md-typeset .doc-contents h3.doc.doc-heading,
.md-typeset .doc-contents h4.doc.doc-heading,
.md-typeset .doc-contents h5.doc.doc-heading,
.doc .doc-contents .doc-heading,
/* Category headers under class blocks may be plain h3/h4 directly under .doc-children */
.doc .doc-children > h3,
.doc .doc-children > h4,
.doc .doc-children > h5 {
  font-size: 1em !important;
  color: var(--md-typeset-color) !important;
  margin-left: -1em !important;
}
.md-typeset .doc.doc-class > .doc-heading {
  margin-left: -1em !important; /* outdent class H3 */
}
.doc .doc-object:not(:first-child) > .doc-heading {
  margin-top: 1.2rem;
  padding-top: 0.2rem;
  border-top: .05rem solid var(--md-typeset-table-color);
}

/* Add separation before each new class block on the page */
.md-typeset .doc-children > .doc.doc-class:not(:first-child) > .doc-heading,
.md-typeset .doc.doc-class + .doc.doc-class > .doc-heading {
  margin-top: 1.6rem;
  padding-top: 0.4rem;
  border-top: .05rem solid var(--md-typeset-table-color);
}

/* Make headings a bit more prominent than body text while theme-aware */
.md-typeset .doc-contents h3.doc.doc-heading,
.md-typeset .doc-contents h4.doc.doc-heading,
.md-typeset .doc-contents h5.doc.doc-heading,
.md-typeset .doc.doc-class > .doc-heading,
.doc .doc-children > h3,
.doc .doc-children > h4,
.doc .doc-children > h5 {
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}
