/* on content layouts we want the background to be surface instead of canvas */
body {
  background-color: var(--ory-theme-background-surface);
}
header {
  color: white;
  background: #000;
  height: 5rem;
}
header .logo-wrapper {
  height: 100%;
  width: 260px;
  margin-left: 3em;
}
header .logo {
  padding-top: 10px;
  height: 100%;
  background-color: white;
  -webkit-mask: url(logo.svg) no-repeat center;
  mask: url(logo.svg) no-repeat center;
}
/* only manage the content next to the nav */
.container {
  display: flex;
  flex-direction: column;
  /* on mobile we have a padding top of 2rem */
  padding: 2rem 2rem;
  /* on mobile we dont want the content hidden under the nav */
  margin-top: 3rem;
  height: auto;
}

/* manage nav and content */
.app-container {
  display: flex;
  flex-direction: row;
  min-height: 100vh;
  min-width: 100%;
  /* we need this padding since the footer will hide content at the bottom of the container */
  padding-bottom: 5.5rem;
}

.wrap-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

body:before {
  display: none;
  visibility: hidden;
}

.traits-box {
  display: flex;
  flex: 1 1 auto;
  padding: 0.5rem;
  max-width: calc(50% - 2rem);
}

.traits-box-divider {
  border-top: 1px solid var(--ory-theme-border-def);
}

.session-code-box > pre {
  white-space: pre-wrap; /* Since CSS 2.1 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  word-wrap: break-word; /* Internet Explorer 5.5+ */
}

.session-code-box {
  display: flex;
  flex: 1 1 auto;
  max-width: calc(50% - 2rem);
  margin-bottom: auto;
}

.content {
  width: auto;
}

/* wide-screen vieport */
@media screen and (min-width: 90em) {
  .content {
    display: flex;
    width: 100%;
    flex: 1 1 auto;
    gap: 2rem;
    max-width: 90em;
  }
  body:before {
    content: "large";
  }
}

/* laptop viewport */
@media screen and (min-width: 45em) {
  /* only on desktop we don't want the content to be under the nav */
  .container {
    /* remove mobile top margin */
    margin-top: 0;
    margin-left: 18rem;
    padding-top: 3rem;
  }
  /* only on desktop we have nav the full height of the viewport */
  .main-nav {
    padding-top: 4rem;
    min-height: 100vh;
  }
  body:before {
    content: "medium";
  }
}

/* when we are on mobile/tablet we want the content to be under the nav */
@media screen and (min-width: 0) and (max-width: 45em) {
  .app-container {
    flex-direction: column;
  }
  header .logo-wrapper {
    height: 100%;
    width: 260px;
    margin-left: 18em;
  }
  .container {
    margin-left: 0;
  }
  body:before {
    content: "small";
  }
  .session-code-box,
  .traits-box {
    max-width: 100%;
    width: 100%;
  }
}

.main-section {
  display: flex;
}

.card {
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  background: #f7f7f7;
}
.column {
  padding: 0 20px;
}
.column .button-container {
  margin: 0px 18px 24px 0;
}
.column .button {
  background:linear-gradient(135deg, #41aa8e 0%, #036ED9 100%);
  padding: 15px 10px;
  display: block;
  width: 378px;
  height: 120px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
  transition: 0.3s;
  display: flex; /* CSS3 */
  align-items: center; /* Vertical align */
  justify-content: center; /* Horizontal align */
  color: white;
  font-size: 20px;
}

.column .button:hover {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.6);
}
.row {
  display: flex;
}
.card .button-container {
  margin: 24px 0;
}
.card .button {
  padding: 15px 10px;
  display: block;
  width: 300px;
  border-radius: 5px;
  background: #004d71;
  color: white;
}

.card .button:hover {
  transition: 0.5s;
  background: #192e42;
}

.card a.button[aria-disabled="true"], .card a.button[aria-disabled="true"]:hover {
  color: #B4B4BB;
  background-color: #E1E1E3;
}
.button {
  text-decoration: none;
  text-transform: capitalize;
  text-align: center;
  color: black;
}
.references a {
  background: #4474a1;
  min-height: 10em;
}

.app-container.welcome {
  justify-content: center;
}
/* only manage the content next to the nav */
.welcome-container {
  display: flex;
  flex-direction: column;
  padding: 2rem 2rem;
  margin-top: 3rem;
  height: auto;
  margin-left: 2em;
}