/* Define theme variables before importing any MDC Web component styles */
:root {
  --mdc-theme-background: #30D5C8;
  --mdc-theme-pulse: #aed4d1;
  --mdc-theme-background-dark: #28b4a9;
  --mdc-theme-background-light: #6dd6cd;
  --mdc-theme-background-opacity: #30d5c7b7;
  --mdc-theme-primary: #616161;
  --mdc-theme--text-primary-on-primary: white;
  --mdc-theme-background-rgb: 35, 174, 163;
  --pageMax: 1024px;
  --articleMax: 800px;
}

/* Base */

html, body { 
  width: 100%; 
  min-width: 380px;
  height: auto;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
}

body {
  margin: 0; 
}

img {
  width: 100%;
}

main {
  padding: 32px;
}

h1 {
  font-size: 2.5em;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.5em;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}


/* Page Layout */
html, body {
  box-sizing: border-box;
  height: 100%;
  padding: 0;
  margin: 0;
}
.page-wrapper {
  box-sizing: border-box;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.page-header, .page-footer {
  flex-grow: 0;
  flex-shrink: 0;
}
.page-header {
  z-index: 6;
}
@media (max-width: 500px) {
  .page-header .tagline {
    display:none;
  }
}
.page-body {
  flex-grow: 1;
}
.page-description {
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  position: relative;
  margin-left: 40px;
  margin-right: 40px;
  margin-top: 5px;
  font-size: 12px;
  font-style: italic;
  color: var(--mdc-theme-primary);
}
.page-description-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-left: 8px;
}
.page-description-links .sep {
  opacity: 0.6;
}
@media (max-width: 640px) {
  .page-description {
    margin-left: 16px;
    margin-right: 16px;
    font-size: 11px;
  }
  .page-description-links {
    margin-left: 0;
    gap: 6px;
    justify-content: center;
  }
  .page-description-links .sep {
    display: none;
  }
  .page-description-links a.link {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(var(--mdc-theme-background-rgb), 0.10);
    font-weight: 600;
  }
}

/* Alerts */
.alert {
  margin-bottom:10px;
  margin-top: 10px;
  color: #666666;
}
.alert:empty {
  display: none;
}

/* Nav & Menus */
.logo, a:hover, a:visited, a:link, a:active {
  text-decoration: none;
  color: white;
}

/* content links primary color */
.info-content a:visited, .info-content a:link, .info-content a:active {
  color: var(--mdc-theme-background) !important;
}
.info-content a:hover {
  color: var(--mdc-theme-background-dark) !important;
}

.logo {
  margin-top:5px;
  height: 48px;
  display: inline-block;
}
.logo > img {
  height: 38px;
  width: auto;
}
a.logo-dark {
  margin-top:5px;
  height: 38px;
  display: none
}
a.logo-dark > img {
  height: 38px;
}
body.logo-dark a.logo-dark {
  display: inline-block;
}
body.logo-dark .logo {
  display:none
}

.btn-group {
  margin-top:15px;
}

.btn-group .mdc-button {
  width:200px;
}

.mdc-button .mdc-circular-progress {
  display:none;
}

.form-field .mdc-circular-progress {
  display:none;
}

.form-field .loading {
  position: relative;
}

.form-field .loading .mdc-circular-progress {
  display:inline-block;
  position: absolute;
  left: calc(50% - 12px);
}

.mdc-button.loading .mdc-circular-progress {
  display:inline-block;
}

.mdc-button.loading .mdc-button__label {
  display:none;
}

.mdc-button.loading .material-icons, .mdc-button.loading img {
  display:none;
}

.form-button.loading .mdc-circular-progress__indeterminate-circle-graphic, 
.signin-button.loading .mdc-circular-progress__indeterminate-circle-graphic, 
.form-field .loading .mdc-circular-progress__indeterminate-circle-graphic {
  stroke: white !important;
}


.settings .logo-dark-button {
  background-color: white;
  color: var(--mdc-theme-primary);
}
.settings .logo-light-button {
  background-color: var(--mdc-theme-background);
  color:white;
}
body.logo-dark .settings .logo-dark-button {
  background-color: var(--mdc-theme-background);
  color:white;
}
body.logo-dark .settings .logo-light-button {
  background-color: white;
  color: var(--mdc-theme-primary);
}

.settings .bar-tall-button {
  background-color: white;
  color: var(--mdc-theme-primary);
}
.settings .bar-small-button {
  background-color: var(--mdc-theme-background);
  color:white;
}
body.topbar-tall  .settings .bar-tall-button {
  background-color: var(--mdc-theme-background);
  color:white;
}
body.topbar-tall .settings .bar-small-button {
  background-color: white;
  color: var(--mdc-theme-primary);
}

/** file upload **/
.multi-upload {
  flex-wrap: wrap;
}

.multi-upload .upload__box {
  padding: 40px;
}
.multi-upload .upload__inputfile {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}
.drop-area {
  padding:50px;
  border: 2px dashed rgba(var(--mdc-theme-background-rgb), 1);
  border-radius: 4px;
  background-color:rgba(var(--mdc-theme-background-rgb), 0.10) !important;
  color: var(--mdc-theme-background) !important;
  width: calc(100% - 100px) !important;
  line-height: 25px !important;
}
.drop-area.loading {
  background:rgba(var(--mdc-theme-background-rgb), 0.50) !important;
}
.drop-area .label-text {
  pointer-events: none;
}
.drop-area.loading .label-text {
  opacity:0;
  visibility: hidden;
}

.drop-area.dragover {
  background:rgba(var(--mdc-theme-background-rgb), 0.50) !important;
  color: white !important;
}

.multi-upload .upload__btn-box {
  margin-bottom: 10px;
}
.multi-upload .upload__img-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
  align-items: center;
}
.multi-upload .upload__img-box {
  width: 250px;
  height: fit-content;
  padding: 0 10px;
  margin-bottom: 12px;
}
.multi-upload .upload__img-close {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 10px;
  right: 10px;
  text-align: center;
  line-height: 24px;
  z-index: 1;
  cursor: pointer;
}
.multi-upload .upload__img-close:after {
  content: "✖";
  font-size: 14px;
  color: white;
}

.multi-upload .img-bg {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  padding-bottom: 100%;
}

.file-image-preview.logo {
  height: unset;
}

.file-image-preview.cover {
  height: unset;
  overflow: visible;
}

.link-wrapper {
  margin-top:20px;
  margin-bottom:10px;
}

.logo {
  font-size:26px;
  font-weight:600;
  color: white;
}

.logo .logo-2 {
  font-size: 21px;
  font-weight:800;
}

.menu-item {
  margin: 0 10px 0 10px;
  text-decoration: none;
}

#navMenu {
  margin-top:30px;
}

#navMenu .mdc-list-item__text {
  color: var(--mdc-theme-background);
  white-space: nowrap;
}

.nav-button {
  color: white !important;
  margin-right:10px;
  margin-left:10px;
  white-space: nowrap;
}

.nav-button .material-icons {
  margin-top: -10px;
  font-size: 26px;
  margin-right: 10px;
}

.login-button > span {
  margin-right: 5px;
  margin-left:5px;
  font-weight:600;
}

.mdc-top-app-bar {
  background-color: var(--mdc-theme-background);
  position: absolute;
  width:100%;
  color: inherit;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

body.topbar-tall .mdc-top-app-bar  {
  padding-top: 5px;
  padding-bottom: 5px;
}

.mdc-top-app-bar--fixed-adjust {
  margin: 0 auto;
}

.demo-menu.mdc-top-app-bar__navigation-icon {
  color: #555;
}

.nav-title {
  margin: 16px 0 0 16px;
}

.mdc-top-app-bar__title {
  color: white;
  padding-left: 0px;
}

.mdc-top-app-bar__section--align-start {
  order: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack:  flex-start;
  justify-content: flex-start;
  margin-left:10px;
  margin-right:auto;
}

.mdc-top-app-bar__section--align-start .menu-btn-spacer {
  width: 20px;
}

.mdc-drawer {
  background-color: var(--mdc-theme-background);
}

.mdc-drawer__header {
  display: flex;
  align-items: center;
}

.mdc-drawer .mdc-list .mdc-list-item {
  padding-top:10px;
  padding-bottom:10px;
}

.mdc-drawer .mdc-list .mdc-list-item .material-icons {
  margin-right: 10px;
  z-index: 1;
}
.mdc-drawer .mdc-list .mdc-list-item .mdc-list-item__text {
  z-index: 1;
 }

 .mdc-drawer .sub-nav {
  margin-left:20px;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  font-size: 0.9em;
 }

 .mdc-drawer .sub-nav--label {
  text-transform: capitalize;
 } 

/* Typography */
.mdc-typography--overline {
  color: #555
}

.mdc-typography--headline1 {
  font-size: 2.2em;
  line-height: 1.5;
  margin:0;
  margin-left:16px;
  color: var(--mdc-theme-background);
}
.mdc-typography--headline2 {
  font-size: 2em;
  line-height: 1.5;
  margin:0;
  margin-left:16px;
  color: var(--mdc-theme-primary);
}
.mdc-typography--headline3 {
  font-size: 1.8em;
  line-height: 1.5;
  margin:0;
  margin-left:16px;
  color: var(--mdc-theme-primary);
}
.mdc-typography--headline4 {
  font-size: 1.6em;
  line-height: 1.5;
  margin:0;
  margin-left:16px;
  color: var(--mdc-theme-primary);
}
.mdc-typography--headline5 {
  font-size: 1.4em;
  line-height: 1.5;
  margin:0;
  margin-left:16px;
  color: var(--mdc-theme-primary);
}
.mdc-typography--headline6 {
  font-size: 1.2em;
  line-height: 1.5;
  margin:0;
  margin-left:16px;
  color: var(--mdc-theme-primary);
}

.mdc-typography--body1 {
  line-height: 1.8;
  margin:0;
  color: var(--mdc-theme-primary);
}

.mdc-typography--body2 h1, 
.mdc-typography--body2 h2,
.mdc-typography--body2 h3  {
  line-height: 1.5;
}

.h-center {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

/* Content Layout */
.contained-section {
  max-width: var(--pageMax);
  padding: 16px;
  width: calc(100% - 60px);
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 450px) {
  .contained-section {
    padding: 0;
    padding-left: 5px;
    padding-right: 5px;
    width: calc(100% - 10px);
    margin: 0 auto;
    overflow: unset;
  }
  .contained-section .mdc-layout-grid {
    padding-left:6px;
    padding-right:6px;
  }
  .explore {
    padding-left:6px !important;
    padding-right:6px !important;
  }
}

.main-wrapper {
  width:100%;
}

.main-content {
  display:flex;
  flex-direction: column;
  padding: 0;
  width: 100%;
}

#body.primary-color {
  background-color: var(--mdc-theme-background);
  color:white;
}

#body.background-image {
  background: url(/assets/images/uni-1.jpg), var(--mdc-theme-background);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
}

.main-content.primary-color {
  background-color: var(--mdc-theme-background);
  color:white;
}

.header-section {
  display: flex;
  justify-content: space-between;
  padding: 0;
  margin-top: -16px;
}

/* Collapsible Content */
@media screen and (max-width: 600px) {
  .collapsible {
    position: relative;
    padding-bottom: 0.5em;
  }
  .collapsible:not(.open) > * {
    display: none;
  }
  .collapsible:not(.open) > p:first-child {
    display: block;
  }

  .collapsible > .toggler {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    background: #fff;
    text-align: center;
    cursor: pointer;
  }
  .collapsible > .toggler::after {
    content: "\25bc";
  }
  .collapsible.open > .toggler::after {
    content: "\25b2";
  }
}

/* Footer */
.footer {
 background-color: white;
 position: relative;
 padding-left:30px;
 padding-right:30px;
 padding-bottom:5px;
}

.footer.primary-color {
  background-color: var(--mdc-theme-background);
  color:white;
}

.footer .footer__content {
  display: flex;
  align-items: center;
}

.footer .footer__logo-wrapper {
  display:flex;
  flex-direction: column;
}

.footer .footer__logo {
  height: 38px;
  min-width: 110px;
  display: inline-block;
}

.footer .footer__logo > img {
  width:100px;
}

.footer .footer__links {
  z-index:1;
  display: flex;
  list-style: none; 
  flex-wrap: wrap;
  padding-inline-start: 0px;
  padding-left:10px;
  margin-left:auto;
  margin-right:0px;
  align-items: center;
  justify-content: flex-end;
}

.footer .footer__links a {
  color: #555;
  margin: 10px;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 12px;
  white-space: nowrap;
  display: inline-block;
}

.footer .footer__socials {
  z-index:1;
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  padding-inline-start: 0px;
  margin-left:10px;
  margin-right:4px;
}

.footer .footer__socials .mdc-icon-button {
  width: 36px;
  padding: 6px;
}

.footer .footer__socials a {
  color: var(--mdc-theme-background);
}

.footer .copyright {
 font-size: 12px;
 color: #555;
 white-space: nowrap;
 margin-top:5px;
}


@media (max-width: 500px) {
  .footer {
    padding-left:15px;
    padding-right:15px;
  }
}

.welcome-text {
  color: var(--mdc-theme-primary);
  padding:20px;
  position: relative !important;
  top: unset !important;
  border-radius: 6px;

}

/* Signin */

.form.signin {
  width: calc(100% - 60px);
  margin-left: auto;
  margin-right: auto;
}

#signin-message,
#signup-message {
  margin-top:5px;
  min-height: 30px;
  display: block;
  text-align: center;
  color: #f33e3e !important;
  font-size: 17px;
}

.app-view #signin-message,
.app-view #signup-message {
  color:white;
}

.skip-link {
  text-align: right;
  margin-left:auto;
  margin-top:0px;
  margin-right: 30px;
  font-size: 24px;
  font-weight: 600;
  position: absolute;
  top: 20px;
  right: 0px;
  text-decoration: underline !important;
}

.back-link {
  font-size: 20px;
  margin-right:auto;
  margin-bottom: 15px;
  margin-top: -25px;
}
.back-link .material-icons {
  font-size: 16px;
}

.signup-logo {
  width: 80%;
  margin-top:50px;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.form-field {
  display:flex;
  align-items: center;
  margin-top:5px;
}
.form-field input {
  font-size: 12px;
  width: 200px;
}
.visibility-toggle {
  position: absolute;
  right: 0;
  z-index: 9;
  opacity: 0.8;
  cursor: pointer !important;
  pointer-events: visible !important;
}

.form-field .required-indicator {
  color: #CC0000;
}

.field-info {
  color: var(--mdc-theme-primary);
  font-size: 14px;
  margin-top:50px;
  margin-bottom:20px;
}

.form-field input[type=datetime-local]::-webkit-calendar-picker-indicator {
  color: rgba(0, 0, 0, 0);
  opacity: 0;
  visibility: hidden;
}

.form-field input[type=datetime-local],
.form-field input.flatpickr-input,
.form-field input.flatpickr-alt {
  padding: 14px;
}

#signin-link,
#signup-link {
  padding: 5px 10px;
  border: 1px solid silver;
  border-bottom: none;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  cursor: pointer;
  background-color: var(--mdc-theme-background);
  color: white;
}

.app-view #signin-app-link,
.app-view #signup-app-link {
  font-size: 18px;
  text-decoration: underline;
}

#signup-form,
#signin-form,
#verify-form {
  border: 1px solid silver;
  border-radius: 4px;
  padding: 30px;
  margin-top:4px;
}

.app-view #signup-form,
.app-vew #signin-form,
.app-view #verify-form {
  border: none;
  padding: 20px;
  margin-top:4px;
}

#signin-link.active,
#signup-link.active {
  background: white;
  border-bottom: none;
  color: var(--mdc-theme-background);
}
#signup-form.hidden,
#signin-form.hidden,
#verify-form.hidden {
  display:none;
}

.form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: silver;
  border-width: 1px; 
}
.form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled):hover .mdc-notched-outline .mdc-notched-outline__leading,
.form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled):hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #999999;
  border-width: 1px;
}

.form-field input:-webkit-autofill,
.form-field input:-webkit-autofill:hover,
.form-field input:-webkit-autofill:focus,
.form-field input:-webkit-autofill:active {
  transition: background-color 600000s 0s, color 600000s 0s;
  box-shadow: 0 0 0 1000px white inset;
  -webkit-text-fill-color: #333;
}
.form-field label.mdc-label {
  width:100px;
  min-width:100px;
  color: var(--mdc-theme-primary);
  display: inline-block;
  margin-right:10px;
  text-transform: capitalize;
}

.form {
  display:flex;
  flex-direction: column;
}

.form-button {
    background-color: var(--mdc-theme-background);
    font-weight:700;
    padding-left:20px;
    padding-right:20px;
    color:white !important;
    margin-right:20px;
}

.form-button:disabled {
  background-color: rgba(0, 0, 0, 0.12);
  background-color: var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12));
}

.form .form-button { 
  margin-top:20px;
  margin-left:auto;
}

#signup-form .form-field input,
#signin-form .form-field input,
#verify-form .form-field input  {
  width: 150px;
}

#verify-message {
  color: #666666;
  font-size: 14px;
  padding-bottom:20px;
}

/* Quill */
.form-field #quill-editor-wrapper {
  width: calc(100% - 134px);
}

.ql-editor img,
.tile-content img {
  width:auto;
  height: auto;
  max-width: 100%;
}

.ql-toolbar.ql-snow .ql-formats {
  margin-right:4px !important; 
}
.ql-toolbar.ql-snow {
  padding-right: 4px !important;
  padding-left: 2px !important;
}
.ql-snow .ql-picker.ql-header {
  width: 92px !important;
}

.signin .signin-button,
.signup .signup-button,
.verify .verify-button {
  background-color: var(--mdc-theme-background);
  font-weight:700px;
  padding-left:20px;
  padding-right:20px;
  margin-top:20px;
  color:white;
}

.signin .app-view .signin-button,
.signin .app-view .signup-button,
.signin .app-view .verify-button {
  background-color: var(--mdc-theme-background-light);
  min-width: 200px;
}


.signup .app-vew .signup {
  
}
.app-view #verify-form div {
  color:white
}

.app-view #verify-form #verify-code {
  margin-left: auto;
  margin-right: auto;
}

.app-view #verify-form #resend-verification {
  color:white;
  text-decoration: underline;
}

.signin .app-view h1,
.signin .app-view h2,
.signin .app-view h3,
.signin .app-view h4,
.signin .app-view h5 {
  color:white;
}

.university-select .app-view h1,
.university-select .app-view h2,
.university-select .app-view h3,
.university-select .app-view h4,
.university-select .app-view h5 {
  color:white;
}

.university-select .app-view .signup-logo {
  margin-bottom:50px;
}

.university-select .app-view {
  display: flex;
  flex-flow: column;
  align-items: center;
}

.university-select .app-view .searchbox {
    padding: 2px;
}

.university-select .app-view .uni-search {
  margin-top:50px;
}

.signin .signin-button img,
.signin .signin-button .material-icons {
  margin-left:10px;
  max-height: 20px;
  width:auto;
}

.signin .signin-container {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-bottom:30px;
}

.app-view #forgot-password {
  text-align: center;
  margin-left:auto;
  margin-right:auto;
  display: block;
  width: 100%;
  color: white;
}

.app-view #signup-app-link {
  text-align: center;
  color: white;
  margin-top: 30px !important;
}

.app-view #signin-app-link {
  text-align: center;
  color: white;
  margin-top: 30px !important;
}

.signin .signin-container .signin-buttons
 {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-bottom:90px;
  margin-top:40px;
}

.signin .signin-container .signin-buttons .mdc-button
 {
  border-radius: 12px;
 }

.signin-email-section .mdc-label {
  color: white !important;
}
.signin-email-section .mdc-text-field {
  background-color: white;
}

@-webkit-keyframes autofill {
  0%,100% {
      color: #666;
      background: white;
  }
}

.signin input:-webkit-autofill,
.signin input:-webkit-autofill:hover,
.signin input:-webkit-autofill:focus,
.signin input:-webkit-autofill:active {
  -webkit-animation-delay: 1s; /* Safari support - any positive time runs instantly */
  -webkit-animation-name: autofill;
  -webkit-animation-fill-mode: both;
}

.active-icon {
  margin:5px;
  color: var(--mdc-theme-background-dark);
  text-shadow: -1px -1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, 1px 1px 2px #fff;
  position: absolute;
  bottom: 0;
}

/* Data tables */
.mdc-data-table__header-row {
  background-color: var(--mdc-theme-background);
}
.mdc-data-table__header-cell {
  background-color: var(--mdc-theme-background);
  color:white;
  font-weight:700;
}
.mdc-data-table__header-cell .mdc-data-table__sort-icon-button {
  display:none;
}
.mdc-data-table__header-cell--sorted .mdc-data-table__sort-icon-button {
  display:block;
  padding-left:4px;
  padding-right:4px;
  color:white;
  font-size: 16px;
  width:28px;
}


  .mdc-data-table__cell {
    white-space: normal;
  }


tr.needs-approval,
tr.needs-approval td {
  background-color: rgba(var(--mdc-theme-background-rgb), 0.10);
}

@media screen and (max-width: 600px) {
  .mdc-data-table__cell {
    font-size: 12px;
  }
}

.approval-form {
  margin:10px;
  margin-top:0;
  margin-left:110px;
  position: relative;
}

.approval-form .form-button {
 margin:0;
}

.approval-display {
  font-size: 14px;
  color: var(--mdc-theme-background);
  display: flex;
  align-items: center;
  margin-top:10px;
  padding:10px;
  padding-left:20px;
  border-radius: 6px;
  border: 1px solid silver;
}

.approved-text {
  display:inline-block;
  margin-right:20px;
}

.approval-display .material-icons {
  font-size: 14px;
  margin-right: 10px;
}

/* Admin - universities */
.admin-title {
  margin-left:0;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
.admin-title .nav-back-icon {
  width: 94px;
  display: inline-block;
}
.admin-title .material-icons {
  margin-left: 10px;
} 

.admin-university-link {
  margin-left:110px;
  top:-10px;
  position: relative;
}

.university-edit-title .university-name {
  display: inline-block;
  font-weight: 600;
  margin-right:5px;
}

.university-detail .university-edit-title .title-icon {
  margin-left: 10px;
}
.university-detail .university-new-title .title-icon {
  margin-left: 10px;
}

/* Tables */
.table-wrapper {
  display: block;
  margin-top:10px;
}
.table-wrapper .mdc-data-table {
  width:100%;
}

/* Tiles */
.tiles {
  padding: 2px;
  margin-top:20px;
  margin-bottom:20px;
  border-radius: 4px;
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 10px;
  grid-auto-rows: minmax(10px, auto);
}

.tiles .tile {
  padding: 0px;
  grid-column: auto;
}
.tiles.edit .tile {
  border: 2px dashed var(--mdc-theme-background);
  border-radius: 4px;
}

.tiles .tile .tile-content {
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  box-shadow: rgba(0, 0, 0, 0.15) 2.4px 2.4px 3.2px;
  background-color: rgba(var(--mdc-theme-background-rgb), 0.05);
  border-radius: 6px;
  padding: 10px;
  height:auto;
  width: calc(100% - 40px);
}

.tiles .tile .tile-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background: var(--mdc-theme-background-opacity);
}

.tiles .tile .tile-toolbar .mdc-menu {
  margin-top:36px;
}

.tiles .tile .tile-toolbar .tile-title {
  margin-right:auto;
  margin-left:10px;
  color:white;
}

.tiles .tile .tile-toolbar .mdc-button {
  min-width: 40px;
}


.tiles .tile .tile-toolbar .material-icons {
  color:white;
  margin-right:0;
}

.tiles .tile .tile-toolbar .select {
  display: flex;
  align-items: center;
  color:white;
  padding-left:10px;
  padding-right:10px;
}

.material-icons.rotate90 {
  transform: rotate(90deg);
}

.tiles .tile.width-normal {
  grid-column-end: span 2;
}

.tiles .tile.width-wide {
  grid-column: 1/5;
}

.tiles .tile.height-normal {
  grid-row-end: span 2;
}

.tiles .tile.height-tall {
  grid-row-end: span 3;
}

.tiles.edit .tile.text .ql-container {
  height: calc(100% - 102px);
}

.tiles.edit .tile.text.width-small .ql-container {
  height: calc(100% - 126px);
}

.tiles.edit .tile.text > div:not(.tile-toolbar){
  padding: 20px;
  margin-left:auto;
  margin-right:auto;
}

.tiles.edit .tile.image .ql-toolbar {
  display:none;
}

.tiles.edit .tile.image .form-field {
  flex-direction: column;
  align-items: flex-start;
}
.tiles.edit .tile.image .form-field .mdc-label {
  display:none;
}
.tiles.edit .tile.image .form-field .preview {
  width: 100%;
  max-width: unset;
}


.tiles.edit .tile .hidden {
  display:none;
}

.tiles.view .tile.text {
  display:flex;
  flex-direction: column;
}

.tiles.view .tile.text > div{
  padding: 20px;
  margin-left:auto;
  margin-right:auto;
}

@media screen and (max-width: 600px) {
  .tiles {
    grid-template-columns: 1fr 1fr;
  }
  .tiles .tile.width-wide {
    grid-column: 1/3;
  }
  .tiles .tile .tile-toolbar .mdc-button {
    min-width: 30px;
  }
}

.tiles .add-tile .add-btn {
  width:100%;
  height: 100%;
  aspect-ratio : 1 / 1;
  background-color: var(--mdc-theme-background);
}

.tiles .add-tile {
  order: 999;
}
.tiles .add-tile-new {
  order: 999;
}

.tiles .add-tile .mdc-button__icon {
  font-size: 6rem;
  width: auto;
  height: auto;
  color: white;
}

.tiles .tile.hidden {
  display:none !important;
}

.tiles .tile .tile-toolbar.editing {
  display:none;
}
.tiles .tile.editing .tile-toolbar {
  display:none;
}
.tiles .tile.editing .tile-toolbar.editing {
  display:flex;
}

.tiles .tile .tile-image-edting {
  display: none;
}

.tiles .tile.editing .tile-image-edting {
  display:flex;
}

.tiles .tile.editing .tile-image {
  display:none;
}

/* FAQ */
.faqs {
  margin:10px;
}
.faqs .faq {
  display:flex;
  align-items: center;
  margin:5px;
  border-bottom: 1px solid silver;
}

.faqs .faq .faq-question {
  padding: 5px;
  padding-right:20px;
  font-weight:600;
}

.faqs .faq.editing {
  border-bottom: none;
}

.faqs .faq .faq-question-input {
  display:none
}
.faqs .faq.editing .faq-question-input {
  display:flex;
  flex-direction: column;
  margin-bottom:10px;
}
.faqs .faq.editing .faq-question {
  display:none;
}

.faqs .faq .save-button,
.faqs .faq .cancel-button {
  display:none
}

.faqs .faq.faq-new .save-button,
.faqs .faq.faq-new .cancel-button {
  display:inline-block
}

.faqs .faq.editing .save-button,
.faqs .faq.editing .cancel-button {
  display:inline-block
}
.faqs .faq.editing .up-button,
.faqs .faq.editing .down-button,
.faqs .faq.editing .edit-button {
  display:none;
}

.faqs .faq .faq-question .form-field,
.faqs .faq .faq-answer .form-field {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.faqs .faq .faq-content {
  width:100%;
}

.faqs .faq .faq-content .mdc-text-field,
.faqs .faq .faq-content .form-field #quill-editor-wrapper {
  width:100%;
}

.faqs .faq .faq-answer {
  padding: 5px;
  padding-right:20px;
}

.faqs .faq .faq-toolbar {
  flex:1;
  display: flex;
  justify-content: flex-end;
  padding-left:10px;
}

.faqs .faq .faq-toolbar .mdc-button {
  min-width: 40px;
}

.faqs .faq .faq-toolbar .material-icons {
  color: var(--mdc-theme-background);
  margin-right:0;
}

.faqs .faq.hidden {
  display:none;
}

/* Notices */
.notices {
  margin:10px;
}
.notices .notice {
  display:flex;
  align-items: center;
  margin:5px;
  border-bottom: 1px solid silver;
}

.notices .notice .notice-title {
  padding: 5px;
  padding-right:20px;
  font-weight:600;
}

.notices .notice.editing {
  border-bottom: none;
}

.notices .notice .notice-title-input {
  display:none
}
.notices .notice.editing .notice-title-input {
  display:flex;
  flex-direction: column;
  margin-bottom:10px;
}
.notices .notice.editing .notice-title {
  display:none;
}

.notices .notice .save-button,
.notices .notice .cancel-button {
  display:none
}

.notices .notice.notice-new .save-button,
.notices .notice.notice-new .cancel-button {
  display:inline-block
}

.notices .notice.editing .save-button,
.notices .notice.editing .cancel-button {
  display:inline-block
}
.notices .notice.editing .up-button,
.notices .notice.editing .down-button,
.notices .notice.editing .edit-button {
  display:none;
}

.notices .notice .notice-question .form-field,
.notices .notice .notice-answer .form-field {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.notices .notice .notice-content {
  width:100%;
}

.notices .notice .notice-content .mdc-text-field,
.notices .notice .notice-content .form-field #quill-editor-wrapper {
  width:100%;
}

.notices .notice .notice-content {
  padding: 5px;
  padding-right:20px;
}

.notices-view .notice .notice-content {
  padding: 0px;
  padding-right: 0px;
}

.notices-view {
  margin-bottom:40px;
}

.notices .notice .notice-toolbar {
  flex:1;
  display: flex;
  justify-content: flex-end;
  padding-left:10px;
}

.notices .notice .notice-toolbar .mdc-button {
  min-width: 40px;
}

.notices .notice .notice-toolbar .material-icons {
  color: var(--mdc-theme-background);
  margin-right:0;
}

.notices .notice.hidden {
  display:none;
}

/* Tabs */
.mdc-tab-bar {
  margin-bottom:20px
}
.tab-content {
  display: none;
}

.tab-content--active {
  display: flex;
}

/* forms */
.form-field .preview {
  max-width: calc(100% - 132px);
}

.form-field .preview-wrapper {
  border: 1px solid silver;
  padding:10px;
  margin: 10px;
  margin-left: 0;
}

.form-field .file-image-preview {
  width:100%;
}

.form-field .file-image-accreditation {
  width:calc(100% - 12px);
  border: 1px solid silver;
  padding:8px;
  margin-top:2px;
  margin-bottom:4px;
  margin-right:12px;
}

.form-field .preview-cover {
  width: 100%;
}

.form-field cropper-canvas {
  width: 100%;
  height: 300px;
}

.form-field cropper-selection,
.form-field cropper-shade {
  min-width: 300px;
  min-height: 100px;
  width: 300px;
  height: 100px;
}

.form-field .preview-wrapper-cover {
  width: 100%;
  min-height: 45px;
  min-width: 250px;
}

.form-field .file-image-preview.logo {
  max-width: 300px;
}

.form-field .file-input {
  display:none;
}

.form-field .file-label {
  display:block;
  height:45px;
  margin-left: 0px;
  line-height:50px;
  text-align:center;
  background: var(--mdc-theme-background);
  color:#fff;
  font-size:15px;
  text-transform:Uppercase;
  font-weight:600;
  border-radius:5px;
  cursor:pointer;
  width: 200px;
}

.form-field .hint {
  color: #999999;
}

/* Review */

.review-body {
  margin-top:20px;
  margin-bottom:40px;
  margin-left:65px;
  margin-right:65px;
  border-radius: 4px;;
  padding:15px;
  background-color: rgba(var(--mdc-theme-background-rgb), 0.10);
}

.review-body .thumbnail {
  max-width: 200px;
  padding: 20px;
}

.review-detail {
  font-style: italic;
  margin-top:10px;
  font-size: 14px;
}

.review-section {
  margin-top:0px;
  padding-top: 10px;
  margin-bottom: 30px;
}

.review-section .form-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top:20px;
  padding-bottom:20px;
}

.review-section .form-field label.mdc-label {
  width: 140px;
}

.review-section.submitted {
  font-style: italic;
  color: #555555;
}

/* Detail page breadcrumbs + explore */
.detail-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 13px;
  color: #666666;
  margin: 8px 0 12px;
}
.detail-breadcrumbs .crumb-sep {
  opacity: 0.6;
}
.detail-breadcrumbs-bottom {
  justify-content: center;
  text-align: center;
  margin-top: 28px;
}
.detail-explore {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 8px 0 16px;
}
.detail-explore .label {
  font-weight: 600;
  color: var(--mdc-theme-primary);
}
.detail-explore-bottom {
  justify-content: center;
  text-align: center;
  margin-top: 20px;
}
.detail-explore-bottom .label {
  width: 100%;
  text-align: center;
}

/* Related scroller */
.related-section {
  margin-top: 32px;
}
.related-header {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.related-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
}
.related-card {
  display: block;
  min-width: 200px;
  max-width: 220px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
}
.related-card__media {
  width: 100%;
  height: 120px;
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.related-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.related-card__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f0f0f0, #e6e6e6);
}
.related-card__body {
  padding: 10px 12px;
}
.related-card__title {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 4px;
}
.related-card__meta {
  font-size: 12px;
  color: #666666;
}

/* Pagination fallback */

/* Topics */
.topic-section {
  display: none;
}

.topics {
  padding: 0 0 0 8px;
}

.topic {
  display: inline-block;
}

.topic a {
  color: var(--mdc-theme-background);
  font-weight: 500;
  margin-left: 16px;
}

.mdc-top-app-bar--fixed-adjust {
  padding-top: 64px;
}

/* Cards on Homepage */
.horizontal-card {
  display: flex;
  flex-direction: row;
}

.main-intro {
  position: relative;
  margin-top: -50px;
  left: 0;
  top: 0px;
  width:100%;
}

.intro-welcome-text {
  padding-left:10px;
  padding-right: 10px;
} 

/** soc List **/
.soc-list .mdc-list-item {
  background-color: rgba(var(--mdc-theme-background-rgb), 0.05);
  margin-top:10px;
}

.soc-list .mdc-list-item .mdc-list-item__primary-text {
  font-size: 20px;
}

.soc-list .mdc-list-item__start {
  width: 110px;
  height: fit-content;
  display:flex;
  padding-top:10px;
  padding-bottom:10px;
  align-items: center;
  justify-content: center;
  margin-left:16px;
  margin-right:16px;
}

.soc-list .mdc-list-item__content {
  overflow: visible;
}

.soc-list .mdc-list-item__content .mdc-list-item__primary-text {
  white-space: normal;
}

.soc-list .mdc-list-item__end {
  width:48px;
  z-index: 2;
  pointer-events: all;
}
.soc-list .mdc-list-item__end .like-btn {
  bottom: 16px !important;
  z-index: 2;
  pointer-events: all;
}

.soc-list .mdc-list-item__start img {
  max-height: 100px;
  max-width: 100%;
  width: auto;
}

.liked-header-padding {
  padding-top:40px;
}

@media (max-width: 600px) {
  .liked-header-padding {
    padding-top:30px;
  }
}


.like-list .mdc-list-item {
  margin-bottom:4px;
}

.like-list .mdc-list-item img {
  object-fit: cover;
  height:56px;
  width: 56px;
}

.like-group-title {
  background: white;
  display: inline-block;
  padding: 8px;
  padding-right:20px;
  margin: 0;
  position: absolute;
  color: var(--mdc-theme-primary);
  margin-top: -20px;
  padding-left: 14px;
}
.like-group-divider {
  color: var(--mdc-theme-primary);
  margin-top: 20px;
  margin-bottom: 20px;
}

/** tip List **/
.tip-list .mdc-list-item__start {
  width: 128px;
  height: fit-content;
  display:flex;
  padding-top:10px;
  padding-bottom:10px;
  align-items: center;
  justify-content: center;
}

.tip-list .mdc-list-item__start img {
  height: 100px;
  object-fit: cover;
}

.tip-list .mdc-list-item__primary-text {
  text-overflow: ellipsis;
  width: calc(100% - 10px);
  display: inline-block;
}
.tip-list .mdc-list-item__secondary-text {
  white-space: normal;
}
.tip-list .mdc-list-item__secondary-text .tip-user > span {
  white-space: nowrap;
}

.tip-list .mdc-list-item__end {
  display:flex;
  padding-top:10px;
  padding-bottom:10px;
  align-items: center;
  justify-content: center;
}

.tip-list .tip-user {
  color: var(--mdc-theme-primary);
}

/** review List **/
.review-list .mdc-list-item__start {
  width: 128px;
  height: fit-content;
  display:flex;
  padding-top:10px;
  padding-bottom:10px;
  align-items: center;
  justify-content: center;
}

.review-list .mdc-list-item__start img {
  height: 100px;
  object-fit: cover;
}

.review-list .mdc-list-item__end {
  display:flex;
  padding-top:10px;
  padding-bottom:10px;
  align-items: center;
  justify-content: center;
}

.review-list .review-user {
  color: var(--mdc-theme-primary);
}


/** Other Cards **/
.explore-card .mdc-card__action-buttons {
  width:100%;
}

.explore-card .mdc-card__action--button {
  width: 100%;
}

.explore-card .mdc-card__action--button .mdc-button__label {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.explore-card .mdc-card__media-content {
  padding:10px;
  font-size: 20px;
  text-align: right;
  text-transform: uppercase;
  color:white;
  font-weight: bold;
  text-shadow: 0 0 4px rgba(0,0,0,0.7);
}

.explore-card .mdc-card__media-content .secondary {
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 16px;
}

.explore-card .mdc-card__media-content .material-icons {
 position: relative;
 top: 5px;
}

.acc-card .mdc-card__media-content {
  padding:10px;
  color:white;
  font-weight: bold;
  text-shadow: 0 0 3px rgba(0,0,0,0.5);
}
.acc-card-wrapper .mdc-card__actions .mdc-card__action-buttons {
  color:#555555 !important;
}

/* Listing card action bar: [rating] [private?] ··· [♥] */
.acc-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 4px 4px 8px;
  min-height: 44px;
  width: 100%;
  box-sizing: border-box;
}

.acc-card-actions__rating {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.acc-card-actions__spacer {
  flex: 1;
}

.acc-card-actions .accommodation-private {
  margin-left: 0;
  flex-shrink: 0;
}

/* Related listings section on detail pages */
.related-section {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #e0e0e0;
}

.related-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 8px;
}

.related-header h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
}

.related-header .link {
  font-size: 0.875rem;
  color: var(--mdc-theme-background);
  text-decoration: none;
  white-space: nowrap;
}

.related-header .link:hover {
  text-decoration: underline;
}

.related-scroll {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--mdc-theme-background) #f0f0f0;
}

.related-scroll::-webkit-scrollbar {
  height: 4px;
}

.related-scroll::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 2px;
}

.related-scroll::-webkit-scrollbar-thumb {
  background: var(--mdc-theme-background);
  border-radius: 2px;
}

.related-card {
  display: flex;
  flex-direction: column;
  min-width: 140px;
  max-width: 160px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.related-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
  transform: translateY(-2px);
}

.related-card__media {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--mdc-theme-background-opacity);
}

.related-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.related-card__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--mdc-theme-background) 0%, var(--mdc-theme-background-dark) 100%);
}

.related-card__body {
  padding: 8px 10px;
}

.related-card__title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #333;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.related-card__meta {
  font-size: 0.72rem;
  color: #888;
  margin-top: 3px;
}

.event-group-title {
  background: white;
  display: inline-block;
  padding: 8px;
  padding-right:20px;
  padding-left: 0px;
  margin: 0;
  position: absolute;
  color: var(--mdc-theme-primary);
}
.event-group-divider {
  color: var(--mdc-theme-primary);
  margin-top: 20px;
  margin-bottom: 20px;
}

.event-card .event-title {
  padding:15px;
  display: block;
  background: rgba(0, 0, 0, 0.5);
}
.event-card .mdc-card__media-content {
  padding:0px;
  color:white;
  font-weight: bold;
  text-shadow: 0 0 3px rgba(0,0,0,0.5);
}
.event-card-wrapper .mdc-card__actions {
  width: 100%;
  position: absolute;
  bottom: 0;
}
.event-card-wrapper .mdc-card__actions .mdc-card__action-buttons {
  color:white !important;
  background-color: rgba(var(--mdc-theme-background-rgb),0.9);
  font-size: 1.6em;
  max-width: 90px;
  text-align: center;
  font-weight: 600;
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;
  min-height: 52px;
  padding: 8px;
}

@media (max-width: 900px) {
  .event-card-wrapper .mdc-card__actions .mdc-card__action-buttons {
    font-size: 1.4em;
    padding: 6px;
    max-width: 70px;
  }
}
@media (max-width: 840px) {
  .event-card-wrapper .mdc-card__actions .mdc-card__action-buttons {
    font-size: 1.6em;
    padding: 8px;
    max-width: 90px;
  }
}
@media (max-width: 550px) {
  .event-card-wrapper .mdc-card__actions .mdc-card__action-buttons {
    font-size: 1.4em;
    padding: 6px;
    max-width: 70px;
  }
}

.event-card-wrapper .like-btn {
  bottom: 5px !important;
  right: 0px !important;
  background: white !important;
  box-shadow: none !important;
}


.event-date-short {
  color:white !important;
  background-color: rgba(var(--mdc-theme-background-rgb),0.9);
  font-size: 2em;
  max-width: 100px;
  text-align: center;
  font-weight: 600;
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;
  min-height: 52px;
  padding: 8px;
}

/* Job Card */

.job-card .job-title {
  padding:15px;
  display: block;
  background: rgba(0, 0, 0, 0.5);
}
.job-card .job-company {
  padding:15px;
  display: block;
  background: rgba(0, 0, 0, 0.5);
}
.job-card .mdc-card__media-content {
  padding:0px;
  color:white;
  font-weight: bold;
  text-shadow: 0 0 3px rgba(0,0,0,0.5);
}
.job-card-wrapper .mdc-card__actions {
  color:white !important;
  position: absolute;
  bottom: 0;
  font-size: 1em;
  text-align: center;
  font-weight: 600;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  box-sizing: border-box;
  min-height: 52px;
  padding: 8px;
  width:100%;
} 

.job-card-wrapper .mdc-card__actions .mdc-card__action-buttons {
  flex-wrap: wrap;
}


.tag {
  background-color: rgba(var(--mdc-theme-background-rgb),0.9);
  padding:5px;
  padding-left:10px;
  padding-right:10px;
  margin:2px;
  border-radius: 4px;
  color:white;
  white-space: nowrap;
  text-transform: capitalize;
  margin-top:4px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.tag .material-icons {
  margin-left:5px;
  margin-right:5px;
}

/* Main Headline image */
.main-intro .headline-image {
  position: relative;
  z-index:-1;
  pointer-events: none;
}

/* Searchbox */
.main-intro .main-search {
 position: absolute;
 left:0;
 top:200px;
 width:100%;
 z-index:5;
}

.main-intro .centered {
  width: 55%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display:flex;
  flex-direction: column;
}

.search-input-wrapper {
  position: relative;
  display:flex;
  align-items: center;
  justify-content: center;
}

.search-input-wrapper .search-form {
  display:flex;
  align-items: center;
  justify-content:center;
  width: 100%;
}

@media screen and (max-width: 600px) {
  .main-intro .centered {
    width: 75%;
  }
}

#searchWrapper .clear-button {
  display: none;
  position: absolute;
  color: white;
  right: 50px;
}

#searchWrapper.has-value .clear-button {
  display: inline-block;
}

.searchbox .search-button {
  display: block;
  background-color:var(--mdc-theme-background);
  color:white;
  padding: 6px;
  padding-left:10px;
  padding-right:10px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  height:43px;
  line-height: 31px;
  cursor: pointer;
}
.main-intro .mylocation-button {
  color:white;
}

.searchbox input {
  display: block;
  font-size: 22px;
  height: 28px;
  color: white;
  padding-left: 20px;
  padding-right: 20px;
  padding-top:6px;
  padding-bottom:6px;
  width:calc(100% - 40px);
  background: rgba(0,0,0,0.3);
  border: 1px solid var(--mdc-theme-background);
  border-radius: 0px;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  font-family: Roboto, sans-serif;
  font-family: var(--mdc-typography-font-family, Roboto, sans-serif);
}

.uni-search .searchbox input,
.filter-search .searchbox input {
  background-color: white;
  color: var(--mdc-theme-primary);
}

.uni-search .searchbox #searchWrapper .clear-button,
.filter-search .searchbox #searchWrapper .clear-button {
  display: none;
  position: absolute;
  color: var(--mdc-theme-primary);
  right: 50px;
}
.filter-search .searchbox #searchWrapper .clear-button {
  display: inline-block;
}

.searchbox input {
  background-color: transparent !important;
  color: white !important;
}

.uni-search  .searchbox input {
  background-color: transparent !important;
  color: white !important;
}

.searchbox  input:-webkit-autofill,
.searchbox  input:-webkit-autofill:hover,
.searchbox  input:-webkit-autofill:focus,
.searchbox  input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: white !important;
    font-size: 22px !important;
    font-family: var(--mdc-typography-font-family, Roboto, sans-serif);
}

.uni-search .searchbox  input:-webkit-autofill,.uni-search
.uni-search .searchbox  input:-webkit-autofill:hover,
.uni-search .searchbox  input:-webkit-autofill:focus,
.uni-search .searchbox  input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: white !important;
    font-size: 22px !important;
    font-family: var(--mdc-typography-font-family, Roboto, sans-serif);
}

.searchbox input:focus-visible {
  outline: var(--mdc-theme-background) solid 1px;
  background-color: transparent !important;
  color:white !important;
}

.uni-search .searchbox input:focus-visible {
  outline: var(--mdc-theme-background) solid 1px;
  background-color: transparent !important;
  color: white !important;
}

@media screen and (max-width: 600px) {
  .searchbox.centered {
    width: 75%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .searchbox input {
    font-size: 18px;
  }
  .searchbox  input:-webkit-autofill,
  .searchbox  input:-webkit-autofill:hover,
  .searchbox  input:-webkit-autofill:focus,
  .searchbox  input:-webkit-autofill:active {
    font-size: 18px !important;
}
}

.searchbox input::-webkit-input-placeholder,
.searchbox input::placeholder {
  display: inline-block;
  color:white;
  opacity: 0.6;
  transition: all 0.3s ease-in-out;
  padding-right: .15em;
  white-space: nowrap;
}

.uni-search .searchbox input::-webkit-input-placeholder,
.uni-search .searchbox input::placeholder {
  color:white;
  opacity: 0.8;
}

.filter-search .searchbox input::-webkit-input-placeholder,
.filter-search .searchbox input::placeholder {
  color:var(--mdc-theme-primary);
  opacity: 0.8;
}

.searchbox input:focus::-webkit-input-placeholder,
.searchbox input:focus::placeholder {
  -webkit-transform: translateY(-125%);
  font-size: 75%;
  opacity: 0.05
}

.searchbox input.imitatefocus::-webkit-input-placeholder,
.searchbox input.imitatefocus::placeholder {
  -webkit-transform: translateY(-125%);
  opacity: 0.05
}

.mdc-search-menu-options {
  background-color: rgba(0,0,0,0.7);
  margin-top:2px;
}

.menu-anchor {
  float:right;
  margin-top: 55px;
}

.mdc-search-menu-options .mdc-list {
  background-color: transparent;
}

.mdc-search-menu-options .mdc-list .mdc-list-item {
  color:white;
  padding-top:8px;
  padding-bottom:8px;
  font-size:1.2em;
} 

.mdc-search-menu-options .mdc-list .mdc-list-item:hover {
  color: var(--mdc-theme-background);
  background-color:rgba(255,255,255,.0.2);
} 

/* App/play store links */
.store-links-title {
  color:var(--mdc-theme-primary);
  font-size: 16px;
}
.store-links {
  width: 100%;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}

.store-links .link-row {
  display: flex;
  flex-flow: row;
  align-items: center;
  justify-content: center;
}

.store-links .iphone a,
.store-links .android a {
  display: inline-block;
  height: 50px;
}

.store-links .iphone img,
.store-links .android img {
  height: 50px;
  width: auto;
  margin-left: 10px;
  margin-right: 10px;
}

.app-download-btn {
  border-color: white !important;
  color:white !important;
}

.mdc-dialog-app {
  padding:32px;
}

.mdc-dialog-app .mdc-dialog__container {
  width:80%;
  min-width: 350px;
}

.mdc-dialog-app .mdc-dialog__surface {
  max-width: 100% !important;
}

.mdc-dialog-app .mdc-dialog__close {
  position: absolute;
  top: 0;
  right: 0;
}

.app-dialog-content {
  display:flex;
  flex-flow: row;
  flex-wrap: wrap;
}

.app-dialog-links {
  display:flex;
  flex-flow:column;
  flex:1;
  align-items: center;
  justify-content: space-evenly;
}

.app-dialog-links .dialog-app-title {
  font-size: 36px;
  line-height: 38px;
  text-align: center;
}

.qr-code {
  margin-left:auto;
  margin-right:auto;
  padding:40px;
  flex:1;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}

.qr-code img {
  padding: 10px;
  padding-bottom:40px;
}

@media (max-width: 550px) {
  .store-links .iphone img,
  .store-links .android img {
    height: 45px;
  }
}
@media (max-width: 800px) {
  .main-intro .main-search {
    top:120px;
  }
}

.headline-overlap {
  z-index: 1;
  margin-top:-100px;
  background-color: white;
}

.explore {
  padding: 16px;
}

.nightsout-section {
  margin-top:10px;
}

.accommodation-section {
  margin-top:30px;
}

.tips-section {
  margin-top:30px;
}

.accommodation-private {
  color: #d53030;
  text-transform: uppercase;
  font-size: 13px;
  margin-left:5px;
}

.accommodation-detail-section .additional-images {
  display: flex;
  flex-wrap:wrap;
  align-items: center;
}

.accommodation-detail-section .additional-images .additional-image {
  max-width: 150px;
  height:fit-content;
  max-height: 150px;
}

/** Checkboxes **/
.checkbox-group {
  display:flex;
  flex-flow: column;
}

.mdc-form-checkbox label {
  text-transform: capitalize;
}

.line {
  border-bottom: 1px solid silver;
}

/** Rating **/
.rating-breakdown {
  padding:0;
  padding-bottom:20px;
}

.rating-breakdown  .mdc-layout-grid__inner {
  grid-gap: 1px !important;
}

.rating-category {
  display:flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding-top:15px;
  color: #555555;
  font-size: 18px;
}
.rating-category .title {
  margin-right:10px;
  text-align: right;
}

.rating-category .rating {
  text-align: right;
  font-weight: bold;
  margin-right:10px;
  font-size: 18px;
}

.rating {
  display: inline-flex;
  align-items: center;
}

.rating ul.star-rating {
  display:flex;
  list-style: none;
  padding:2px;
  margin:2px;
  padding-left:5px;
  margin-bottom:0;
  padding-bottom:0;
}

.rating ul.star-rating li {
  list-style: none;
}

.rating .rating-title {
  margin-right:5px;
}

.rating .star-filled {
  display: inline-block;
  background-image: url('/assets/images/hat.png');
  background-size: contain;
  width:16px;
  height:16px;
}
.rating .star-unfilled {
  display: inline-block;
  background-image: url('/assets/images/hat-outline.png');
  background-size: contain;
  width:16px;
  height:16px;
  opacity: 0.6;
}

h2 .rating .star-filled {
  width:26px;
  height:26px;
}
h2 .rating .star-unfilled {
  width:26px;
  height:26px;
}

/* Fractional hat — filled portion (::before) + outline portion (::after) */
.rating .star-hat {
  position: relative;
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.rating .star-hat::before,
.rating .star-hat::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.rating .star-hat::before {
  /* Filled hat clipped to the filled portion (left 0 → pct%) */
  background-image: url('/assets/images/hat.png');
  -webkit-clip-path: inset(0 calc(100% - var(--pct, 0%)) 0 0);
  clip-path: inset(0 calc(100% - var(--pct, 0%)) 0 0);
}
.rating .star-hat::after {
  /* Outline hat clipped to the unfilled portion (pct% → right) */
  background-image: url('/assets/images/hat-outline.png');
  opacity: 0.4;
  -webkit-clip-path: inset(0 0 0 var(--pct, 0%));
  clip-path: inset(0 0 0 var(--pct, 0%));
}

h2 .rating .star-hat {
  width: 26px;
  height: 26px;
}

.rating-breakdown  .rating-category .title {
  margin-right:5px;
  text-align: right;
  font-size: 16px;
}

@media (max-width: 450px) {
  .rating-breakdown  .rating-category .title {
    font-size: 14px;
  }
}

.rating-breakdown  .rating-category .rating {
  text-align: right;
  font-weight: bold;
  margin-right:5px;
  font-size: 16px;
}


.rate {
  float: left;
  height: 46px;
  padding: 0 10px;
}
.rate:not(:checked) > input {
  position: absolute;
  visibility: hidden;
  z-index: -1;
  width:26x;
}
.rate:not(:checked) > label {
  float:right;
  width:1em;
  overflow:hidden;
  white-space:nowrap;
  cursor:pointer;
  font-size:26px;
  color:#ccc;
}

.rate:not(:checked) > label:before {
  content: ' ';
  display: inline-block;
  background-image: url('/assets/images/hat-outline.png');
  background-size: contain;
  width:26px;
  height:26px;
  opacity: 0.6;
}
.rate > input:checked ~ label {
  content: ' ';
  display: inline-block;
  background-image: url('/assets/images/hat.png');
  background-size: contain;
  width:26px;
  height:26px;
  opacity: 1;
}
.rate > input:checked ~ label:before {
  content: ' ';
  background:none;
}
.rate:not(:checked):not(.disabled) > label:hover,
.rate:not(:checked):not(.disabled) > label:hover ~ label {
  content: ' ';
  display: inline-block;
  background-image: url('/assets/images/hat.png');
  background-size: contain;
  width:26px;
  height:26px;
  opacity: 0.6;
}
.rate:not(.disabled) > input:checked + label:hover,
.rate:not(.disabled) > input:checked + label:hover ~ label,
.rate:not(.disabled) > input:checked ~ label:hover,
.rate:not(.disabled) > input:checked ~ label:hover ~ label,
.rate:not(.disabled) > label:hover ~ input:checked ~ label {
  content: ' ';
  display: inline-block;
  background-image: url('/assets/images/hat.png');
  background-size: contain;
  width:26px;
  height:26px;
  opacity: 0.6;
}

/** Slider **/
.slider {
  width: 100%;
  max-width: 800px;
  height: 340px;
  position: relative;
  overflow: hidden; /* <===  */
  border-radius: 5px;
}

.slide {
  width: 100%;
  max-width: 800px;
  height: 340px;
  position: absolute;
  transition: all 0.5s;
}

.slide img {
  width: 100%;
  height: 100%;
  max-height: 300px;
  object-fit: cover;
}

.image-accreditation {
  color: #999999;
  display:flex;
  justify-items: center;
  align-items: center;
  margin-top:0; 
}
.image-accreditation .material-icons {
  font-size: 16px;
  margin-right:5px;
}

.slider .btn {
  position: absolute;
  width: 40px;
  height: 40px;
  padding: 10px;
  border: none;
  border-radius: 50%;
  z-index: 10px;
  cursor: pointer;
  background-color: rgba(var(--mdc-theme-background-rgb), 0.9);
  color:white;
  font-size: 18px;
  font-weight: 900;
}
.slider .btn:active {
  transform: scale(1.1);
}
.slider .btn-prev,
.slider .btn-prev-rev {
  top: 45%;
  left: 2%;
}

.slider .btn-next,
.slider .btn-next-rev  {
  top: 45%;
  right: 2%;
}

.rating-slider {
  height: 600px;
}
.rating-slider .rating-slide {
  height: 600px;
}

.rating-slider .btn-prev,
.rating-slider .btn-prev-rev {
  top: 180px;
  left: 2%;
}

.rating-slider .btn-next,
.rating-slider .btn-next-rev  {
  top: 180px;
  right: 2%;
}

.rating-slider .rating-slide .rating-breakdown {
  background-color: rgba(var(--mdc-theme-background-rgb), 0.10);
  border-radius: 6px;
}

.rating-slider .rating-slide .review-body {
  max-height: 400px;
  overflow: auto;
}
.rating-slider .rating-slide .review-body::-webkit-scrollbar {
    width: 5px;
    margin-right:2px;
 }
/* Track */
.rating-slider .rating-slide .review-body::-webkit-scrollbar-track {
   background: #f1f1f1;
}

/* Handle */
.rating-slider .rating-slide .review-body::-webkit-scrollbar-thumb {
   background: #bec4c4;
}

/* Handle on hover */
.rating-slider .rating-slide .review-body::-webkit-scrollbar-thumb:hover {
    background: #555;
}

@media (max-width: 840px) {
  .rating-slider {
    height: auto;
    transition: height 0.2s ease;
  }

  .rating-slider .rating-slide {
    height: auto;
  }
}


/* University Page */

.university-section .contained-section {
  padding-top:0;
}

.university-section .uni-short {
  color: var(--mdc-theme-primary);
  text-transform: uppercase;
  font-weight: 600;
}

.university-section .university-cover {
  z-index:-1;
  background-repeat:no-repeat;
  background-size: 100%;
  background-position:top center;
  background-size: cover;
  position: relative;
  height: 300px;
  margin-top: -30px;
}

.university-section .university-cover-spacer {
  z-index:-1;
  position: relative;
  height: 300px;
  margin-top: -50px;
}

@media (max-width: 800px) {
  .university-section .university-cover {
    height: 220px;
    background-size: cover;
  }
  .university-section .university-cover-spacer {
    height: 220px;
  }
}
.university-section .university-logo-wrapper {
  width: 200px;
  height: 150px;
  display:flex;
  align-items: flex-start;
  justify-content: center;
  background-color:white;
  margin-top:-30px;
  margin-left: 30px;
  padding:15px;
}
.university-section .university-logo {
  max-width: 180px;
  max-height: 110px;
  object-fit: contain;
}
.university-section .university-title {
  color: var(--mdc-theme-primary);
  font-size:20px;
  position: relative;
  left: 280px;
  margin-top:-130px;
  margin-bottom:50px;
  width: calc(100% - 350px);
}
.university-section .university-title .university-title-section:first-letter {
  display: inline-block;
  text-transform: uppercase;
}

@media (max-width: 600px) {
  .university-section .university-logo-wrapper {
    width: 160px;
    height: 120px;
    padding:10px;
  }
  .university-section .university-logo {
    max-width: 130px;
    max-height: 80px;
  }
  .university-section .university-title {
    color: var(--mdc-theme-primary);
    margin-bottom:10px;
    left: 30px;
    margin-top: -40px;
    width: calc(100% - 80px);
  }
}

.university-section .university-info {
  color: var(--mdc-theme-primary);
  padding-top: 10px;
  padding-bottom: 0;
}

.university-section .university-info a {
  color: var(--mdc-theme-background) !important;
}

.university-section .section-card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  font-size: 1.4em;
  background-color: rgba(0,0,0,0.2);
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  .university-section .section-card-content {
    font-size: 1.2em;
  }
}

.university-section .section-card-content .material-icons {
  font-size: 1.6em;
  margin-bottom: 10px;
}

.admin-university-section .section-card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.4em;
  background-color: rgba(0,0,0,0.2);
  font-weight: 600;
}
.admin-university-section .section-card-content .material-icons {
  font-size: 1.6em;
  margin-bottom: 10px;
}

#save-perm-btn {
  background-color: var(--mdc-theme-background);
  color:white;
  margin-right:40px;
  padding-left:20px;
  padding-right:20px;
}

/* Tags */
.tags-input {
  display: inline-block;
  position: relative;
  border: 1px solid silver;
  border-radius: 4px;
  padding: 8px;
}

.tags-input ul {
  list-style: none;
  padding: 2px;
  margin: 0;
  display:flex;
  box-shadow: none;
  flex-wrap: wrap;
}

.tags-input li {
  background-color: var(--mdc-theme-background);
  color: white;
  border-radius: 4px;
  padding: 5px 5px;
  padding-left:20px;
  margin-right: 5px;
  margin-bottom: 5px;
  font-size: 14px;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.tags-input input[type="text"] {
  border: none;
  outline: none;
  padding: 5px;
  font-size: 14px;
}

.tags-input input[type="text"]:focus {
  outline: none;
}

.tags-input .delete-button {
  background-color: transparent;
  border: none;
  color: white;
  cursor: pointer;
  margin-left: 5px;
}

/* Likes */
.like-btn {
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  color: rgba(var(--mdc-theme-background-rgb), 1) !important; 
  background: rgba(255,255,255,0.5);
  bottom: 12px;
  position: absolute;
  height: 40px;
  padding-top: 9px;
  width: 40px;
  padding-left: 9px;
}

.notification {
  background-color: red;
  position: relative;
  display: block;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  margin-left: auto;
}

.university-area-section .notification {
  position: absolute;
  top: 20px;
  right: 20px;
}


/* Links */
.link, .link:hover, .link:visited, .link:link, .link:active {
  color: var(--mdc-theme-background);
  cursor:pointer;
}

/* Feedback */
.feedback {
  margin-top:30px;
}
.feedback .feedback-title .material-icons {
  color: var(--mdc-theme-background);
  margin-left: 15px;
}

/* Privacy */
.privacy {
  margin-top:30px;
}
.privacy .privacy-title .material-icons {
  color: var(--mdc-theme-background);
  margin-left: 15px;
}

/* Terms */
.terms {
  margin-top:30px;
}
.terms .terms-title .material-icons {
  color: var(--mdc-theme-background);
  margin-left: 15px;
}

.archive-image {
  min-width: 400px;
}

.archive-section .demo-card__primary {
  padding: 16px;
}

.left {
  margin-bottom: 16px;
}

/* Fixed Back Button */

.fixed-back-button {
    position: fixed;
    bottom: 10px;
    z-index: 2;
    left: 10px;
}

/* Creator Account */
.creator-account-notification {
  display:flex; 
  flex-wrap: wrap; 
  align-items: center;
  justify-content: flex-end; 
  color: var(--mdc-theme-primary);
  padding: 12px;
  margin-top: 0px;
  margin-bottom: 0px;
}

.creator-account-notification .mdc-button {
  margin-right:0;
  margin-left: 20px;
}

.payment-section-placeholder {
  height: 300px;
  width:calc(100% - 20px);
  background-color: #EEEEEE;
  color:white;
  text-align: center;
  border-radius: 6px;
  margin:10px;
}
.payment-section-placeholder div {
  font-size: 2em;
  line-height: 200px;
}

/* // Article Page */

.article {
  max-width: var(--articleMax);
}

.article-meta {
  display: flex;
  justify-content: space-between;
}

.article-title {
  margin: 0;
}

.article-preview {
  max-width: 340px;
  line-height: 1.8;
}

.author {
  color: var(--mdc-theme-background);
}

.author-meta {
  display: flex;
  align-items: center;
  margin-top: -16px;
  text-decoration: none;
}

.author-image {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin-right: 16px;
}

.hero-caption {
  max-width: 500px;
}

.desktop-only {
  display: none;
}
.mobile-only {
  display: flex;
}


@media screen and (min-width: 840px) {
  .desktop-only {
    display: flex;
  }
  .desktop-only.mdc-data-table__header-cell {
    display: table-cell;
  }
  .desktop-only.mdc-data-table__cell {
    display: table-cell;
  }
  .mobile-only {
    display: none;
  }
}

@media screen and (min-width: 800px) {
  .article {
    min-width: 800px;
  }

  .mdc-card + .mdc-card {
    margin-top: 32px;
  }

  .main-intro {
    display: flex;
    flex-direction: column;
  }

  .left {
    margin-bottom: 0;
  }

  .left,
  .right {
    display: flex;
    width: 100%;
  }

  .right {
    flex-direction: column;
    margin-left: 32px;
  }

  .topic-section {
    display: flex;
    align-items: center;
  }

}

.hidden {
  display: none !important;
}

@keyframes pulsecolor {
  0% {
    background-color: #ffffff;
  }
  50% {
    background-color: var(--mdc-theme-pulse);
  }
  100% {
    background-color: #ffffff;
  }
}

.loading-items {
  padding-top: 0;
  margin-top: -16px;
  display:none;
}

.loading-card {
    background-color: #ffffff;
    animation-name: pulsecolor;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}
#filterSearch input[type="text"],
#filterSearch input[type="search"],
#filterSearch .mdc-text-field__input {
  color: #111 !important;
  caret-color: #111 !important;
}

#filterSearch input::placeholder,
#filterSearch .mdc-text-field__input::placeholder {
  color: rgba(0,0,0,0.45) !important;
}

/* ─── AI Listing Enrichment ────────────────────────────────────────────────── */
.listing-enrichment {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #eee;
}
.enrichment-section {
  margin-bottom: 28px;
}
.enrichment-section h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 10px;
  color: #222;
}
.enrichment-pros-cons {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.enrichment-col {
  flex: 1;
  min-width: 220px;
}
.enrichment-col h4 {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.enrichment-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.enrichment-list li {
  padding: 4px 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #444;
}
.enrichment-faq-item {
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 4px;
}
.enrichment-faq-item summary {
  cursor: pointer;
  padding: 10px 0;
  font-weight: 500;
  font-size: 0.92rem;
  color: #333;
  list-style: none;
}
.enrichment-faq-item summary::-webkit-details-marker { display: none; }
.enrichment-faq-item summary::before {
  content: '+ ';
  color: var(--mdc-theme-primary);
  font-weight: 700;
}
.enrichment-faq-item[open] summary::before { content: '− '; }
.enrichment-faq-item p {
  font-size: 0.9rem;
  color: #555;
  padding: 0 0 12px 16px;
  margin: 0;
  line-height: 1.6;
}
.enrichment-footer {
  margin-top: 16px;
  font-size: 0.8rem;
  color: #aaa;
  border-top: 1px solid #f5f5f5;
  padding-top: 10px;
}

.summary-clamped {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.summary-see-more {
  display: inline-block;
  margin-top: 4px;
  color: #30D5C8;
  font-size: 0.82rem;
  cursor: pointer;
  text-decoration: none;
  user-select: none;
}
.summary-see-more:hover {
  opacity: 0.75;
}
