body {
  position: relative;
  margin: 0;
}

img {
  display: block;
}

p {
  line-height: 1.5;
  margin: 0;
}

button {
  background: transparent;
  padding: 0;
  border: none;
  border-radius: 0;
}

a:link, a:visited, a:hover, a:active {
  color: inherit;
}

label {
  margin-bottom: 0;
}

blockquote {
  margin-bottom: 0;
}

figure {
  margin-bottom: 0;
}

.bold {
  font-weight: 700;
}

.modal-backdrop {
  z-index: 50;
}

.root {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #2A2455 0%, #6730DC 100%), #58309A;
  min-height: 100vh;
}

.wrapper {
  position: relative;
  flex: 1;
  display: flex;
  font: 400 16px Overpass, sans-serif;
  color: hsl(0, 0%, 100%);
  padding: 30px;
  z-index: 100;
}

.wrapper > :not(:first-child):not(.modal) {
  margin-left: 30px;
}

.main-content-wrapper {
  flex: 1 1 auto;
  min-width: 450px;
  display: flex;
  flex-direction: column;
  color: hsl(0, 0%, 100%);
}

.main-content-wrapper > :not(:first-child):not(.modal) {
  margin-top: 30px;
}

.main-navbar-wrapper {
  display: flex;
  justify-content: flex-end;
}

.main-navbar-expand-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.main-navbar-expand-button > div {
  display: flex;
  align-items: center;
}

.main-navbar-expand-button > div > :not(:first-child) {
  margin-left: 7.5px;
}

.main-navbar-expand-label {
  font: 600 10px Dosis, sans-serif;
  color: hsl(0, 0%, 100%);
  text-transform: uppercase;
  letter-spacing: 0.337198px;
}

.main-navbar-connect-login {
  font: 600 10px Dosis, sans-serif;
  color: hsl(0, 0%, 0%);
  background: linear-gradient(180deg, #FF7A00 0%, #FFAA00 100%), #FFAA00;
  text-transform: uppercase;
  letter-spacing: 0.337198px;
  padding: 7.5px;
  border: none;
  border-radius: 2px;
}

.main-navbar-connect-login:link,
.main-navbar-connect-login:visited,
.main-navbar-connect-login:hover,
.main-navbar-connect-login:active {
  color: hsl(0, 0%, 0%);
}

.main-navbar-connect-logout {
  display: flex;
  align-items: center;
}

.main-navbar-pseudo-wrapper {
  display: flex;
  align-items: center;
}

.main-navbar-pseudo-wrapper > :not(:first-child) {
  margin-left: 15px;
}

.main-navbar-pseudo-link {
  display: flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.main-navbar-pseudo-link > :not(:first-child) {
  margin-left: 7.5px;
}

.main-navbar-pseudo-link > :not(:first-child) {
  margin-left: 7.5px;
}

.main-navbar-pseudo-label {
  font: 600 10px Dosis, sans-serif;
  color: hsl(0, 0%, 100%);
  text-transform: uppercase;
}

.learn-title {
  font: 600 24px Dosis, sans-serif;
  text-transform: uppercase;
  margin: 0;
}

.page-title {
  font: 600 24px Dosis, sans-serif;
  text-transform: uppercase;
  margin: 0;
}

.white-background-wrapper {
  line-height: 1.5;
  background: hsl(0, 0%, 100%);
  color: hsl(0, 0%, 0%);
  padding: 30px;
  border-radius: 5px;
  box-shadow: 0px 10.7903px 14.3871px rgba(8, 35, 48, 0.12);
}

.white-background-wrapper > :not(:first-child) {
  margin-top: 30px;
}

.page404-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.page404-wrapper > :not(:first-child) {
  margin-top: 30px;  
}

.page404-wrapper > :not(img) {
  text-align: center;  
}

.page404-title1 {
  font: 600 48px Dosis, sans-serif;
  text-transform: uppercase;
  margin: 0;
}

.page404-title2 {
  font: 600 24px Dosis, sans-serif;
  text-transform: uppercase;
  margin: 0;
}

.orange-gradient-text {
  background: linear-gradient(180deg, #FF7A00 0%, #FFAA00 100%), #FFAA00;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.blue-gradient-text {
  background: linear-gradient(180deg, #004E92 0%, rgba(0, 4, 40, 0) 100%), #000428;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.modal-content {
  display: flex;
  flex-direction: column;
  color: hsl(0, 0%, 0%);
  border: none;
  border-radius: 5px;
  padding: 30px;
  box-shadow: 0px 10.7903px 14.3871px rgba(8, 35, 48, 0.12);
}

.modal-content > :not(:first-child) {
  margin-top: 30px;
}

.modal-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: unset;
  padding: 0;
  border-bottom: none;
}

.modal-header > button {
  align-self: flex-end;
}

.modal-header > :not(:first-child) {
  margin-top: 15px;
}

.modal-title {
  font: 600 24px Dosis, sans-serif;
  text-transform: uppercase;
  margin: 0;
}

.modal-body {
  display: flex;
  flex-direction: column;
  padding: 0;
  border-bottom: none;
}