UNPKG

colleges.js

Version:

A module that gives data about colleges around the world

659 lines (555 loc) 20.2 kB
:root { --va-border-width: 2px; --va-border-color: var(--va-text-normal); --va-font-size-ratio: 1; --va-font-size-00: calc(0.5rem * var(--va-font-size-ratio)); --va-font-size-0: calc(0.75rem * var(--va-font-size-ratio)); --va-font-size-1: calc(1rem * var(--va-font-size-ratio)); --va-font-size-2: calc(1.1rem * var(--va-font-size-ratio)); --va-font-size-3: calc(1.25rem * var(--va-font-size-ratio)); --va-font-size-4: calc(1.5rem * var(--va-font-size-ratio)); --va-font-size-5: calc(2rem * var(--va-font-size-ratio)); --va-font-size-6: calc(2.5rem * var(--va-font-size-ratio)); --va-font-size-7: calc(3rem * var(--va-font-size-ratio)); --va-font-size-8: calc(3.5rem * var(--va-font-size-ratio)); --va-space-ratio: 1; --va-space-000: calc(-0.5rem * var(--va-space-ratio)); --va-space-00: calc(-0.25rem * var(--va-space-ratio)); --va-space-1: calc(0.25rem * var(--va-space-ratio)); --va-space-2: calc(0.5rem * var(--va-space-ratio)); --va-space-3: calc(0.75rem * var(--va-space-ratio)); --va-space-4: calc(1rem * var(--va-space-ratio)); --va-space-5: calc(1.25rem * var(--va-space-ratio)); --va-space-6: calc(1.5rem * var(--va-space-ratio)); --va-space-7: calc(1.75rem * var(--va-space-ratio)); --va-space-8: calc(2rem * var(--va-space-ratio)); --va-space-9: calc(3rem * var(--va-space-ratio)); --va-space-10: calc(4rem * var(--va-space-ratio)); --va-space-11: calc(5rem * var(--va-space-ratio)); --va-space-12: calc(7.5rem * var(--va-space-ratio)); --va-space-13: calc(10rem * var(--va-space-ratio)); --va-space-14: calc(15rem * var(--va-space-ratio)); --va-space-15: calc(20rem * var(--va-space-ratio)); --va-color-primary: mediumvioletred; --va-color-foreground: black; --va-color-background: white; --va-background-primary: var(--va-color-background); --va-text-normal: var(--va-color-foreground); --va-text-weak: color-mix(in srgb, var(--va-text-normal) 20%, transparent); --va-surface-primary: color-mix( in srgb, var(--va-background-primary) 80%, transparent ); --va-surface-primary-alt: color-mix( in srgb, var(--va-background-primary) 80%, var(--va-color-foreground) ); } @media (prefers-color-scheme: dark) { :root { --va-color-foreground: white; --va-color-background: black; } } .va-button-group:not(.va-button-group--horizontal) > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(calc(var(--va-border-width) * -1) * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(calc(var(--va-border-width) * -1) * var(--tw-space-y-reverse)); } .va-button-group\--horizontal { display: flex; } .va-button-group\--horizontal > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(calc(var(--va-border-width) * -1) * var(--tw-space-x-reverse)); margin-left: calc(calc(var(--va-border-width) * -1) * calc(1 - var(--tw-space-x-reverse))); } .va-button { --va-button-font-size: var(--va-font-size-1); --va-button-padding: var(--va-space-3); --va-button-border-width: var(--va-border-width); --va-button-border-color: var(--va-border-color); --va-button-background-color: var(--va-surface-primary); display: block; font-weight: 500; line-height: 1; padding: var(--va-button-padding); font-size: var(--va-button-font-size); text-align: inherit; background-color: var(--va-button-background-color); border-style: solid; border-width: var(--va-button-border-width); border-color: var(--va-button-border-color); outline: none; } .va-button:hover:not(.va-button:active):not(.va-button\--active) { background-color: color-mix(in srgb, var(--va-text-normal) 8%, transparent); } .va-button:focus-visible { box-shadow: inset 0 0 0 var(--va-input-border-width); } .va-button:active, .va-button\--active { color: var(--va-surface-primary); background-color: var(--va-text-normal); } .va-button\--disabled, .va-button[disabled] { pointer-events: none; } .va-button\--disabled, .va-button[disabled] { color: var(--va-text-weak); } .va-button\--action { text-transform: uppercase; } .va-card { --va-card-color: var(--va-text-normal); --va-card-font-size: var(--va-font-size-1); --va-card-padding: var(--va-space-3); --va-card-border-width: var(--va-border-width); --va-card-border-color: var(--va-border-color); --va-card-background-color: var(--va-surface-primary) } .va-card > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(calc(var(--va-card-border-width) * -1) * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(calc(var(--va-card-border-width) * -1) * var(--tw-space-y-reverse)); } .va-card { color: var(--va-card-color); background-color: var(--va-card-background-color); } .va-card__body { border-width: 2px; } .va-card__body { padding: var(--va-card-padding); } .va-card__body, .va-card .va-button { border-width: var(--va-card-border-width); border-color: var(--va-card-border-color); } .va-card__actions { display: flex; } .va-card__actions > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(calc(var(--va-card-border-width) * -1) * var(--tw-space-x-reverse)); margin-left: calc(calc(var(--va-card-border-width) * -1) * calc(1 - var(--tw-space-x-reverse))); } .va-card__actions .va-button { width: 100%; } :root { --va-collapse-font-size: var(--va-font-size-1); --va-collapse-padding: var(--va-space-3); --va-collapse-border-width: var(--va-border-width); --va-collapse-border-color: var(--va-border-color); --va-collapse-background-color: var(--va-surface-primary); --va-collapse-caret-width: calc(var(--va-collapse-font-size) / 3); --va-collapse-tree-indentation: var(--va-space-8); } .va-collapse { --depth: 0; --space: calc(var(--depth) * var(--va-collapse-tree-indentation)); --offset: calc(var(--va-collapse-caret-width) + var(--va-space-4)); font-size: var(--va-collapse-font-size); border-style: solid; border-width: var(--va-collapse-border-width); border-color: var(--va-collapse-border-color); } .va-collapse[open] > summary::before { transform: rotate(0) translateY(calc(var(--va-collapse-caret-width) / 2 * -1)); } .va-collapse > *:not(summary):not(details):not(.va-button) { padding-left: calc( var(--va-collapse-caret-width) * 2 + var(--va-collapse-padding) * 2 + var(--space) - var(--offset) ); } .va-collapse summary { position: relative; } .va-collapse summary { display: block; } .va-collapse summary { cursor: pointer; } .va-collapse summary { font-weight: 500; } .va-collapse summary { line-height: 1; } .va-collapse summary { padding: var(--va-collapse-padding); padding-left: calc( var(--va-collapse-caret-width) * 2 + var(--va-collapse-padding) * 2 + var(--space) ); text-align: inherit; background-color: var(--va-collapse-background-color); outline: none; } .va-collapse summary:hover:not(.va-collapse summary:active):not(.va-collapse summary\--active) { background-color: color-mix( in srgb, var(--va-text-normal) 8%, transparent ); } .va-collapse summary:focus-visible { box-shadow: inset 0 0 0 var(--va-collapse-border-width); } .va-collapse summary:active, .va-collapse summary\--active { color: var(--va-surface-primary); background-color: var(--va-text-normal); } .va-collapse summary::before { position: absolute; } .va-collapse summary::before { top: 50%; } .va-collapse summary::before { --tw-translate-y: -50%; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } .va-collapse summary::before { left: calc( var(--va-collapse-caret-width) * 2 + var(--va-collapse-padding) * 2 + var(--space) - var(--offset) ); width: calc(var(--va-collapse-caret-width) * 2); height: var(--va-collapse-caret-width); transform: rotate(-90deg); transform-origin: center top; content: ''; background-image: linear-gradient( 45deg, transparent 50%, currentColor 50% ), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: 0 0, calc(var(--va-collapse-caret-width) - 0.1px) 0; background-size: var(--va-collapse-caret-width) var(--va-collapse-caret-width), var(--va-collapse-caret-width) var(--va-collapse-caret-width); background-repeat: no-repeat; } .va-collapse .va-button { padding-left: calc( var(--va-collapse-caret-width) * 2 + var(--va-collapse-padding) * 2 + var(--space) + var(--offset) + 10px ); } /* Nested */ .va-collapse .va-collapse, .va-collapse .va-button { --depth: 1 } .va-collapse .va-collapse, .va-collapse .va-button { width: 100%; } .va-collapse .va-collapse, .va-collapse .va-button { border-left-width: 0px; border-right-width: 0px; } .va-collapse .va-collapse, .va-collapse .va-button { border-bottom-width: 0px; } .va-collapse .va-collapse .va-collapse, .va-collapse .va-collapse .va-button, .va-collapse .va-button .va-collapse, .va-collapse .va-button .va-button { --depth: 2; } .va-collapse .va-collapse .va-collapse .va-collapse, .va-collapse .va-collapse .va-collapse .va-button, .va-collapse .va-collapse .va-button .va-collapse, .va-collapse .va-collapse .va-button .va-button, .va-collapse .va-button .va-collapse .va-collapse, .va-collapse .va-button .va-collapse .va-button, .va-collapse .va-button .va-button .va-collapse, .va-collapse .va-button .va-button .va-button { --depth: 3; } .va-collapse .va-collapse .va-collapse .va-collapse .va-collapse, .va-collapse .va-collapse .va-collapse .va-collapse .va-button, .va-collapse .va-collapse .va-collapse .va-button .va-collapse, .va-collapse .va-collapse .va-collapse .va-button .va-button, .va-collapse .va-collapse .va-button .va-collapse .va-collapse, .va-collapse .va-collapse .va-button .va-collapse .va-button, .va-collapse .va-collapse .va-button .va-button .va-collapse, .va-collapse .va-collapse .va-button .va-button .va-button, .va-collapse .va-button .va-collapse .va-collapse .va-collapse, .va-collapse .va-button .va-collapse .va-collapse .va-button, .va-collapse .va-button .va-collapse .va-button .va-collapse, .va-collapse .va-button .va-collapse .va-button .va-button, .va-collapse .va-button .va-button .va-collapse .va-collapse, .va-collapse .va-button .va-button .va-collapse .va-button, .va-collapse .va-button .va-button .va-button .va-collapse, .va-collapse .va-button .va-button .va-button .va-button { --depth: 4; } .va-collapse .va-collapse .va-collapse .va-collapse .va-collapse .va-collapse, .va-collapse .va-collapse .va-collapse .va-collapse .va-collapse .va-button, .va-collapse .va-collapse .va-collapse .va-collapse .va-button .va-collapse, .va-collapse .va-collapse .va-collapse .va-collapse .va-button .va-button, .va-collapse .va-collapse .va-collapse .va-button .va-collapse .va-collapse, .va-collapse .va-collapse .va-collapse .va-button .va-collapse .va-button, .va-collapse .va-collapse .va-collapse .va-button .va-button .va-collapse, .va-collapse .va-collapse .va-collapse .va-button .va-button .va-button, .va-collapse .va-collapse .va-button .va-collapse .va-collapse .va-collapse, .va-collapse .va-collapse .va-button .va-collapse .va-collapse .va-button, .va-collapse .va-collapse .va-button .va-collapse .va-button .va-collapse, .va-collapse .va-collapse .va-button .va-collapse .va-button .va-button, .va-collapse .va-collapse .va-button .va-button .va-collapse .va-collapse, .va-collapse .va-collapse .va-button .va-button .va-collapse .va-button, .va-collapse .va-collapse .va-button .va-button .va-button .va-collapse, .va-collapse .va-collapse .va-button .va-button .va-button .va-button, .va-collapse .va-button .va-collapse .va-collapse .va-collapse .va-collapse, .va-collapse .va-button .va-collapse .va-collapse .va-collapse .va-button, .va-collapse .va-button .va-collapse .va-collapse .va-button .va-collapse, .va-collapse .va-button .va-collapse .va-collapse .va-button .va-button, .va-collapse .va-button .va-collapse .va-button .va-collapse .va-collapse, .va-collapse .va-button .va-collapse .va-button .va-collapse .va-button, .va-collapse .va-button .va-collapse .va-button .va-button .va-collapse, .va-collapse .va-button .va-collapse .va-button .va-button .va-button, .va-collapse .va-button .va-button .va-collapse .va-collapse .va-collapse, .va-collapse .va-button .va-button .va-collapse .va-collapse .va-button, .va-collapse .va-button .va-button .va-collapse .va-button .va-collapse, .va-collapse .va-button .va-button .va-collapse .va-button .va-button, .va-collapse .va-button .va-button .va-button .va-collapse .va-collapse, .va-collapse .va-button .va-button .va-button .va-collapse .va-button, .va-collapse .va-button .va-button .va-button .va-button .va-collapse, .va-collapse .va-button .va-button .va-button .va-button .va-button { --depth: 5; } :root { --va-input-font-size: var(--va-font-size-1); --va-input-padding: var(--va-space-3); --va-input-border-width: var(--va-border-width); --va-input-border-color: var(--va-border-color); --va-input-background-color: var(--va-surface-primary); } .va-input { -webkit-appearance: none; -moz-appearance: none; appearance: none; line-height: 1; background-color: transparent; border-style: solid; border-width: var(--va-input-border-width); border-color: var(--va-input-border-color); color: inherit; padding: calc(var(--va-input-padding) - var(--va-input-border-width) * 2); outline: none; } .va-input[disabled] { color: var(--va-text-weak); } .va-input:not([readonly]):focus, .va-input:not([readonly]):focus-within { box-shadow: inset 0 0 0 var(--va-input-border-width); } label:has(.va-input) { display: flex; } label:has(.va-input) { flex-direction: column; } label:has(.va-input) { line-height: 1; } label:has(.va-input) { border-style: solid; border-width: var(--va-select-border-width); border-color: var(--va-select-border-color); font-size: var(--va-font-size-0); gap: var(--va-space-1); padding-left: var(--va-input-padding); padding-right: var(--va-input-padding); padding-top: calc(var(--va-input-padding) / 1.5); padding-bottom: calc(var(--va-input-padding) / 1.5); cursor: text; } label:has(.va-input):not(:has(.va-input[readonly])):focus, label:has(.va-input):not(:has(.va-input[readonly])):focus-within { box-shadow: inset 0 0 0 var(--va-input-border-width); } label:has(.va-input) .va-input { box-shadow: none !important; font-size: initial; border: none; padding: 0; } :root { --va-loading-dots-animation-duration: 1s; } .va-loading-dots::after { display: inline-block; content: '.'; width: var(--va-space-4); animation-name: dots; animation-duration: var(--va-loading-dots-animation-duration); animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes dots { 50% { content: '..'; } 100% { content: '...'; } } :root { --va-select-font-size: var(--va-font-size-1); --va-select-padding: var(--va-space-3); --va-select-border-width: var(--va-border-width); --va-select-border-color: var(--va-border-color); --va-select-background-color: var(--va-button-background-color); --va-select-caret-width: calc(var(--va-select-font-size) / 3); } .va-select { position: relative; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0px; background-color: transparent; line-height: 1; outline: 2px solid transparent; outline-offset: 2px; } .va-select:hover { background-color: rgb(255 255 255 / 0.05); } .va-select:active { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); --tw-text-opacity: 1; color: rgb(0 0 0 / var(--tw-text-opacity)); } .va-select { background-color: var(--va-select-background-color); background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc( 100% - var(--va-select-padding) - var(--va-select-caret-width) ) calc(1px + 50%), calc(100% - var(--va-select-padding) - 0.28px) calc(1px + 50%); background-size: var(--va-select-caret-width) var(--va-select-caret-width), var(--va-select-caret-width) var(--va-select-caret-width); background-repeat: no-repeat; border-style: solid; border-width: var(--va-select-border-width); border-color: var(--va-select-border-color); color: inherit; font-size: var(--va-select-font-size); padding-top: var(--va-select-padding); padding-right: calc( var(--va-select-caret-width) * 2 + var(--va-select-padding) * 2 ); padding-bottom: var(--va-select-padding); padding-left: var(--va-select-padding); text-align: inherit; } .va-select option:disabled { color: red; } .va-select-group:has(> .va-select) { position: relative; } .va-select-group:has(> .va-select) label { pointer-events: none; } .va-select-group:has(> .va-select) label { position: absolute; } .va-select-group:has(> .va-select) label { top: 0px; } .va-select-group:has(> .va-select) label { left: 0px; } .va-select-group:has(> .va-select) label { font-size: var(--va-font-size-0); padding-left: calc( var(--va-select-padding) + var(--va-select-border-width) ); padding-top: calc(var(--va-select-padding) / 1.5); } .va-select-group:has(> .va-select) .va-select { padding-top: calc( var(--va-select-padding) + var(--va-font-size-0) * 1.15 ); padding-bottom: calc(var(--va-select-padding) / 1.5); } .va-table { --va-table-font-size: var(--va-font-size-1); --va-table-padding: var(--va-space-3); --va-table-border-width: var(--va-border-width); --va-table-border-color: var(--va-border-color); --va-table-background-color: var(--va-surface-primary); width: 100% } .va-table > :not([hidden]) ~ :not([hidden]) { --tw-divide-y-reverse: 0; border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse))); border-bottom-width: calc(2px * var(--tw-divide-y-reverse)); } .va-table { border-width: 2px; font-size: var(--va-table-font-size); border-color: var(--va-table-border-color); border-width: var(--va-table-border-width); background-color: var(--va-table-background-color); } .va-table * { border-color: var(--va-table-border-color); border-width: var(--va-table-border-width); } .va-table tr > :not([hidden]) ~ :not([hidden]) { --tw-divide-x-reverse: 0; border-right-width: calc(2px * var(--tw-divide-x-reverse)); border-left-width: calc(2px * calc(1 - var(--tw-divide-x-reverse))); } .va-table thead { border-bottom-width: 2px; } .va-table tbody > :not([hidden]) ~ :not([hidden]) { --tw-divide-y-reverse: 0; border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse))); border-bottom-width: calc(2px * var(--tw-divide-y-reverse)); } .va-table td, .va-table th { text-align: left; } .va-table td, .va-table th { vertical-align: top; } .va-table td, .va-table th { padding: var(--va-table-padding); } body { background-color: var(--va-background-primary); color: var(--va-text-normal); }