@font-face {
    font-family: 'Calibre';
    src: url('../fonts/Calibre-Light.woff2') format('woff2'),
        url('../fonts/Calibre-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'Calibre';
    src: url('../fonts/Calibre-Regular.woff2') format('woff2'),
    url('../fonts/Calibre-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'Canela Light';
    src: url('../fonts/Canela-Light.woff2') format('woff2'),
        url('../fonts/Canela-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'Canela Thin';
    src: url('../fonts/Canela-Thin.woff2') format('woff2'),
        url('../fonts/Canela-Thin.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: block;
}

.font-custom-sans {
    font-family: 'Calibre', sans-serif;
}

.font-custom-serif {
    font-family: 'Canela Light', serif;
}

.font-custom-thin {
    font-family: 'Canela Thin', serif;
}

.form {
    height: 80vh;
}

.secondary {
    color: #b1b1b1;
}

.faint {
    color: #959595;
}
.separator {
    border-top: 1px solid #27272A;
}
.separator-bottom {
    border-bottom: 1px solid #27272A;
}

.pass-entry {
    width: 100%;
    padding: 4px 8px;
    border-radius: 2px;
    text-align: center;
    font-weight: 300;
    background-color: #0B0B0B;
    border-width: 1px;
    border-color: #4F4E4E;
}

.pass-submit {
    display: block;
    padding: 8px 24px 4px;
    border-radius: 2px;
    color: #ffffff;
    background-color: #2E2E2E;
}

.pass-submit:hover {
    cursor: pointer;
    background-color: #4F4E4E;
}

.hero {
    font-family: 'Canela Thin', serif;
    font-size: 2.5rem;
    line-height: 1.3;
    position: relative;
    display: table;
}

.leading-hero {
    line-height: 1.1;
}

.accordion-item:first-of-type, .accordion-item:last-of-type, .accordion-item:first-of-type .accordion-button, .accordion-item:last-of-type .accordion-button {
    border-radius: 0% !important;
}

.accordion-button:not(.collapsed) {
    color :#ffffff !important;
    background: none !important;
    box-shadow: none !important;
}

.accordion-button:hover {
    color: rgba(253, 230, 138) !important;
}

.accordion-button::a:not(.collapsed)::after {
    background-image: url(../img/icons/arrow.svg) !important;
}

.accordion-button::after {
    background-image: url(../img/icons/arrow.svg) !important;
}

.port-hero {
    font-family: 'Canela Thin', serif;
    font-size: 2.1rem;
    line-height: 1.1;
}

.center {
    display: table-cell;
    vertical-align: middle;
}

.port-grid {
    height: 72rem;
}

.port-item div {
    background-size: cover;
    background-position: center;
}

.port-link {
    height: -webkit-min-content;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 400ms;
}

.port-link:hover {
    background: rgb(20,20,20);
}

.port-number {
    display: block;
    width: auto;
}

/***Responsive***/

@media (min-width: 640px) {

    .port-number {
        display: inline-block;
        width: 36px;
    }

    .port-company {
        margin-left: 52px;
    }

}

@media (min-width: 768px) {

    .hero {
        font-size: 3.25rem;
    }
    .port-grid {
        height: 48rem;
    }

    .port-item:hover .desc {
        display: block;
    }

    .port-company {
        margin-left: 0px;
    }

}

@media (min-width: 1024px) {

    .hero {
        font-size: 5.75rem;
    }

}