/* >>>
- - - - - -
AERACO - WEBSITE STYLE LIBRARY
- - - - - -
Current version: v1.0.2 (2306)
- - - - - -
Developed by: Nerd Multimedia, Canewood, St. Michael, Barbados
Developer email: hello@nerdmultimedia.com
Please email us if you are a developer needing insight on this website.
- - - - - -
>>> */






/* >>>
- - - - - -
CSS STYLE RESET AND SYSTEM DECLARATIONS
- - - - - -
>>> */

/* -- Standard CSS reset */

    *, *::before, *::after {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html, body, div, span, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    abbr, address, cite, code,
    del, dfn, em, img, ins, kbd, q, samp,
    small, strong, sub, sup, var,
    b, i,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td,
    article, aside, canvas, details, figcaption, figure, 
    footer, header, hgroup, menu, nav, section, summary,
    time, mark, audio, video {
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        font-size: 100%;
        vertical-align: baseline;
        background: transparent;
    }

    body {
        line-height: 1.5;
    }

    article, aside, details, figcaption, figure,
    footer, header, hgroup, menu, nav, section {
        display: block;
    }

    ol, ul {
        list-style: none;
    }

    blockquote, q {
        quotes: none;
    }

    blockquote:before, blockquote:after,
    q:before, q:after {
        content: '';
        content: none;
    }

    a {
        margin: 0;
        padding: 0;
        font-size: 100%;
        vertical-align: baseline;
        background: transparent;
    }

    a:focus,
    input:focus {
        outline: 0.25rem solid var(--color-complementary-0) !important;
    }

    table {
        border-collapse: collapse;
        border-spacing: 0;
    }






/* -- Color system declarations */

    :root {

        /* Primary colors */

        --color-primary-0: #BBA1E1;
        --color-primary-1: #895ACA;
        --color-primary-2: #5613B3;
        --color-primary-3: #3C0D7D;
        --color-primary-4: #220848;

        /* Secondary colors */

        --color-secondary-0: #8C95B2;
        --color-secondary-1: #667198;
        --color-secondary-2: #404E7E;
        --color-secondary-3: #333E65;
        --color-secondary-4: #262F4C;

        /* Complementary colors */

        --color-complementary-0: #FFE89B;
        --color-complementary-1: #FFD750;
        --color-complementary-2: #FFC605;
        --color-complementary-3: #B38B04;
        --color-complementary-4: #664F02;

        /* Base colors */

        --color-on-dark-0: #F3F3F4;
        --color-on-light-0: #181B21;
        --color-disabled-0: #E9E9E9;
        --color-placeholder-0: #BABABA;

        --color-background-0: #FCFCFB;
        --color-background-1: #F0F1F4;
        --color-background-2: #C4C7D1;
        --color-background-3: #979FA7;

        /* Accent colors */

        --color-success-0: #269309;
        --color-warning-0: #AF7C0B;
        --color-error-0: #A80B1D;
        --color-info-0: #3D539A;
    
    }






/* -- Typography system declarations */

    /* Responsive font sizing */

    html {
        font-size: calc((100.0vw / 360) + 15.0px);
    }

    /* Default font */

    body {
        font-family: 'Manrope', sans-serif;
        font-weight: 400;
        letter-spacing: 0.05rem;
        text-rendering: optimizeLegibility;
    }

    /* Type scale declaration - Major Third (1.25) */

    :root{
        --type-headline-2: 3.815rem;
        --type-headline-1: 2.441rem;
        --type-headline-0: 1.953rem;
        --type-paragraph-4: 1.563rem;
        --type-paragraph-3: 1.25rem;
        --type-paragraph-2: 1.0rem;
        --type-paragraph-1: 0.75rem;
        --type-paragraph-0: 0.563rem;
    }

    /* Custom font -> Sora */

    @font-face {
        font-family: "Sora";
        src:    url("../font/Sora/Sora-Medium.woff2") format("woff2"),
                url("../font/Sora/Sora-Medium.woff") format("woff"),
                url("../font/Sora/Sora-Medium.ttf") format("ttf");
        font-weight: 500;
    }

    @font-face {
        font-family: "Sora";
        src:    url("../font/Sora/Sora-SemiBold.woff2") format("woff2"),
                url("../font/Sora/Sora-SemiBold.woff") format("woff"),
                url("../font/Sora/Sora-SemiBold.ttf") format("ttf");
        font-weight: 600;
    }

    /* Custom font -> Manrope */

    @font-face {
        font-family: "Manrope";
        src:    url("../font/Manrope/Manrope-Regular.woff2") format("woff2"),
                url("../font/Manrope/Manrope-Regular.woff") format("woff"),
                url("../font/Manrope/Manrope-Regular.ttf") format("ttf");
        font-weight: 400;
    }

    @font-face {
        font-family: "Manrope";
        src:    url("../font/Manrope/Manrope-Bold.woff2") format("woff2"),
                url("../font/Manrope/Manrope-Bold.woff") format("woff"),
                url("../font/Manrope/Manrope-Bold.ttf") format("ttf");
        font-weight: 700;
    }

    /* Custom font -> Bootstrap icons */

    @font-face {
        font-family: "Bootstrap Icons";
        src:    url("../font/bootstrapicons/bootstrap-icons.woff2") format("woff2"),
                url("../font/bootstrapicons/bootstrap-icons.woff") format("woff");

    }






/* -- Whitespace between sections */

    .vertical-whitespacer-xs,
    .vertical-whitespacer-sm,
    .vertical-whitespacer {
        content: '';
        width: 100%;
    }

    /* X-Small spacing */

    .vertical-whitespacer-xs {
        height: 1.0rem;
    }

    /* Small spacing */

    .vertical-whitespacer-sm {
        height: 2.0rem;
    }

    /* Standard spacing */

    .vertical-whitespacer {
        height: 8.0rem;
    }






/* >>>

CONTAINERS

>>> */

/* -- Main background colour */

    body {
        background-color: var(--color-background-0);
    }






/* -- Modal windows */

    .modal {
        background-color: rgba(242, 242, 236, 0.5);
    }

    .modal-content {
        background-color: var(--color-background-0);
    }

    .modal-header {
        border: 0;
        color: var(--color-on-light-0);
    }






/* -- Sections */

    /* Headline section container */

    #section-headline {
        min-height: calc((100.0vw - (var(--bs-gutter-x) * 2)) * (2/3));
    }

    @media only screen and (min-width: 1200px) {
        #section-headline {
            min-height: calc((100.0vw - (var(--bs-gutter-x) * 4)) * (9/20));
        }
    }

    @media only screen and (orientation: portrait) {
        #section-headline {
            min-height: calc((100.0vw - (var(--bs-gutter-x) * 4)) * (3/2));
        }
    }

    @media only screen and (orientation: portrait) and (min-width: 1024px) {
        #section-headline {
            min-height: calc((50.0vw - (var(--bs-gutter-x) * 4)) * (3/2));
        }
    }





    

    /* General section cards */

    .section-card {
        min-height: 25.0vh;
        background-color: var(--color-background-1);
        border-width: 0.0625rem;
        border-style: solid;
        border-color: var(--color-background-2);
    }

    .section-feature-border {
        height: 100%;
        border-width: 0.25rem;
        border-style: solid;
        border-color: var(--color-secondary-2);
        border-radius: 0;
    }

    .section-feature-fill {
        height: 100%;
        background-color: var(--color-background-2);
    }

    .card {
        border: 0;
        background-color: transparent;
    }






/* -- Footer */

    footer {
        background-color: var(--color-secondary-4);
    }






/* >>>

BUTTONS

>>> */

/* -- Button commons */

    /* Default state */

    .button-he,
    .button-le {

        margin-left: auto; margin-right: auto;

        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;

        height: 3.375rem;
        
        font-size: var(--type-paragraph-2);
        font-weight: 400;

        text-decoration: none;

        letter-spacing: 0.05rem;

        /* Apple styling reset */
        appearance: none !important;
        -moz-border-radius: 0.125rem;
        -webkit-border-radius: 0.125rem;
        border-radius: 0.125rem;

        -webkit-transition: ease-in 0.5s 0.125s;
        -moz-transition: ease-in 0.5s 0.125s;
        transition: ease-in 0.5s 0.125s;
    }

    /* Button icons */

    .button-he i,
    .button-le i {
        margin-right: 0.5rem !important;
        font-size: 1.0rem !important;
        color: inherit !important;
    }

    /* Focus state */

    .button-he:focus,
    .button-le:focus {
        outline: 0.25rem solid var(--color-complementary-0) !important;
    }






/* -- High emphasis buttons */

    /* Default state */
    .button-he {
        width: 100%;
        background-color: var(--color-primary-2);
    }

    .button-he, .button-he:hover, .button-he:focus, .button-he:visited {
        color: var(--color-on-dark-0);
    }

    /* Hover state */
    .button-he:hover {
        background-color: var(--color-primary-0);
    }






/* -- Low-emphasis buttons */
    
    /* Default state */
    .button-le,
    .button-le:focus,
    .button-le:visited {
        width: fit-content;
        cursor: pointer;
        font-weight: 700;
        background-color: transparent;
        color: var(--color-primary-2) !important;
        text-decoration: underline;
        text-decoration-style: solid;
        text-decoration-thickness: 0.0625rem;
        text-decoration-color: var(--color-primary-2);
        text-underline-offset: 0.25rem;
    }

    /* Hover state */
    .button-le:hover {
        color: var(--color-secondary-0) !important;
        text-decoration-color: var(--color-secondary-0);
    }






/* -- Modal close button */

    /* Default state */
    .modal-header .btn-close {
        font-size: var(--type-paragraph-2);
        color: var(--color-on-light-0) !important;

        -webkit-transition: ease-in 0.75s 0.125s;
        -moz-transition: ease-in 0.75s 0.125s;
        transition: ease-in 0.75s 0.125s;
    }

    /* Hover state */
    .modal-header .btn-close:hover {
        color: var(--color-primary-0) !important;
    }





    
/* -- MEDIA QUERIES */

    @media only screen and (min-width: 768px) {

        .button-he {
            max-width: 20.0rem;
        }
    }






/* >>>

IMAGES AND VIDEOS

>>> */

/* -- Main logo */

    .img-logo-main {
        display: block;
        max-height: 48.0px !important;
    }






    .img-logo-small {
        display: block;
        max-height: 32.0px !important;
    }





/* -- Headline images */

    .img-headline {
        display: block;
        max-height: 560.0px;
    }






/* -- Section images */

    .img-section {
        display: block;
        width: 100.0%;
        max-height: 640.0px;
    }






/* -- Section video */
    .vid-section {
        position: relative;
        overflow-y: hidden;
        right: 0;
        bottom: 0;
        width: 100%;
        height: auto;
        max-height: 768.0px;
    }






    @media only screen and (max-width: 768px) {
        /* -- Headline video */
        .vid-headline {
            overflow-x: hidden;
            margin-left: -1.5rem;
            margin-right: -1.5rem;
            width: 102.0vw !important;
        }
    }





    @media only screen and (min-width: 992px) {
        .img-logo-main {
            max-height: 64.0px !important;
        }
    }






/* >>>

TYPOGRAPHY

>>> */

/* -- Headlines */

    h2, h3 {
        font-family: 'Sora', sans-serif;
        font-weight: 600;
    }

    h1, h2 {
        color: var(--color-secondary-3);
    }

    h1 {
        font-family: 'Sora', sans-serif;
        font-weight: 600;
        font-size: var(--type-headline-2);
        line-height: 1.1 !important;
        letter-spacing: -0.125rem;
    }

    h2 {
        font-size: var(--type-headline-1);
        line-height: 1.1 !important;
        letter-spacing: -0.1rem;
    }
    
    h3 {
        font-size: var(--type-headline-0);
        line-height: 1.1 !important;
        letter-spacing: -0.0125rem;
    }

    h4, h5, h6 {
        font-family: 'Manrope', sans-serif;
        font-weight: 700;
    }

    h4 {
        font-size: var(--type-paragraph-4);
        line-height: 1.2;
        letter-spacing: -0.0125rem;
    }

    h5 {
        font-size: var(--type-paragraph-3);
        line-height: 1.2;
        letter-spacing: 0.0rem;
    }

    h6 {
        font-size: var(--type-paragraph-2);
        line-height: 1.2;
        letter-spacing: 0.0rem;
    }

    /* -- Destination slider transitions */

    .carousel.carousel-fade .carousel-item {
        -webkit-transition: opacity 0.25s ease-in;
        -moz-transition: opacity 0.25s ease-in;
        -ms-transition: opacity 0.25s ease-in;
        -o-transition: opacity 0.25s ease-in;
        transition: opacity 0.25s ease-in;
        opacity: 0;
    }
    
    .carousel.carousel-fade .active.carousel-item {
        opacity: 1;
    }
    
    .carousel.carousel-fade .active.left,
    .carousel.carousel-fade .active.right {
        left: 0;
        z-index: 2;
        opacity: 0;
        filter: alpha(opacity=0);
    }
    






/* -- Body ody ody ody ody */

    .text-display {
        font-size: var(--type-paragraph-4);
        line-height: 1.2;
    }

    .text-large {
        font-size: var(--type-paragraph-3);
    }

    .text-small {
        font-size: var(--type-paragraph-1);
    }

    .text-xsmall {
        font-size: var(--type-paragraph-0);
    }

    .text-overline {
        font-size: var(--type-paragraph-1);
        text-transform: uppercase;
        letter-spacing: 0.05rem;
    }

    .text-emphasis {
        font-weight: 600;
        text-decoration: underline var(--color-on-light-0);
        text-decoration-thickness: 0.0625rem;
        text-underline-offset: 0.25rem;
    }

    sup {
        font-size: var(--type-paragraph-0);
    }
    






    /* -- Icons */

    .section-card i {
        font-size: var(--type-headline-1);
        color: var(--color-on-light-0);
    }

    /* -- Feature icons */
        
    .section-feature-border i,
    .section-feature-fill i {
        font-size: var(--type-headline-0);
    }
    






    /* -- Lists */

    ol {
        margin-left: 1.0rem;
        list-style-type: decimal !important;
        list-style-position: outside;
    }
    
    .text-list {
        margin-left: 1.0rem;
        list-style-position: outside;
    }

    ol li,
    .text-list li {
        padding-left: 0.5rem;
    }

    .text-list li::marker {
        font-family: 'Bootstrap Icons';
        font-size: 0.41rem;
        color: var(--color-secondary-2);
        content: '\F287';
    }

    .list-group .list-group-item {
        font-size: var(--type-paragraph-1);
        background-color: var(--color-background-2);
    }

    .list-group .active,
    .list-group .active:hover {
        background-color: var(--color-primary-3) !important;
        border: none;
    }

    .list-group .list-group-item:hover {
        background-color: var(--color-primary-0);
    }
    
    .list-group .list-group-item:focus {
        outline: 0.25rem solid var(--color-complementary-0);
    }








    /* -- Navigation links */

    /* Text links */

    p a,
    p a:focus,
    p a:visited {
        color: var(--color-primary-3);
        text-decoration: underline;
        text-decoration-thickness: 0.0625rem;
        text-underline-offset: 0.125rem;
        text-decoration-color: var(--color-primary-3);

        -webkit-transition: ease-in 0.5s 0.125s;
        -moz-transition: ease-in 0.5s 0.125s;
        transition: ease-in 0.5s 0.125s;
    }

    p a:hover {
        color: var(--color-secondary-0);
        text-decoration-color: var(--color-secondary-0);
    }

    p a:focus {
        outline: 0.25rem solid var(--color-complementary-0);
    }

    #news-feed a,
    #news-feed a:focus,
    #news-feed a:visited {
        font-weight: 700;
        font-size: var(--type-paragraph-3);
        color:  var(--color-primary-2);
        letter-spacing: 0.0rem;
        text-decoration: underline;
        text-decoration-thickness: 0.125rem;
        text-underline-offset: 0.125rem;
        text-decoration-color: var(--color-primary-2);

        -webkit-transition: ease-in 0.5s 0.125s;
        -moz-transition: ease-in 0.5s 0.125s;
        transition: ease-in 0.5s 0.125s;
    }

    #news-feed a:hover {
        color: var(--color-secondary-0);
        text-decoration-color: var(--color-secondary-0);
    }






    /* Icon links */

    .link-icon i,
    .link-icon i:focus,
    .link-icon i:visited {
        font-size: var(--type-headline-0);
        color: var(--color-on-dark-0);

        -webkit-transition: ease-in 0.5s 0.125s;
        -moz-transition: ease-in 0.5s 0.125s;
        transition: ease-in 0.5s 0.125s;
    }

    .link-icon i:hover {
        color: var(--color-primary-0) !important;
    }

    .link-icon i:focus {
        outline: 0.25rem solid var(--color-complementary-0);
    }





    /* -- Navbar links */

    .nav-link {
        font-size: var(--type-paragraph-2);
        color: var(--color-on-light-0);

        -webkit-transition: ease-in 0.5s 0.125s;
        -moz-transition: ease-in 0.5s 0.125s;
        transition: ease-in 0.5s 0.125s;
    }

    .nav-link:hover {
        color: var(--color-secondary-0);
    }

    .nav-link:focus {
        outline: 0.25rem solid var(--color-complementary-0);
    }

    .nav-link i {
        margin-right: 0.5rem;
    }

    .navbar-toggler {
        font-size: var(--type-headline-0);
        border: none;
        color: var(--color-on-light-0);
    }

    .navbar-toggler:focus {
        outline: 0.25rem solid var(--color-complementary-0);
        box-shadow: none;
    }






    /* -- Footer */

    footer .nav,
    footer .nav a, footer .nav a:visited,
    footer p {
        font-size: var(--type-paragraph-1) !important;
        line-height: 1.5;
        color: var(--color-on-dark-0) !important;
        transform: none !important;
    }

    footer .nav a,
    footer .nav a:visited {
        text-decoration: underline;
        text-decoration-thickness: 0.0625rem;
        text-underline-offset: 0.25rem;
        text-decoration-color: var(--color-on-dark-0);

        -webkit-transition: ease-in 0.75s 0.125s;
        -moz-transition: ease-in 0.75s 0.125s;
        transition: ease-in 0.75s 0.125s;
    }

    footer .nav a:hover {
        color: var(--color-primary-0) !important;
        text-decoration-color: var(--color-primary-0);
    }

    footer i {
        font-size: var(--type-paragraph-4) !important;
        line-height: 1.5;
        color: var(--color-on-dark-0) !important;
    }