/* [project]/components/free-tools/free-tools.css [app-client] (css) */
.ft-page {
  --ft-ink: #030a19;
  --ft-text: #232b3a;
  --ft-muted: #5b6576;
  --ft-line: #e1e5ec;
  --ft-line-strong: #c9d0db;
  --ft-surface: #f4f6fb;
  --ft-blue: #135ef2;
  --ft-blue-text: #0b4fcc;
  --ft-blue-tint: #eaf1fe;
  --ft-accent: var(--ft-blue);
  --ft-accent-text: var(--ft-blue-text);
  --ft-tint: var(--ft-blue-tint);
  --ft-ease-out: cubic-bezier(.22, 1, .36, 1);
  --ft-shadow-card: 0 1px 2px #030a190a, 0 8px 24px #030a190f;
  color: var(--ft-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html:has(.ft-page) {
  scroll-padding-top: 88px;
}

.ft-page ::selection {
  background: var(--ft-tint);
  color: var(--ft-ink);
}

.ft-crumbs ol {
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  list-style: none;
  display: flex;
}

.ft-crumbs li {
  color: var(--ft-muted);
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.ft-crumbs li + li:before {
  content: "";
  background: var(--ft-line-strong);
  border-radius: 50%;
  flex: none;
  width: 5px;
  height: 5px;
}

.ft-crumbs a {
  color: var(--ft-muted);
  border-radius: 4px;
  padding: 2px 0;
  text-decoration: none;
}

.ft-crumbs a:hover {
  color: var(--ft-ink);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--ft-accent);
  text-decoration-color: var(--ft-accent);
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}

.ft-crumbs [aria-current] {
  color: var(--ft-text);
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60vw;
  overflow: hidden;
}

.ft-prose {
  color: var(--ft-text);
  font-size: 17px;
  line-height: 1.65;
}

@media (min-width: 768px) {
  .ft-prose {
    font-size: 18px;
  }
}

.ft-prose > * {
  margin-top: 0;
  margin-bottom: 0;
}

.ft-prose > * + * {
  margin-top: 18px;
}

.ft-prose h2 {
  font-family: var(--font-display);
  color: var(--ft-ink);
  letter-spacing: -.01em;
  text-wrap: balance;
  margin-top: 48px;
  font-size: clamp(24px, 1.2vw + 18px, 30px);
  font-weight: 400;
  line-height: 1.2;
}

.ft-prose h2:first-child {
  margin-top: 0;
}

.ft-prose h2 + * {
  margin-top: 14px;
}

.ft-prose h3 {
  color: var(--ft-ink);
  margin-top: 32px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.3;
}

.ft-prose h3 + * {
  margin-top: 10px;
}

.ft-prose p {
  text-wrap: pretty;
}

.ft-prose strong {
  color: var(--ft-ink);
  font-weight: 800;
}

.ft-prose a {
  color: var(--ft-ink);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--ft-accent);
  text-decoration-color: var(--ft-accent);
  text-underline-offset: 4px;
  border-radius: 4px;
  font-weight: 700;
  text-decoration-thickness: 2px;
  transition: color .15s;
}

.ft-prose a:hover {
  color: var(--ft-accent-text);
  text-decoration-thickness: 3px;
}

.ft-prose ul, .ft-prose ol {
  gap: 8px;
  padding: 0;
  list-style: none;
  display: grid;
}

.ft-prose ul li {
  padding-inline-start: 28px;
  position: relative;
}

.ft-prose ul li:before {
  content: "";
  inset-inline-start: 4px;
  background: var(--ft-accent);
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  top: .62em;
}

.ft-prose ol {
  counter-reset: ft-ol;
}

.ft-prose ol li {
  counter-increment: ft-ol;
  padding-inline-start: 42px;
  position: relative;
}

.ft-prose ol li:before {
  content: counter(ft-ol);
  inset-inline-start: 0;
  background: var(--ft-ink);
  color: #fff;
  width: 28px;
  height: 28px;
  font-family: var(--font-display);
  text-align: center;
  border-radius: 50%;
  font-size: 14px;
  line-height: 28px;
  position: absolute;
  top: .05em;
}

.ft-prose blockquote {
  box-shadow: inset 2px 0 0 var(--ft-accent);
  color: var(--ft-ink);
  margin-inline: 0;
  padding: 4px 0;
  padding-inline-start: 20px;
}

[dir="rtl"] .ft-prose blockquote {
  box-shadow: inset -2px 0 0 var(--ft-accent);
}

.ft-prose .callout, .ft-prose aside {
  background: var(--ft-tint);
  border-radius: 20px;
  padding: 18px 20px;
  font-size: 16px;
}

.ft-prose .callout > * + *, .ft-prose aside > * + * {
  margin-top: 8px;
}

.ft-prose small, .ft-prose .note {
  color: var(--ft-muted);
  font-size: 14px;
}

.ft-page .overflow-x-auto, .ft-page .overflow-x-scroll {
  position: relative;
}

.ft-table-wrap {
  box-shadow: inset 0 0 0 1px var(--ft-line);
  overscroll-behavior-x: contain;
  background: #fff;
  border-radius: 20px;
  position: relative;
  overflow-x: auto;
}

.ft-prose table, .ft-table {
  border-collapse: separate;
  border-spacing: 0;
  font-variant-numeric: tabular-nums lining-nums;
  width: 100%;
  font-size: 15px;
  line-height: 1.45;
}

.ft-prose table caption, .ft-table caption {
  caption-side: top;
  text-align: start;
  color: var(--ft-ink);
  padding: 16px 16px 0;
  font-size: 14px;
  font-weight: 800;
}

.ft-prose thead th, .ft-table thead th {
  text-align: start;
  vertical-align: bottom;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ft-muted);
  border-bottom: 1px solid var(--ft-line);
  padding: 14px 16px 10px;
  font-size: 12px;
  font-weight: 800;
}

.ft-table-wrap .ft-table thead th {
  white-space: nowrap;
}

.ft-prose tbody th, .ft-prose td, .ft-table tbody th, .ft-table td {
  border-bottom: 1px solid var(--ft-line);
  vertical-align: top;
  text-align: start;
  padding: 12px 16px;
}

.ft-prose tbody th, .ft-table tbody th {
  color: var(--ft-ink);
  font-weight: 700;
}

.ft-prose tbody tr:last-child > *, .ft-table tbody tr:last-child > * {
  border-bottom: 0;
}

.ft-table tr.is-hl > * {
  background: var(--ft-tint);
}

.ft-table tr.is-hl > :first-child {
  box-shadow: inset 3px 0 0 var(--ft-accent);
}

.ft-card-strip {
  border-radius: 0 28px 28px 0 / 0 50% 50% 0;
}

[dir="rtl"] .ft-card-strip {
  border-radius: 28px 0 0 28px / 50% 0 0 50%;
}

@keyframes ft-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .ft-rise {
    animation: ft-rise .42s var(--ft-ease-out) var(--d, 0s) backwards;
  }
}

/* [project]/components/free-tools/universities/universities.css [app-client] (css) */
.ut-card {
  height: 100%;
  color: var(--ft-ink);
  box-shadow: inset 0 0 0 1px var(--ft-line), 0 1px 2px #030a190d, 0 6px 18px #030a190f;
  transition: translate .2s var(--ft-ease-out), box-shadow .2s var(--ft-ease-out), scale .15s ease-out;
  background: #fff;
  border-radius: 1.25rem;
  flex-direction: column;
  padding: 16px;
  display: flex;
}

.ut-card:hover {
  box-shadow: inset 0 0 0 1px var(--ft-line), 0 1px 2px #030a190f, 0 12px 28px #030a191a;
  translate: 0 -2px;
}

.ut-card:active {
  scale: .99;
}

.ut-card:focus-visible {
  outline: 2px solid var(--ft-blue);
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .ut-card {
    padding: 20px;
  }
}

.ut-card-top {
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.ut-card-top:after {
  content: "";
  border-top: 2.5px solid var(--ft-muted);
  border-right: 2.5px solid var(--ft-muted);
  width: 8px;
  height: 8px;
  transition: translate .2s var(--ft-ease-out);
  flex-shrink: 0;
  margin: 8px 4px 0 0;
  rotate: 45deg;
}

[dir="rtl"] .ut-card-top:after {
  margin: 8px 0 0 4px;
  rotate: -135deg;
}

.ut-card:hover .ut-card-top:after {
  translate: 2px -2px;
}

.ut-card-title {
  font-size: 17px;
  line-height: 1.3;
}

.ut-card-name {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
  display: inline;
}

.ut-card:hover .ut-card-name {
  -webkit-text-decoration: underline 2px var(--ft-blue);
  text-decoration: underline 2px var(--ft-blue);
  text-underline-offset: 4px;
}

.ut-card-place {
  color: var(--ft-muted);
  margin-top: 2px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  display: block;
}

.ut-card-reqs {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
  display: flex;
}

.ut-pill {
  background: var(--ft-surface);
  border-radius: 999px;
  align-items: baseline;
  gap: 6px;
  padding: 4px 12px;
  display: inline-flex;
}

.ut-pill.is-on {
  background: var(--ft-blue-tint);
  box-shadow: inset 0 0 0 1px #135ef24d;
}

.ut-pill abbr {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ft-muted);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.ut-pill .gp-heading {
  font-size: 18px;
  line-height: 1;
}

.ut-pill small, .ut-pill.is-none {
  color: var(--ft-muted);
  font-size: 12px;
  font-weight: 700;
}

.ut-pill.is-none {
  font-size: 13px;
}

.ut-seal {
  vertical-align: -3px;
  color: #4d7c0f;
  cursor: help;
  flex-shrink: 0;
  margin-inline-start: 6px;
  display: inline-flex;
}

.ut-seal svg {
  width: 18px;
  height: 18px;
}

.ut-badge {
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  display: inline-flex;
}

.ut-badge.is-full {
  padding: 6px 12px;
  font-size: 13px;
}

.ut-badge svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.ut-badge[data-c="high"] {
  color: #0f4cc4;
  background: #eaf1fe;
}

.ut-badge[data-c="medium"] {
  color: #454f60;
  background: #eef1f6;
}

.ut-badge[data-c="low"] {
  color: #7a5700;
  background: #fef6e1;
}

.ut-badge span {
  opacity: .8;
  font-weight: 700;
}

.ut-countries {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

@media (min-width: 640px) {
  .ut-countries {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (min-width: 1024px) {
  .ut-countries {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.ut-country {
  height: 100%;
  min-height: 5.5rem;
  color: var(--ft-ink);
  box-shadow: inset 0 0 0 1px var(--ft-line);
  transition: translate .2s var(--ft-ease-out), box-shadow .2s var(--ft-ease-out);
  background: #fff;
  border-radius: 1.25rem;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
  display: flex;
}

.ut-country:hover {
  box-shadow: inset 0 0 0 1px var(--ft-line), 0 10px 24px #030a1914;
  translate: 0 -2px;
}

.ut-country b {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
}

.ut-country b i {
  margin-inline-end: 6px;
  font-size: 20px;
  font-style: normal;
}

.ut-country:hover b {
  -webkit-text-decoration: underline 2px var(--ft-blue);
  text-decoration: underline 2px var(--ft-blue);
  text-underline-offset: 4px;
}

.ut-country small {
  color: var(--ft-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.ut-chips {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  display: flex;
}

.ut-chips a {
  min-height: 44px;
  box-shadow: inset 0 0 0 1px var(--ft-line);
  color: var(--ft-ink);
  background: #fff;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
}

.ut-chips a:hover {
  background: var(--ft-surface);
}

.ut-chips small {
  color: var(--ft-muted);
  font-size: 14px;
}

.ut-country:focus-visible, .ut-chips a:focus-visible, .ut-az a:focus-visible {
  outline: 2px solid var(--ft-blue);
  outline-offset: 2px;
}

.ut-az {
  columns: 1;
  column-gap: 40px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

@media (min-width: 640px) {
  .ut-az {
    columns: 2;
  }
}

@media (min-width: 1024px) {
  .ut-az {
    columns: 3;
  }
}

.ut-az li {
  break-inside: avoid;
  border-bottom: 1px solid var(--ft-line);
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.ut-az a {
  min-width: 0;
  color: var(--ft-ink);
  padding: 10px 0;
}

.ut-az a:hover {
  -webkit-text-decoration: underline 2px var(--ft-blue);
  text-decoration: underline 2px var(--ft-blue);
  text-underline-offset: 4px;
}

.ut-az small {
  font-variant-numeric: tabular-nums;
  color: var(--ft-muted);
  flex-shrink: 0;
  font-size: 13px;
}

@media (prefers-reduced-motion: reduce) {
  .ut-card, .ut-card-top:after, .ut-country {
    transition: none;
  }

  .ut-card:hover, .ut-country:hover, .ut-card:hover .ut-card-top:after {
    translate: none;
  }
}

/*# sourceMappingURL=components_free-tools_e398cb59._.css.map*/