*,
	::before,
	::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
	::after {
  --tw-content: "";
}

html,
	:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

a {
  color: inherit;
}


b,
	strong {
  font-weight: bolder;
}


table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

button,
	input,
	select,
	textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
  cursor: pointer;
}

button,
	select {
  text-transform: none;
}

button,
	input:where([type="button"]),
	input:where([type="reset"]),
	input:where([type="submit"]) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}


:-moz-focusring {
  outline: auto;
}

:-moz-ui-invalid {
  box-shadow: none;
}

::-webkit-inner-spin-button,
	::-webkit-outer-spin-button {
  height: auto;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

ol,
	ul,
	menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
	textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

button,
	[role="button"] {
  cursor: pointer;
}

:disabled {
  cursor: default;
}

img,
	svg,
	video,
	canvas,
	audio,
	iframe,
	embed,
	object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

img,
	video {
  max-width: 100%;
  height: auto;
}

:root {
  --background: 0 0% 100%;
  --foreground: 222.2 84% 4.9%;
  --card: 0 0% 100%;
  --card-foreground: 222.2 84% 4.9%;
  --popover: 0 0% 100%;
  --popover-foreground: 222.2 84% 4.9%;
  --primary: 300 83.2% 43%;
  --primary-foreground: 210 40% 98%;
  --secondary: 180 100% 50%;
  --secondary-foreground: 61 100% 88%;
  --muted: 210 40% 96.1%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --accent: 210 40% 96.1%;
  --accent-foreground: 222.2 47.4% 11.2%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 0, 0%, 80%;
  --input: 214.3 31.8% 91.4%;
  --ring: 221.2 83.2% 53.3%;
  --radius: 0.5rem;
  --dark-blue: 234 98% 18%;
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  text-align: left;
  font-size: 1rem;
  line-height: 1.5rem;
}

@media (min-width: 1024px) {
  p {
    max-width: 94%;
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

.from-secondary\/70, .to-secondary\/80 {
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
}

.shadow-2xl, .shadow-md {
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
}

button, input:not([type="checkbox"]), .focus-visible\:ring-2 {
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
}

.col-start-2 {
  grid-column-start: 2;
}

.row-span-5 {
  grid-row: span 5 / span 5;
}

.m-1 {
  margin: 0.25rem;
}

.m-auto {
  margin: auto;
}

.mx-\[auto\] {
  margin-left: auto;
  margin-right: auto;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-10 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-7 {
  margin-bottom: 1.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mb-auto {
  margin-bottom: auto;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-auto {
  margin-right: auto;
}

.mt-0 {
  margin-top: 0px;
}

.mt-12 {
  margin-top: 3rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-20 {
  margin-top: 5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-9 {
  height: 2.25rem;
}

.h-auto {
  height: auto;
}

.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}

.min-h-11 {
  min-height: 2.75rem;
}

.min-h-\[220px\] {
  min-height: 220px;
}

.min-h-\[70px\] {
  min-height: 70px;
}

.min-h-screen {
  min-height: 100vh;
}

.w-10 {
  width: 2.5rem;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.\!min-w-\[min\(350px\2c 100\%\)\] {
  min-width: min(350px,100%) !important;
}

.min-w-100 {
  min-width: 25rem;
}

.min-w-140 {
  min-width: 35rem;
}

.min-w-\[150px\] {
  min-width: 150px;
}

.min-w-\[200px\] {
  min-width: 200px;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-40 {
  max-width: 10rem;
}

.max-w-\[180px\] {
  max-width: 180px;
}

.max-w-\[220px\] {
  max-width: 220px;
}

.max-w-\[440px\] {
  max-width: 440px;
}

.max-w-\[45ch\] {
  max-width: 45ch;
}

.max-w-\[70vw\] {
  max-width: 70vw;
}

.max-w-\[80ch\] {
  max-width: 80ch;
}

.max-w-full {
  max-width: 100%;
}

.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-auto {
  flex: 1 1 auto;
}

.cursor-pointer {
  cursor: pointer;
}

.list-inside {
  list-style-position: inside;
}

.list-disc {
  list-style-type: disc;
}

.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-\[1fr\] {
  grid-template-columns: 1fr;
}

.grid-cols-\[1fr_auto_auto\] {
  grid-template-columns: 1fr auto auto;
}

.grid-cols-\[repeat\(auto-fill\2c minmax\(120px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(120px,1fr));
}

.grid-cols-\[repeat\(auto-fill\2c minmax\(300px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
}

.grid-cols-\[repeat\(auto-fill\2c minmax\(340px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(340px,1fr));
}

.grid-cols-\[repeat\(auto-fill\2c minmax\(48px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(48px,1fr));
}

.grid-cols-\[repeat\(auto-fill\2c minmax\(50px\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fill,minmax(50px,1fr));
}

.grid-cols-\[repeat\(auto-fit\2c minmax\(max\(14\%\2c 100px\)\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit,minmax(max(14%,100px),1fr));
}

.grid-cols-mini-auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.place-items-center {
  place-items: center;
}

.items-center {
  align-items: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-evenly {
  justify-content: space-evenly;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-x-10 {
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}

.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-x-3\.5 {
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-7 {
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.gap-y-5 {
  row-gap: 1.25rem;
}

.self-center {
  align-self: center;
}

.justify-self-end {
  justify-self: end;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-visible {
  overflow-y: visible;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.text-pretty {
  text-wrap: pretty;
}

.break-all {
  word-break: break-all;
}

.rounded-lg {
  border-radius: var(--radius);
}

.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}

.rounded-sm {
  border-radius: calc(var(--radius) - 4px);
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-4 {
  border-width: 4px;
}

.border-b-4 {
  border-bottom-width: 4px;
}

.border-foreground\/20 {
  border-color: hsl(var(--foreground) / 0.2);
}

.border-input {
  border-color: hsl(var(--input));
}

.border-primary {
  border-color: hsl(var(--primary));
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}

.border-b-transparent {
  border-bottom-color: transparent;
}

.bg-\[\#f0f0f0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(240 240 240 / var(--tw-bg-opacity));
}

.bg-background {
  background-color: hsl(var(--background));
}

.bg-dark-blue {
  background-color: hsl(var(--dark-blue));
}

.bg-destructive {
  background-color: hsl(var(--destructive));
}

.bg-destructive\/80 {
  background-color: hsl(var(--destructive) / 0.8);
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.bg-primary {
  background-color: hsl(var(--primary));
}

.bg-primary\/20 {
  background-color: hsl(var(--primary) / 0.2);
}

.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity));
}

.bg-secondary\/10 {
  background-color: hsl(var(--secondary) / 0.1);
}

.bg-secondary\/50 {
  background-color: hsl(var(--secondary) / 0.5);
}

.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity));
}

.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity));
}

.bg-transparent {
  background-color: transparent;
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.from-secondary\/70 {
  --tw-gradient-from: hsl(var(--secondary) / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--secondary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-secondary\/80 {
  --tw-gradient-to: hsl(var(--secondary) / 0.8) var(--tw-gradient-to-position);
}

.p-0 {
  padding: 0px;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-4 {
  padding: 1rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.pb-10 {
  padding-bottom: 2.5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-5 {
  padding-bottom: 1.25rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-md {
  font-size: 1.07rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.capitalize {
  text-transform: capitalize;
}

.leading-normal {
  line-height: 1.5;
}

.leading-tight {
  line-height: 1.25;
}

.text-background {
  color: hsl(var(--background));
}

.text-destructive {
  color: hsl(var(--destructive));
}

.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}

.text-destructive\/80 {
  color: hsl(var(--destructive) / 0.8);
}

.text-foreground {
  color: hsl(var(--foreground));
}

.text-foreground\/70 {
  color: hsl(var(--foreground) / 0.7);
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity));
}

.text-primary {
  color: hsl(var(--primary));
}

.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}

.underline {
  text-decoration-line: underline;
}

.no-underline {
  text-decoration-line: none;
}

.underline-offset-4 {
  text-underline-offset: 4px;
}

.opacity-0 {
  opacity: 0;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-blue-100 {
  --tw-shadow-color: #dbeafe;
  --tw-shadow: var(--tw-shadow-colored);
}

.outline {
  outline-style: solid;
}

.outline-dashed {
  outline-style: dashed;
}

.outline-1 {
  outline-width: 1px;
}

.outline-2 {
  outline-width: 2px;
}

.outline-dark-blue {
  outline-color: hsl(var(--dark-blue));
}

.outline-gray-400 {
  outline-color: #9ca3af;
}

.outline-secondary {
  outline-color: hsl(var(--secondary));
}

.outline-slate-100 {
  outline-color: #f1f5f9;
}

.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

:root {
  font-size: 14px;
}

@media (min-width: 640px) {
  :root {
    font-size: 15px;
  }
}

@media (min-width: 768px) {
  :root {
    font-size: 16px;
  }
}

@media (min-width: 1024px) {
  :root {
    font-size: 17px;
  }
}

:root {
  color-scheme: light;
  accent-color: hsl(var(--dark-blue));
}

html {
  min-height: 100vh;
  margin: 0;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  --body-width: min(75rem, 92vw);
  --body-margin-x: calc((100vw - var(--body-width)) / 2);
  width: var(--body-width);
  margin: 0 auto;
  min-height: 100vh;
}

@media (max-width: 640px) {
  body {
    --body-width: min(50rem, 92vw);
  }
}

.stretch-out {
  --stretch: var(--body-margin-x);
  margin-right: calc(-1 * var(--stretch));
  margin-left: calc(-1 * var(--stretch));
  padding-right: var(--stretch);
  padding-left: var(--stretch);
}

*,
*::before,
*::after {
  font-family: "Inter", "Noto Sans Tamil", sans-serif;
  box-sizing: border-box;
}

::-moz-selection {
  background-color: hsl(var(--primary) / 0.2);
}

::selection {
  background-color: hsl(var(--primary) / 0.2);
}

nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}

.logo {
  height: 5rem;
  width: auto;
  grid-area: logo;
}

nav .language-toggle {
  font-size: 1.1em;
}

nav .language-toggle a {
  color: #FF0000;
  text-decoration: none;
  font-weight: 500;
}

nav .language-toggle a:hover {
  text-decoration: underline;
}

nav .language-toggle a:first-child {
  margin-right: 5px;
}

button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: calc(var(--radius) - 2px);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-ring-offset-color: hsl(var(--background));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

button:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: hsl(var(--ring));
  --tw-ring-offset-width: 2px;
}

button:disabled {
  pointer-events: none;
  opacity: 0.5;
}

dialog {
  border-radius: 6px;
  border: 2px solid black;
}

dialog::backdrop {
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.exam-paper-info {
  padding: 8px;
  border-radius: 6px;
  line-height: 1.8rem;
  min-width: 280px;
  max-width: 400px;
  border: 2px solid #d9d9d9;
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.exam-paper-info > a {
  display: contents;
}

.exam-paper-info img {
  margin-top: auto;
  margin-bottom: auto;
  width: 100%;
  font-size: 0.75rem;
  line-height: 1rem;
}

footer {
  display: block;
}

@media (min-width: 768px) {
  footer {
    display: flex;
  }
}

footer {
  margin: 2.25rem 0 1.75rem 0;
  opacity: 0.8;
  font-size: 0.9rem;
  display: flex;
  justify-content: space-between;
}

.scrollbar-thin {
  -ms-overflow-style: none;
  scrollbar-width: thin;
}

@media (min-width: 640px) {
  .scrollbar-thin::-webkit-scrollbar {
    display: none;
  }
}

.exam-paper-info .links-container {
  margin-top: 8px;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

.exam-paper-info .links-container a {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  transition: color 0.25s ease-in-out;
}

.exam-paper-info .links-container a:hover {
  color: hsl(var(--primary));
}

input:not([type="checkbox"]) {
  display: flex;
  height: 2.5rem;
  width: 100%;
  border-radius: calc(var(--radius) - 2px);
  border-width: 1px;
  border-color: hsl(var(--input));
  background-color: hsl(var(--background));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-ring-offset-color: hsl(var(--background));
}

input:not([type="checkbox"])::file-selector-button {
  border-width: 0px;
  background-color: transparent;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}

input:not([type="checkbox"])::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

input:not([type="checkbox"])::placeholder {
  color: hsl(var(--muted-foreground));
}

input:not([type="checkbox"]):focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: hsl(var(--ring));
  --tw-ring-offset-width: 2px;
}

input:not([type="checkbox"]):disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

select {
  cursor: pointer;
  border-radius: 4px;
  border: none;
  outline: 1px solid #aaa;
  box-shadow: 0 0 0 2px #eee;
  padding: 4px 14px 4px 6px;
}

input[type="file"]::file-selector-button {
  cursor: pointer;
}

input:disabled,
select:disabled {
  cursor: not-allowed;
  outline-color: #ddd;
}

label:has(input) > span,
label:has(select) > span {
  display: block;
  margin-bottom: 4px;
}

textarea {
  padding: 4px;
  font-size: 14px;
  font-family: "Inter";
  width: 100%;
  border-radius: 4px;
  border: none;
  outline: 1px solid #bbb;
}

form .bottom-container {
  grid-column: span 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 10px;
}

.form-message {
  opacity: 0.9;
}

.form-message.success {
  color: #22bb33;
}

.form-message.error {
  color: #bb2124;
}

table {
  border-collapse: collapse;
  overflow-x: auto;
  min-width: 100%;
}

table th,
table td {
  padding: 6px;
  text-align: left;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}

label:has(input) {
  span,
	div {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

ul {
  list-style-position: inside;
  list-style-type: '— ';
  font-size: 1.07rem;
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}

.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.file\:font-medium::file-selector-button {
  font-weight: 500;
}

.placeholder\:text-muted-foreground::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

.placeholder\:text-muted-foreground::placeholder {
  color: hsl(var(--muted-foreground));
}

.after\:mx-auto::after {
  content: var(--tw-content);
  margin-left: auto;
  margin-right: auto;
}

.after\:mb-0::after {
  content: var(--tw-content);
  margin-bottom: 0px;
}

.after\:mt-px::after {
  content: var(--tw-content);
  margin-top: 1px;
}

.after\:block::after {
  content: var(--tw-content);
  display: block;
}

.after\:h-1::after {
  content: var(--tw-content);
  height: 0.25rem;
}

.after\:w-4\/5::after {
  content: var(--tw-content);
  width: 80%;
}

.after\:bg-inherit::after {
  content: var(--tw-content);
  background-color: inherit;
}

.after\:bg-primary\/60::after {
  content: var(--tw-content);
  background-color: hsl(var(--primary) / 0.6);
}

.after\:transition-colors::after {
  content: var(--tw-content);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.hover\:border-primary\/70:hover {
  border-color: hsl(var(--primary) / 0.7);
}

.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}

.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}

.hover\:bg-gray-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity));
}


.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:after\:bg-primary\/40:hover::after {
  content: var(--tw-content);
  background-color: hsl(var(--primary) / 0.4);
}

.hover\:after\:bg-primary\/60:hover::after {
  content: var(--tw-content);
  background-color: hsl(var(--primary) / 0.6);
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

@media (min-width: 640px) {
  .sm\:max-h-72 {
    max-height: 18rem;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:text-md {
    font-size: 1.07rem;
  }
}

@media (min-width: 768px) {
  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-start-2 {
    grid-column-start: 2;
  }

  .md\:max-w-\[200px\] {
    max-width: 200px;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-col {
    flex-direction: column;
  }

  .md\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .md\:gap-0 {
    gap: 0px;
  }

  .md\:gap-0\.5 {
    gap: 0.125rem;
  }

  .md\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-md {
    font-size: 1.07rem;
  }
}

@media (min-width: 1024px) {
  .lg\:row-span-2 {
    grid-row: span 2 / span 2;
  }

  .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .lg\:max-w-\[300px\] {
    max-width: 300px;
  }

  .lg\:max-w-\[45ch\] {
    max-width: 45ch;
  }

  .lg\:max-w-\[94\%\] {
    max-width: 94%;
  }

  .lg\:grid-cols-\[auto_auto\] {
    grid-template-columns: auto auto;
  }

  .lg\:px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .lg\:px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }

  .lg\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:text-left {
    text-align: left;
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px) {
  .xl\:max-h-80 {
    max-height: 20rem;
  }
}

.iframe {
    width: 100%;
    height: 600px;
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.font-red-h1 {
    color: #ff0000;
    font-size: 20px;
	font-weight: bold;
}

.font-red-h2 {
    color: #ff0000;
    font-size: 17px;
	font-weight: bold;
}