.article-page {
    width: 90%;
    max-width: 2000px;
    min-height: 20vw;
    padding: 2% 10%;
    background-color: white;
    margin: auto;
    z-index: 1;
    position: relative;
    border-radius: 10px;
    box-shadow: -5px 5px 10px rgba(0, 0, 0, .2);
}

.article-slide {
    width: 100%;
    flex-shrink: 0;
    display: inline-block;
    aspect-ratio: 940 / 325;
    background-size: 110%;
    background-position: center 50%;
    scroll-snap-align: center;
    vertical-align: top;
}

@media (max-width: 800px) {
    .article-slide {
        aspect-ratio: unset;
        height: 300px;
    }
}

.article-head {
    margin-bottom: 50px;
}

.article-head>h1 {
    color: var(--green);
    margin-bottom: 10px;
    font-size: min(45px, 8vw);
}

.article-head>span>img, .article-head>div[data-type="SPAN"]>img {
    height: 20px;
    vertical-align: text-bottom;
}

.article-page-date, .article-page-location {
    padding: 0 15px 10px 5px;
    margin-left: 25px;
    display: inline-block;
    position: relative;
}

.article-page-date::before, .article-page-location::before {
    content: " ";
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    left: -20px;
    background-position: center;
    background-size: contain;
    filter: invert(27%) sepia(55%) saturate(4576%) hue-rotate(140deg) brightness(98%) contrast(102%) !important;
}

.article-page-date::before {
    background-image: url('../img/calendar.svg');
}

.article-page-location::before {
    background-image: url('../img/location.svg');
}

.article-page>p, .article-page>div[data-type="P"] {
    font-size: min(20px, 4vw);
}

.article-page>p>span {
    font-family: NotoLao, UbuntuLight, sans-serif;
}

.article-page>a {
    color: var(--green);
}

.article-page>blockquote {
    width: 90%;
    max-width: 700px;
    font-size: min(26px, 5vw);
    color: dimgray;
    margin: 1em auto;
}

.article-page-image{
    transition: all .5s;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin: 20px auto;
    border-radius: 10px;
    overflow: visible;
}

.article-image-span {
    border-radius: 0 0 10px 10px;
}

.article-image-span b {
    font-size: larger;
}

.article-large {
    width: 100%;
    max-width: 1500px;
}

.article-medium {
    width: 100%;
    max-width: 700px;
}

.article-small {
    width: 100%;
    max-width: 300px;
}

.article-x-small {
    width: 100%;
    max-width: 250px;
}

.article-xx-small {
    width: 100%;
    max-width: 200px;
}

.aspect-2-3 {
    aspect-ratio: 2 / 3;
}

.aspect-3-4 {
    aspect-ratio: 3 / 4;
}

.aspect-4-3 {
    aspect-ratio: 4 / 3;
}

.aspect-16-9 {
    aspect-ratio: 16 / 9;
}

.aspect-21-9 {
    aspect-ratio: 21 / 9;
}

.aspect-4-1 {
    aspect-ratio: 4 / 1;
}

.article-page-image>span, .article-page-image>div[data-type="SPAN"] {
    display: block;
    text-align: center;
    width: 100%;
    padding: 10px;
    background-color: rgba(0, 0, 0, .7);
    color: white;
    position: absolute;
    bottom: 0;
    z-index: 1;
}

.career-card {
    padding: 2%;
    background-color: white;
    margin: 10px auto;
    z-index: 1;
    position: relative;
    border-radius: 10px;
    box-shadow: -5px 5px 10px rgba(0, 0, 0, .2);
    display: flex;
    flex-direction: row;
    cursor: pointer;
    transition: all .5s;
}

.career-card:hover {
    transform: scale(1.02);
}

.career-card-img {
    width: 12%;
    aspect-ratio: 1 / 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 2%;
}

.career-card-content {
    align-content: center;
}

.career-card-content>.article-head {
    margin-bottom: 0;
}

.career-card-content>.article-head>h1 {
    font-size: 30px;
    margin: 10px 0;
}

.career-date {
    background-color: lightgrey;
    border-radius: 20px;
    position: absolute;
    bottom: 10%;
    right: 5%;
    padding: 5px 20px;
}

.career-register {
    margin-top: 30px;
    text-align: center;
}

.career-button {
    font-size: 25px;
    font-weight: bold;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#career-inputs {
    transition: all .5s;
}

#career-inputs.hide {
    margin: 0;
    height: 0;
    overflow: hidden;
}

#career-inputs.show {
    margin: 5%;
    overflow: hidden;
}

#career-form>div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    text-align: left;
}

.career-input-label {
    flex-basis: 120px;
    flex-shrink: 0;
    flex-grow: 0.4;
}

.career-input-area {
    flex-basis: 200px;
    flex-shrink: 0;
    flex-grow: 1;
    font-size: 14px;
    margin-bottom: 10px;
}

.career-input-area>input[type="text"], .career-input-area>input[type="date"] {
    background-color: #f5f5f5;
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 5px;
    resize: none;
    display: block;
}

.files-label {
    padding: 7px 20px;
    border-radius: 5px;
    border: #5b5b5b solid 1px;
    background-color: #f5f5f5;
    color: black;
    display: inline-block;
}

#file-label-output {
    margin-left: 10px;
}

.tab-folder {
    width: 100%;
}

.tab-buttons {
    display: flex;
    flex-wrap: nowrap;
    border-bottom: var(--green) solid 1px;
}

.button-title {
    flex: 1;
    min-width: 200px;
    text-align: center;
    padding: 20px;
    border-bottom: transparent solid 2px;
    font-size: 16px;
    transition: all .5s;
    align-self: flex-end;
    text-wrap: auto;
    position: relative;
}

.button-title:not(:has(span)) {
    cursor: pointer;
}

.button-add {
    flex-basis: 50px;
    flex-shrink: 0;
    flex-grow: 0;
    text-align: center;
    padding: 20px;
    font-size: 20px;
    align-self: center;
    cursor: pointer;
}

.button-title:hover {
    font-size: 18px;
}

.button-title.active {
    font-size: 18px;
    font-weight: bold;
    border-bottom: var(--green) solid 2px;
}

.tab-contents {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll;
    transition: all .5s;
    align-items: flex-start;
}

.tab-body {
    width: 100%;
    min-height: 200px;
    flex-shrink: 0;
    padding: 20px 10px;
    display: none;
}

.tab-body.active {
    display: block;
}