@import url('../defaults.css');

/*******************************************
:--- General ---:
*******************************************/

body {
    background: var(--white);
    font-family: var(--ufl-ibm-sans);
    font-size: 1.2rem;
    color: var(--text);
}

section.block {
    padding: 5rem 0;
}

section.additional-block .container {
    border: 0;
    /* border-top: 2px solid var(--ufl-orange); */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 2rem;
    font-weight: 400;
}

.h1 {
    font-size: 4.5rem;
    line-height: 4.5rem;
    font-weight: 900;
    font-style: italic;
}

h2 {
    font-size: 3rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

p {
    margin: 0 0 1.5rem;
}

a,
a:active {
    color: var(--ufl-blue);
    text-decoration: underline;
    transition: all .2s ease-in-out;
}

a:hover {
    text-decoration: none
}

ul.basic-list {
    margin: 0 0 2rem;
    padding-left: 2rem;
}

ul.basic-list li {
    list-style: disc;
    margin: 0 0 .3rem;
}

ul.content-list {
    margin: 0 0 2rem;
    padding-left: 2rem;
}

ul.content-list li {
    list-style: none;
    margin: 0 0 1rem;
}

ul.content-list li::before {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    color: var(--ufl-orange);
    content: "\f00c";
    margin-right: 10px;
    margin-left: -1.7rem;
}

ul.content-list li > ul {
    margin: .5rem 0 1.25rem;
    padding-left: 4rem;
}

ul.content-list li > ul li {
    list-style: square;
    margin: 0 0 .25rem;
}

ul.content-list li > ul li::before {
    display: none;
}

hr.orange-separator {
    border: 0;
    border-top: 2px solid var(--ufl-orange);
    margin: 2rem 0;
}

.bleed-up {
    margin-top: -150px;
}

.anchor-link {
    height: auto;
    width: 100%;
    clear: both;
    margin-top: -50px;
    position: absolute !important;
}

/* List - Multi Columns */

@media (min-width: 767px) {
    .two-column {
        columns: 2;
        -webkit-columns: 2;
        -moz-columns: 2;
    }
}

@media (min-width: 992px) {
    .three-column {
        column-count: 3;
        column-gap: 3rem;
    }
}

/* Inline Image */

.inline-img {
    max-width: 400px;
    width: 100%;
}

.inline-img img {
    width: 100%;
}

/* PAADS Logo */

.paads-block {
    padding: 20px 0;
    position: relative;
    padding-left: 23%;
}

.paads-logo {
    width: 19%;
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -31px;
}

.paads-logo img {
    max-width: 100%;
}

/*******************************************
:--- Alert ---:
*******************************************/

.alert-message {}

.alert-message a {
    font-weight: bold;
}


/*******************************************
:--- Header ---:
*******************************************/

header.page-header {
    background: #1E2E45;
    padding: 20px 0;
    position: relative;
}

header.page-header .school-logo {
    display: block;
    max-width: 250px;
}

header.page-header .school-logo img {
    width: 100%;
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    text-decoration: none;
    overflow-wrap: break-word !important;
    white-space: inherit !important;
    transition: none !important;
}

.navbar-logo {
    height: 70px;
    /* adjust to fit navbar */
}

.navbar-text {
    text-align: left;
    color: #fff;
    font-family: var(--ufl-ibm-sans);
    font-size: 23px;
    line-height: 24px;
    overflow-wrap: break-word !important;
    white-space: inherit !important;
    font-weight: 600;
    line-height: 1.1;
    margin-left: 20px;
    color: var(--white);
    /* inherits link color */
}

nav.page-nav {}

nav.page-nav .nav-list {
    margin: 0;
}

nav.page-nav .nav-list>.nav-item {
    list-style: none;
}

nav.page-nav .nav-list>.nav-item>a {
    color: var(--white);
    text-decoration: none;
    border-bottom: #fa471600 2px solid;
    font-weight: 400;
    font-style: normal;
}

nav.page-nav .nav-list>.nav-item>a i {
    margin-right: 10px;
}

nav.page-nav .nav-list>.nav-item>a:hover,
nav.page-nav .nav-list>.nav-item>a:focus {
    color: var(--white);
    border-bottom: #fa4616 2px solid;
}

nav.page-nav .nav-list>.nav-item>a.btn,
nav.page-nav .nav-list>.nav-item>a.btn:hover,
nav.page-nav .nav-list>.nav-item>a.btn:focus {
    border-bottom: unset;
}


/*******************************************
:--- Hero ---:
*******************************************/

.hero-section {
    background-size: cover;
    background-position: top 20% center;
}

.hero-section::before {
    background: linear-gradient(rgba(0, 28, 139, .2) 30%, rgba(0, 17, 83, 0));
    content: "";
    height: 15px;
    left: 0;
    mix-blend-mode: multiply;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.hero-section .hero-content {
    min-height: 600px;
}


/* Stripes decoration */


/* Shared base */

.vertical-bars,
.horizontal-bars {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.vertical-bars>*,
.horizontal-bars>* {
    position: relative;
    z-index: 1;
}

.vertical-bars::before,
.vertical-bars::after,
.horizontal-bars::before,
.horizontal-bars::after {
    content: "";
    position: absolute;
    background: var(--ufl-orange);
    pointer-events: none;
    z-index: 0;
}


/* Vertical (right-aligned) */

.vertical-bars::before,
.vertical-bars::after {
    right: 0;
}

.vertical-bars::before {
    top: 45px;
    width: 10px;
    height: 219px;
}

.vertical-bars::after {
    top: 120px;
    right: 18px;
    width: 2px;
    height: 363px;
}


/* 10px + 8px gap */


/* Horizontal (right-aligned, fixed widths) */

.horizontal-bars::before,
.horizontal-bars::after {
    right: 0;
}

.horizontal-bars::before {
    bottom: 60px;
    height: 10px;
    width: 4em;
}

.horizontal-bars::after {
    bottom: 50px;
    height: 2px;
    width: 10em;
}


/*******************************************
:--- Form ---:
*******************************************/


/* Archa form overrides */

.form.multi-step .international-link {
    display: none !important;
}


/* Steps header */

.form.multi-step .step-header {
    justify-content: start !important;
    width: fit-content !important;
    gap: 40px !important;
    flex-flow: row !important;
    position: relative !important;
}

.form.multi-step .step-header div {
    align-items: center !important;
    justify-content: center !important;
    width: 20% !important;
}

.form.multi-step .step-header::after {
    left: 0 !important;
    width: 100% !important;
    background: var(--ufl-orange) !important;
}

.form.multi-step .step-header div span {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    font-size: 25px !important;
    font-weight: 700;
    border-radius: 0 !important;
    border: 2px solid var(--ufl-orange) !important;
    color: var(--white) !important;
    background: var(--ufl-blue) !important;
    width: 60px !important;
    height: 60px !important;
    line-height: 1.7 !important;
}

.form.multi-step .step-header div.active span {
    background: var(--ufl-orange) !important;
}

.form.multi-step #step3 .input-wrap {
    position: relative !important;
}


/* Labels */

.form.multi-step label {
    color: var(--white) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: unset !important;
    text-transform: unset !important;
    margin-bottom: 0.7rem !important;
    line-height: 1.2 !important;
}

.form.multi-step span.asterisk {
    color: var(--ufl-orange) !important;
    position: absolute !important;
}

#ai-opt-in,
#sms-opt-in {
    margin-bottom: 10px !important;
}

#ai-opt-in label,
#sms-opt-in label {
    font-size: 13px !important;
    font-weight: 400 !important;
}

.iti__country-name {
    color: var(--text) !important;
}


/* INPUTS & SELECT */

.form.multi-step .select-wrap select {
    background-color: var(--white) !important;
    background-image: linear-gradient(45deg, transparent 50%, #58595b 50%), linear-gradient(135deg, #58595b 50%, transparent 50%), linear-gradient(to right, #fff, #fff) !important;
}

.form.multi-step .input-wrap input,
.form.multi-step .input-wrap textarea,
.form.multi-step .select-wrap select {
    border: 1px solid var(--white) !important;
}

.form.multi-step .input-wrap input:focus, .form.multi-step .input-wrap textarea:focus,
.form.multi-step .select-wrap select:focus {
    border: 1px solid var(--ufl-orange) !important;
}

/* Buttons */

.form.multi-step .form-controls input {
    background: var(--ufl-orange) !important;
    border-radius: 0 !important;
    border: 2px solid var(--ufl-orange) !important;
    width: unset !important;
    float: unset !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    padding: 15px 40px 17px !important;
}

.form.multi-step .form-controls input:hover {
    background: var(--ufl-blue) !important;
    color: var(--primary-blue) !important;
}

.form.multi-step .form-controls input:focus,
.form.multi-step .form-controls input:active {
    background: var(--primary-blue) !important;
    color: var(--white) !important;
}

.form.multi-step .form-controls input#previous {
    background: var(--secondary-blue) !important;
    color: var(--white) !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
}

.form.multi-step .form-controls input#request {
    background-color: var(--ufl-orange) !important;
    color: var(--white) !important;
    width: 100% !important;
    padding: 18px !important;
}

.form.multi-step .form-controls input#request:hover,
.form.multi-step .form-controls input#request:focus {
    background-color: var(--ufl-blue) !important;
}

.form.multi-step .form-controls input#previous:focus-visible {
    outline: 2px solid;
}

/* Errors */

.form.multi-step span.error {
    color: var(--white) !important;
    background: var(--ufl-orange) !important;
    padding: 5px 10px !important;
    font-weight: 700 !important;
    right: 0 !important;
}

.form.multi-step .select-wrap select.error {
    border: 1px solid var(--ufl-orange) !important;
}

.form.multi-step .privacy span {
    color: var(--ufl-orange) !important;
}


/* Popover */

.popover {
    background-color: var(--ufl-orange);
    border: 1px solid var(--ufl-orange);
    color: #fff;
    padding: 6px;
    text-align: center;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
}

.popover-body {
    color: var(--white);
    font-weight: 800;
}

.popover-arrow::after,
.popover-arrow::before {
    border-bottom-color: var(--ufl-orange) !important;
    border-top-color: var(--ufl-orange) !important;
}


/*******************************************
:--- Benefits ---:
*******************************************/

.benefits-section {
    padding: 2em 0;
}

.benefits-list {
    margin: 0;
}

.benefit-bullet {
    list-style: none;
    border-bottom: 1px solid var(--ufl-blue);
    padding: 1em 0 .5em;
}

.benefit {
    flex: 1 1 0;
}

.benefit-icon {
    font-size: 1.5rem;
    display: block;
    background: var(--ufl-blue);
    color: var(--white);
    padding: 10px 18px;
}

.benefit-text {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.7rem;
}


/*******************************************
:--- Main Content ---:
*******************************************/

#main-content p a:focus-visible {
    background: var(--primary-dark);
}

.btn-ufl.btn-blue:focus-visible {
    background: var(--ufl-blue) !important;
    color: var(--white) !important;
}

/* Cards */

.spec-card {
    /* background-color: var(--ufl-blue);
    color: #fff; */
    background-color: #fff;
    border: 2px solid var(--ufl-blue);
    font-size: 1rem;
    height: 100%;
    padding: 2rem;
    text-align: left;
}

.spec-card p:last-child {
    margin-bottom: 0;
}

.spec-card .sample-courses {
    font-size: .875rem;
}

/* Tabbed Content */

.nav-pills .nav-link {
    background-color: var(--ufl-gray-light);
    border-left: 2px solid #CCC;
    border-radius: 0;
    color: var(--text);
    font-weight: 600;
    margin-bottom: 2px;
}

.nav-pills .nav-link:hover {
    background-color: var(--ufl-orange);
    border-left: 2px solid var(--ufl-dark-blue);
    color: #fff;
}

.nav-pills .nav-link.active {
    background-color: var(--ufl-dark-blue);
    border-left: 2px solid var(--ufl-orange);
    color: #fff;
}

.additional-block .side-image {
    max-height: 500px;
}


/* Testimonial */

.testimonial-section blockquote {
    font-size: 1.4rem;
}

/* Grid List for Icons */

.gridlist {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 20px;
    margin: 30px 0;
    list-style: none;
    padding: 0;
}

.gridlist li {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    font-weight: 500;
    font-size: 15px;
    line-height: normal;
    text-align: center;
}

.gridlist li img {
    display: block;
    margin: 0 auto 10px auto;
    max-width: 70px;
    filter: grayscale(100%);
}


/* ---------- Grid List for Icons MOBILE ---------- */

@media (max-width: 768px) {

    .gridlist {
        grid-template-columns: 1fr;
    }

    .gridlist li {
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 20px;
        padding: 0;
    }

    .gridlist li img {
        margin: 0;
        max-width: 50px;
        flex-shrink: 0;
    }

}

/*******************************************
:--- Specialization Section VWO - TEST ---:
*******************************************/

.spec-expand {
    position: relative;
    margin: 0 0 50px 0;
}

.spec-expand .spec-card-container p.intro {
    margin: 0 0 40px 0;
}

.spec-expand .spec-card-container:before,
.spec-expand .spec-card-container:after {
    -webkit-transiton: all 300ms ease;
    -moz-transiton: all 300ms ease;
    transition: all 300ms ease;
}

.spec-expand .spec-card-container.masked {
    height: 450px;
    overflow: hidden;
}

.spec-expand .spec-card-container.masked:before {
    text-transform: uppercase;
    font-weight: 700;
    content: "Load more";
    font-size: 16px;
    padding: 8px;
    background-color: transparent;
    border-color: var(--ufl-blue);
    color: var(--ufl-blue);
    border-style: solid;
    border-width: 4px;
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: 150px;
    z-index: 3;
    text-align: center;
    cursor: pointer;
}

.spec-expand .spec-card-container.masked:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: -webkit-linear-gradient(rgba(244, 246, 246, 0) 0%, rgba(244, 246, 246, 1) 60%);
    background: -moz-linear-gradient(rgba(244, 246, 246, 0) 0%, rgba(244, 246, 246, 1) 60%);
    background: -o-linear-gradient(rgba(244, 246, 246, 0) 0%, rgba(244, 246, 246, 1) 60%);
    background: linear-gradient(rgba(244, 246, 246, 0) 0%, rgba(244, 246, 246, 1) 60%);
}


/*******************************************
:--- Footer ---:
*******************************************/

footer.page-footer {
    padding: 5rem 0;
    font-size: 0.875rem;
    border-top: 10px solid var(--ufl-orange);
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    text-decoration: none;
    overflow-wrap: break-word !important;
    white-space: inherit !important;
    transition: none !important;
}

.footer-logo {
    height: 70px;
    /* adjust to fit navbar */
}

.footer-text {
    text-align: left;
    color: #fff;
    font-family: var(--ufl-ibm-sans);
    font-size: 23px;
    line-height: 24px;
    overflow-wrap: break-word !important;
    white-space: inherit !important;
    font-weight: 600;
    line-height: 1.1;
    margin-left: 20px;
    color: var(--white);
    /* inherits link color */
}

footer.page-footer p {
    padding-bottom: 0 !important;
}

footer.page-footer a {
    color: #fff;
}


/*******************************************
:--- Media Queries ---:
*******************************************/


/* Large Displays */

@media (min-width: 1440px) {}

@media (min-width: 1200px) {}

@media (max-width: 1200px) {}

@media (max-width: 992px) {
    .hero-section .hero-content {
        min-height: 400px;
    }
    .h1 {
        font-size: 3rem;
        line-height: 3rem;
    }
    .bleed-up {
        margin-top: unset;
    }
    .footer-logo {
        max-width: 250px;
    }
}

@media (max-width: 767px) {
    h2 {
        font-size: 2.5rem;
    }
    section.block {
        padding: 40px 0;
    }
}

@media (max-width: 640px) {
    ul.double-list {
        columns: 1;
        -webkit-columns: 1;
        -moz-columns: 1;
    }
}

@media (max-width: 480px) {}

@media (max-width: 320px) {}


/*******************************************
:--- IE Fixes ---:
*******************************************/

.ie7 .tooltip,
.ie8 .tooltip {
    display: none!important
}

.ie7 label,
.ie8 label,
.ie9 label {
    display: block!important;
}

.ie7 .required-ast-nolabel,
.ie8 .required-ast-nolabel,
.ie9 .required-ast-nolabel {
    display: none;
}