/*!
 * styles.css
 * @author  Ray M. (crim3hound)
 * @version 1.0
 * @url https://github.com/crim3hound
 */

 /* Mobile // 768px */
 @media screen and (max-width: 48em) {

 }
 
 /* Larger Screens // 768px */
 @media screen and (min-width: 48em) {
     /* LAYOUT */
    .section {
        padding: 6rem 0;
    }

     /* HEADINGS + TYPOGRAPHY */
    .section-title {
        font-size: 1.2rem;
        line-height: 1.6rem;
    }
    .section-title::after {
        width: 20px;
        height: 3px;
        margin: 0 0 3rem;
    }
    .section-title.is-underlined::after {
        margin: 1.2rem auto 3rem;
    }
    .section.main-body p, .section.main-body li, .section.main-body a {
        font-size: 1.5rem;
        line-height: 2.2rem;
    }

    /* CONTENT BUTTONS */
    .section .content-btn {
        font-size: .85rem !important;
        padding: .85rem 1.5rem;
    }

    /* NAVBAR */
    .navbar {
        padding-top: 2rem !important;
        padding-left: 4rem;
        padding-right: 4rem;
        transition: all .2s ease-in-out;
    }
    .navbar.scrolled {
        padding-top: 0.5rem !important;
        transition: all .2s ease-in-out;
    }
    .navbar .logo {
        width: 200px;
        height: 60px;
    }
    .navbar.scrolled .logo {
        width: 200px;
        height: 60px;
    }
    .navbar .nav-link {
        font-size: .95rem;
        line-height: 2rem;
        padding: .5rem .6rem !important;
    }
    .navbar .nav-cta-btn {
        font-size: .85rem;
        line-height: 1.5rem;
        padding: .475rem 1.2rem !important;
        margin: 0 .75rem;
    }

    /* OFFCANVAS SEARCH */
    .offcanvas-search .offcanvas-body {
        padding: 1rem 12rem 0;
    }

    /* HERO */
    .hero .overlay {
        padding: 0 5rem 5rem;
    }
    .hero.landing-page .overlay {
        padding-bottom: 8rem;
    }
    .hero-caption .hero-title {
        font-size: 2.4rem;
        line-height: 2.6rem;
    }
    .landing-page .hero-caption .hero-title {
        font-size: 2.6rem;
        line-height: 2.8rem;
        padding-right: 10%;
    }
    .hero-caption .hero-text {
        font-size: 1.2rem;
        line-height: 1.8rem;
        margin: .5rem 0 0;
    }

    /* CAROUSEL */
    .carousel .carousel-item img,
    .study-abroad-header img {
        max-width: 100%;
        width: 100%;
        height: auto;
    }
    .carousel .carousel-item .carousel-caption,
    .study-abroad-header .header-caption {
        align-self: flex-end;
        flex-direction: column;
        right: 12vw;
        left: 8vw;
        bottom: 0;
        padding-top: 1.25rem;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .study-abroad-header .header-caption {
        right: 12vw;
        left: 8vw;
        bottom: 0;
    }
    .carousel-caption .caption-block {
        display: flex;
        flex-direction: row;
    }
    .carousel-caption .caption-title {
        width: 23vw;
        height: 33vh;
        max-width: 400px;
        max-height: 280px;
        border-radius: 6rem 6rem 6rem 0;
        font-size: 2.6rem;
        line-height: 2.6rem;
        margin-top: 10%;
        padding: 4rem 3.5rem;
    }
    .header-caption .caption-title {
        font-size: 3rem;
        line-height: 3rem;
        height: auto;
        max-width: none;
        max-height: none;
        margin: 60px 0 0;
        padding: 6rem 0 2rem;
    }
    .carousel-caption .caption-title > small {
        font-size: .75rem;
        line-height: 1rem;
        margin-top: 15px;
    }
    .carousel-caption .caption-text {
        display: flex;
        align-self: flex-end;
        justify-content: flex-end;
        width: 23vw;
        height: 33vh;
        max-width: 400px;
        max-height: 280px;
        border-radius: 6rem 0 6rem 6rem;
        font-size: 2.3rem;
        line-height: 2.3rem;
        margin-left: -150px;
        margin-bottom: -20px;
        text-align: right;
        padding: 4rem 3.5rem;
        overflow-wrap: break-word;
    }
    .study-abroad-header .caption-text {
        margin: 0 0 0 7px;
        border-left-width: 2px;
    }
    .study-abroad-header .caption-text li {
        font: 1rem/1.4rem "Metropolis Bold", Arial, sans-serif;
        margin: .4rem 0;
        padding-left: 1.2rem;
    }
    .study-abroad-header .caption-text li::before {
        width: 12px;
        height: 12px;
        margin: 4px 0 0 -7px;
    }
    .carousel-caption .caption-cta,
    .header-caption .caption-cta,
    .hero-caption .caption-cta {
        margin: 4rem 0 0;
    }
    .carousel-caption .caption-cta > .btn,
    .header-caption .caption-cta > .btn,
    .hero-caption .caption-cta > .btn {
        font-size: .65rem;
        line-height: .65rem;
        padding: .85rem 1.5rem;
        margin-right: 15px;
        margin-bottom: 0;
    }
    .carousel-caption .caption-cta > .btn:nth-child(1):hover {
        border-color: #BE1E2D;
        background-color: #BE1E2D;
        color: #FFF;
        transition: all .2s ease-in-out;
    }
    .carousel-caption .caption-cta > .btn:nth-child(3):hover {
        border-color: #EEE;
        background-color: #EEE;
        color: #1D2F5C;
        transition: all .2s ease-in-out;
    }
    .carousel .carousel-indicators {
        justify-content: center;
        align-items: center;
        flex-direction: column;
        position: absolute;
        height: 80%;
        width: 50px;
        right: 0;
        bottom: 0;
        left: 0;
        padding: 0;
        margin-right: 0;
        margin-bottom: 1rem;
        margin-left: 3%;
    }
    .carousel .carousel-caption .fg-img,
    .study-abroad-header .header-caption .fg-img {
        display: flex;
        padding: 0;
    }
    .carousel .carousel-caption .fg-img img,
    .study-abroad-header .header-caption .fg-img img {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-right: -50px;
        margin-bottom: 0;
    }
    .has-brand-logo .fg-img img.training-logo {
        max-width: 500px;
        height: auto;
        margin: 0 auto;
    }
    .landing-page.has-brand-logo .fg-img img.training-logo {
        max-width: 300px;
        height: auto;
        margin: 0 0 0 auto;
        filter: brightness(0) invert(1);
    }

    /* PARTNER LOGOS */
    .partner-logos > .logo {
        padding: 0 3rem 0 1rem;
        margin-bottom: 3rem;
    }
    .partner-logos .owl-dots {
        padding: 4rem 0 0;
        height: 25px;
    }
    .partner-logos .owl-dots .owl-dot {
        width: 17px;
        height: 17px;
        margin: 0 .35rem;
    }
    .partner-logos .owl-dots .owl-dot.active {
        width: 25px;
        height: 25px;
    }

    /* SERVICES - HOMEPAGE */
    .fancy-bg .fancy-tp {
        background-position: 5% -100px;
        background-size: 60% auto;
    }
    .fancy-bg .fancy-bt {
        background-position: 95% bottom;
        background-size: 60% auto;
    }
    .fancy-bg .fancy-tp, .fancy-bg .fancy-bt {
        display: block;
    }
    .svc-item {
        flex-wrap: nowrap;
        margin: 2rem 0;
    }
    .svc-item:last-child {
        margin-bottom: 8rem;
    }
    .svc-item .svc-count-icon {
        width: 25%;
        order: 1;
    }
    .svc-item.reverse .svc-count-icon {
        justify-content: flex-end;
        order: 3;
    }
    .svc-item .svc-count {
        width: 60px;
        height: 60px;
        border-radius: 20px;
        margin-right: 1.2rem;
        margin-left: 0;
        order: 1;
    }
    .svc-item.reverse .svc-count {
        margin-right: 0;
        margin-left: 1.2rem;
        order: 2;
    }
    .svc-item .svc-count > span {
        font-size: 2rem;
        line-height: 2rem;
    }
    .svc-item .svc-icon {
        display: flex;
        width: calc(100% - 100px);
        height: 140px;
        order: 2;
    }
    .svc-item.reverse .svc-icon {
        order: 1;
    }
    .svc-item .svc-icon img {
        display: block;
        max-width: 100%;
        height: auto;
    }
    .svc-item .svc-desc {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 50%;
        padding: 0 1rem;
        order: 2;
    }
    .svc-item .svc-desc h3 {
        font-size: 1.1rem;
        line-height: 1.4rem;
        margin: 0 0 .5rem;
    }
    .svc-item .svc-desc p {
        font-size: 1.15rem;
        line-height: 1.6rem;
        opacity: .85;
        margin: 0;
    }
    .svc-item .svc-cta {
        margin-top: 1.5rem;
    }
    .svc-item .svc-cta > .btn {
        font-size: .65rem;
        line-height: .65rem;
        padding: .55rem .95rem;
        margin-right: 15px;
        margin-bottom: 15px;
    }
    .svc-item .svc-cta > .btn:last-child {
        margin-right: 0;
    }
    .svc-item.reverse .svc-desc {
        text-align: right;
        align-items: flex-end;
    }
    .svc-item .svc-arrow {
        display: flex;
        width: 25%;
        order: 3;
    }
    .svc-item.reverse .svc-arrow {
        order: 1;
    }

    /* LEAD FORM */
    .app-lead-form {
        padding: 0;
    }
    .lead-form-wrapper .lead-form-fg {
        align-items: flex-end;
        padding-right: 4rem;
        padding-left: 6rem;
        height: 650px;
        margin-top: -150px;
    }
    .lead-form-wrapper .lead-form {
        padding-bottom: 0;
        padding-top: 0;
        padding-right: 6rem;
    }
    .lead-form-wrapper .lead-form .form-title {
        max-width: 90%;
        font-size: 2rem;
        line-height: 2.4rem;
    }
    .lead-form-wrapper .lead-form p {
        font-size: 1.1rem;
        line-height: 1.4rem;
    }
    form #lead_form {
        padding-left: .15rem;
    }
    form #lead_form button[type=submit] {
        font-size: .75rem;
        padding: .8rem 1.5rem;
    }
    form #lead_form .mb-3 {
        width: 48%;
    }
    form #lead_form .mb-3:nth-child(9), form #lead_form .mb-3:nth-child(10) {
        /* recaptcha and submit button */
        width: 100%;
    }

    /* STUDY ABROAD + TRAINING + EVENTS - LISTING VIEW */
    .listing-grid.owl-carousel .grid-item {
        margin-left: 1rem;
        margin-right: 1rem;
    }
    .listing-grid .grid-item {
        margin: 1rem 0;
    }
    .listing-grid .card .card-body {
        padding: 2rem 2.25rem 2.25rem;
    }
    .listing-grid .card.has-logo img.provider-logo {
        height: 100px;
        top: -2rem;
        right: 1.5rem;
    }
    .listing-grid.events-list .card-body .date-card {
        width: 50px;
        height: 55px;
        border-radius: 4px;
        left: 2.25rem;
        top: 2rem;
        padding: .5rem 0 .6rem;
    }
    .listing-grid.events-list .date-card > .day {
        font: 1.65rem/1.65rem "Metropolis Black", Arial, sans-serif;
    }
    .listing-grid.events-list .date-card > .month {
        font: .75rem/.75rem "Metropolis Bold", Arial, sans-serif;
    }
    .listing-grid.events-list .card-body .event-status {
        right: 2rem;
        top: 2rem;
    }

    /* STUDY ABROAD + TRAINING - SINGLE VIEW */
    .tabbed-content {
        margin: 0;
        padding-left: 4rem;
    }
    .tabbed-content .tab-img {
        margin: 0 -5rem 0 0;
    }
    .tabbed-content .tab-img img {
        display: block;
        max-width: 100%;
        width: 100%;
        height: auto;
        margin: 0 0 0 -2.5rem;
    }
    .tabbed-content .nav-tabs {
        position: absolute;
        width: 60%;
        justify-content: flex-start;
        border: 0;
        margin-top: 5rem;
    }
    .tabbed-content .nav-tabs .nav-link {
        flex-direction: row;
        width: 180px;
        padding-top: .85rem;
        padding-bottom: .85rem;
        border: 0;
        border-radius: 4px;
        text-align: left;
        margin-right: 10px;
    }
    .tabbed-content .nav-tabs .nav-link span {
        font: .75rem/.85rem "Metropolis Bold", Arial, sans-serif;
        margin: 0 0 0 10px;
    }
    .tabbed-content .tab-body {
        padding: 12.5rem 0 0;
        font-size: 1.2rem;
        line-height: 1.8rem;
    }
    .tabbed-content .tab-body h1, .tabbed-content .tab-body h2, .tabbed-content .tab-body h3 {
        margin-bottom: 1.25rem;
    }
    form #application button[type=submit], form #training button[type=submit] {
        font-size: .75rem;
        padding: .8rem 1.5rem;
    }
    form #application .mb-3, form #training .mb-3 {
        width: 48%;
    }

    /* EVENT - SINGLE VIEW */
    .event-info .evt-info-block p, .event-info .evt-info-block li {
        font-size: .95rem;
        line-height: 1.2rem;
        padding: 0;
        margin: 0 0 5px;
    }
    .event-info .evt-info-block a {
        font-size: .65rem;
        line-height: .8rem;
        letter-spacing: .04rem;
        padding: 0;
        margin: 5px 0 0;
    }

    /* CONTACT */
    form #contact {
        padding-right: 2rem;
    }
    form #contact button[type=submit],
    form #enquiry button[type=submit] {
        font-size: .75rem;
        padding: .8rem 1.5rem;
    }
    form #contact .mb-3,
    form #enquiry .mb-3 {
        width: 48%;
    }
    .contact-info {
        padding-left: 0;
        padding-top: 0;
    }
    .contact-info {
        padding-left: 2rem;
    }
    .contact-info .contact-block p, .contact-info .contact-block li {
        font-size: .95rem;
        line-height: 1.2rem;
        padding: 0;
        margin: 0 0 5px;
    }
    .contact-info .contact-block a {
        font-size: .65rem;
        line-height: .8rem;
        letter-spacing: .04rem;
        padding: 0;
        margin: 5px 0 0;
    }

    /* FOOTER */
    footer {
        text-align: left;
    }
    footer .ftr-brand {
        align-items: flex-start;
        padding: 7rem 4.5rem 3.3rem 5rem;
    }
    footer .ftr-brand > .copyright {
        margin: 0;
        text-align: center;
    }
    footer .ftr-logo {
        width: 300px;
        margin: 0;
    }
    footer .ftr-subscribe {
        padding: 4.3rem 6rem 0 0;
    }
    footer .ftr-menu {
        justify-content: space-between;
        padding: 4rem 0 2rem 4rem;
    }
    footer .ftr-menu ul {
        width: 32%;
    }
    footer ul.ftr-nav-v, footer ul.ftr-nav-h {
        width: 100%;
        padding-left: 0;
    }
    footer ul.ftr-nav-v {
        width: 32%;
        margin-bottom: 0;
    }
    footer .ftr-legal-links {
        padding-left: 4rem;
        padding-bottom: 2rem;
    }
    footer .copy-text.copy-rt {
        text-align: right;
    }
    footer .ftr-dev-tag {
        padding-left: 0;
        padding-right: 4rem;
        padding-bottom: 2rem;
    }
 }

 /* Tablet // 769px - 1023px */
 @media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
     
 }

 /* Desktop // 1024px - 1215px */
 @media screen and (min-width: 64em) and (max-width: 75.9375em) {

 }

 /* Widescreen // 1216px - 1407px */
 @media screen and (min-width: 76em) and (max-width: 87.9375em) {  
     /* HERO + CAROUSEL */
    .carousel-caption .caption-title {
        width: 25vw;
        height: 28vh;
        max-width: 400px;
        max-height: 280px;
        border-radius: 5rem 5rem 5rem 0;
        font-size: 2.4rem;
        line-height: 2.4rem;
        margin-top: 10%;
        padding: 4rem 3.5rem;
    }
    .carousel-caption .caption-title > small {
        font-size: .75rem;
        line-height: 1rem;
        margin-top: 15px;
    }
    .carousel-caption .caption-text {
        display: flex;
        align-self: flex-end;
        justify-content: flex-end;
        width: 25vw;
        height: 28vh;
        max-width: 400px;
        max-height: 280px;
        border-radius: 5rem 0 5rem 5rem;
        font-size: 2.3rem;
        line-height: 2.3rem;
        margin-left: -135px;
        margin-bottom: -30px;
        text-align: right;
        padding: 3.5rem 3.5rem;
        overflow-wrap: break-word;
    }
    .carousel-caption .caption-cta {
        margin: 4rem 0 0;
    }

    /* HOMEPAGE - SERVICES */
    .fancy-bg .fancy-tp {
        background-position: 5% -100px;
        background-size: 65% auto;
    }
    .fancy-bg .fancy-bt {
        background-position: 95% bottom;
        background-size: 65% auto;
    }
    .svc-item .svc-icon img {
        height: 110px;
    }

    
 }
 
 /* FHD // 1408px */
 @media screen and (min-width: 88em) {
    
 }

 /* FHD Screens with Lower Resolution // 768px */
 @media screen and (min-width: 88em) and (-webkit-device-pixel-ratio: 1) {
    .carousel-caption .caption-title {
        width: 25vw;
        height: 35vh;
        max-width: 440px;
        max-height: 280px;
        font-size: 3.5rem;
        line-height: 3.5rem;
        margin-top: 12%;
        padding: 4rem 4.5rem;
    }
    .carousel-caption .caption-title > small {
        font-size: 1rem;
        line-height: 1.25rem;
    }
    .carousel-caption .caption-text {
        width: 25vw;
        height: 35vh;
        max-width: 440px;
        max-height: 280px;
        border-radius: 6rem 0 6rem 6rem;
        font-size: 3rem;
        line-height: 3rem;
        margin-left: -200px;
        padding: 4rem 4.5rem;
    }
    .carousel-caption .caption-cta,
    .header-caption .caption-cta,
    .hero-caption .caption-cta {
        margin: 5rem 0 0;
    }
    .fancy-bg .fancy-tp {
        background-position: 5% -100px;
        background-size: 45% auto;
    }
    .fancy-bg .fancy-bt {
        background-position: 95% bottom;
        background-size: 45% auto;
    }
    .lead-form-wrapper .lead-form {
        padding-bottom: 5rem;
        padding-top: 0;
    }
    .lead-form-wrapper .lead-form-fg {
        align-items: flex-start;
        padding-right: 4rem;
        height: 600px;
        margin-top: -150px;
    }
 }