/* CSS Document */

/*logged in users*/

.ccm-page {font-size:100%!important;}

#footer a {
    text-decoration:none!important;
    transition: all 0.25s;
    text-decoration:none;
}

#main a {
    transition: all 0.25s;
    text-decoration:none;
}

#main  div.ff-job-card p > a {color:#000000!important;}

#main a:hover {
    color: #000000!important;
	transition:all 0.25s;
}



.ccm-page .btn {border-radius:0px;}

.ccm-page .btn-primary {
    background: #fc5001;
    border-color: #e9433b;
    font-weight: 700;
    border-radius: 0px;
}

/*fcc theme build*/


/*backgrounds*/
.bg-dark {background-color:#292E59;}


/*footer*/
footer hr {
    margin: 2rem 0;
    color: inherit;
    border: 0;
    border-top: 2px solid #ffffff !important;
    opacity: 1;
}




/*page titles*/
.ccm-page main h2.page-title { width:fit-content; font-size:1.25rem; font-weight:400;}


.ccm-page main h1.page-title { width:fit-content; font-size:1.25rem; font-weight:400;}



/*custom buttons and legacy block stuff*/


.glide__arrow--left {
    transform: rotate(180deg);
    margin-right: 16px;
}





.ccm-page .h1, .ccm-page .h2, .ccm-page .h3, .ccm-page .h4, .ccm-page .h5, .ccm-page .h6, .ccm-page h1, .ccm-page h2, .ccm-page h3, .ccm-page h4, .ccm-page h5, .ccm-page h6 {
   
    margin-bottom: 1.5rem!important;
   
}



/*footer*/
#footer { font-weight: 200!important;}
footer ul li {list-style:square;}
footer ul li:marker {background: #fc5000; color: green;
    padding: 3px 15px;}
    
/*fcc capital theme build*/
/* ========================================
   FCC SPECIFIC STYLES
   ======================================== */

.navbar-toggler {
    width: 49px;
    float: right;
    position: absolute;
    right: 0;
    top: -17px;
    padding: 0;
}

.masthead h1 {
    font-size: calc(2rem + 3.5vw)!important;
    line-height: 1;
    color: #ffffff;
}

.bosstext {
    font-size: calc(2rem + 5vw);
    line-height: 100%;
    color: #0e62ad;
}

ul.contactlist {
    padding-left: 0;
    margin-left: -10px;
}

ul.contactlist li {
    margin-bottom: 5px;
}

ul.contactlist li a {
    color: #fff !important;
}

li.telephone,
li.email,
li.address {
    list-style: none;
}
body {font-size:90%;}
body .ccm-page {
    font-family: 'Poppins', sans-serif !important;
    overflow-x: hidden;
}


/* ========================================
   TOP LOGIN / SEARCH
   ======================================== */

.toplogin {
    max-width: 200px;
    width: 100%;
    display: block;
    float: right;
    text-align: right;
}

.toplogin .ccm-search-block-form .ccm-input-text {
    position: absolute !important;
    width: 100% !important;
    padding-right: 30px;
    border-radius: 25px !important;
    z-index: 0;
}

.toplogin .ccm-search-block-form .ccm-input-submit {
    position: absolute !important;
    right: 1px;
    max-width: 20px !important;
    border-radius: 25px !important;
    z-index: 1;
}

.toplogin .ccm-search-block-form span {
    z-index: 1 !important;
}


/* ========================================
   FOOTER SEARCH
   ======================================== */

footer .ccm-search-block-form .ccm-input-text {
    position: absolute !important;
    width: 100% !important;
    padding-right: 30px;
    border-radius: 25px !important;
    z-index: 0;
}

footer .ccm-search-block-form .ccm-input-submit {
    position: absolute !important;
    right: 1px;
    max-width: 20px !important;
    border-radius: 25px !important;
    z-index: 1;
}

footer .ccm-search-block-form span {
    z-index: 1 !important;
}


/* ========================================
   PREMIUM DROPDOWN TRANSITIONS
   ======================================== */

#thetopnav .dropdown-menu {
    display: block;

    padding: 10px 0;

    border: 0;
    border-radius: 4px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateY(10px) scale(0.98);
    transform-origin: top center;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.10),
        0 3px 10px rgba(0, 0, 0, 0.05);

    transition:
        opacity 0.22s ease,
        transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.22s ease;
}


/* Dropdown open state */

#thetopnav .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateY(0) scale(1);
}


/* Dropdown links */

#thetopnav .dropdown-menu .dropdown-item {
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        padding-left 0.25s ease;
}

#thetopnav .dropdown-menu .dropdown-item:hover,
#thetopnav .dropdown-menu .dropdown-item:focus {
    padding-left: 1.4rem;
}


/* Dropdown arrow */

#thetopnav .dropdown-toggle::after {
    transition: transform 0.25s ease;
}

#thetopnav .dropdown-toggle.show::after {
    transform: rotate(180deg);
}


/* ========================================
   MOBILE NAV
   ======================================== */

@media (max-width: 991.98px) {

    /* ----------------------------------------
       Login / search
       ---------------------------------------- */

    .toplogin {
        margin-top: -30px;
    }

    .toplogin form {
        margin-right: -65px;
    }

    .toplogin .ccm-search-block-form .ccm-input-text {
        margin-top: 5px;
        font-size: 14px;
    }


    /* ----------------------------------------
       Slide-in navigation
       ---------------------------------------- */

    #collapsibleNavbar {
        display: block !important;

        position: fixed;
        top: 0;
        left: 0;

        width: 75%;
        max-width: 489px;
        height: 100vh;

        padding: 120px 30px 40px;

        background: #fff;

        overflow-x: hidden;
        overflow-y: auto;

        z-index: 9998;

        visibility: visible !important;

        /* Start off screen */
        transform: translateX(-100%);

        transition: transform 0.35s ease;
    }


    /* Open state */

    #collapsibleNavbar.show {
        transform: translateX(0);
    }


    /* Prevent Bootstrap collapse animation
       fighting our slide animation */

    #collapsibleNavbar.collapsing {
        height: 100vh !important;
        transition: transform 0.35s ease !important;
    }


    /* ----------------------------------------
       Mobile nav items
       ---------------------------------------- */

    #collapsibleNavbar .navbar-nav {
        width: 100%;
        margin: 0 !important;
        flex-direction: column;
    }

    #collapsibleNavbar .nav-item {
        width: 100%;
        text-align: left !important;
    }

    #collapsibleNavbar .nav-link {
        width: 100%;
        padding: 12px 0;
    }


    /* ----------------------------------------
       Mobile toggle
       ---------------------------------------- */

    #thetopnav .navbar-toggler {
        position: relative;
        z-index: 10000;
    }


    /* ========================================
       MOBILE DROPDOWNS
       ======================================== */

    #collapsibleNavbar .dropdown-menu {
        position: static !important;
        display: block !important;

        width: 100%;
        max-height: 0;

        margin: 0;
        padding: 0 0 0 20px;

        overflow: hidden;

        background: transparent;

        border: 0;
        box-shadow: none;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translateY(-5px) !important;

        transition:
            max-height 0.4s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.25s ease,
            transform 0.3s ease,
            padding 0.3s ease,
            visibility 0.3s ease;
    }


    /* Mobile dropdown open */

    #collapsibleNavbar .dropdown-menu.show {
        max-height: 700px;

        padding-top: 6px;
        padding-bottom: 10px;

        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform: translateY(0) !important;
    }


    /* Submenu links */

    #collapsibleNavbar .dropdown-menu .nav-link {
        opacity: 0;

        transform: translateX(-8px);

        transition:
            opacity 0.25s ease,
            transform 0.3s ease,
            padding-left 0.25s ease;
    }

    #collapsibleNavbar .dropdown-menu.show .nav-link {
        opacity: 1;
        transform: translateX(0);
    }

}


/* ========================================
   DESKTOP NAV
   ======================================== */

@media (min-width: 992px) {

    #collapsibleNavbar {
        transform: none !important;
    }


    /* Main navigation links */

    #thetopnav .navbar-nav > .nav-item > .nav-link {
        position: relative;

        font-weight: 600;
        color: #242E5C;
    }


    /* Animated underline */

    #thetopnav .navbar-nav > .nav-item > .nav-link::before {
        content: "";

        position: absolute;
        left: 50%;
        bottom: -8px;

        width: 0;
        height: 4px;

        background: #c4def5;

        transform: translateX(-50%);

        pointer-events: none;

        transition:
            width 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    }


    /* Underline hover */

    #thetopnav .navbar-nav > .nav-item > .nav-link:hover::before,
    #thetopnav .navbar-nav > .nav-item > .nav-link:focus::before {
        width: 100%;
    }
    
    /* Active page underline */
#thetopnav .navbar-nav > .nav-item > .nav-link.active::before {
    width: 100%;
    transition: none;
}

}

/*footer icon styling*/
.fcc-contact-details {
    font-size: 16px;
}

.fcc-contact-item {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;

    width: 100%;
    margin-bottom: 12px;
}

.fcc-contact-icon {
    display: block !important;

    flex: 0 0 24px;

    width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;

    margin: 2px 12px 0 0 !important;
}

.fcc-contact-text {
    flex: 1 1 auto;
    min-width: 0;

    line-height: 1.5;
}

.fcc-contact-details a {
    color: inherit;
    text-decoration: none;
}

.fcc-contact-details a:hover,
.fcc-contact-details a:focus {
    text-decoration: underline;
}

/*typography*/

a {
    color: #2363ad;
}

.ccm-page main h1.page-title {
    font-size: calc(1.25rem + 2.5vw);
    font-weight: 700;
}

@media (min-width: 1200px) {
    .h3, h3 {
        font-size: 1.25rem;
    }
}

/*lity*/

.lity-close {
    color: #ffffff !important;
}

/*blending modes*/

.multiply {
    mix-blend-mode: multiply!important;
}

/*buttons*/
.ccm-page .btn-primary {
    background: #2261ad!important;
    border-color: #292e59;
    font-weight: 700;
    border-radius: 25px;
    padding: 10px 15px!important;
    transition:all 0.3s;
}

.ccm-page .btn-primary:hover {
    background: #2261ad !important;
    border-color: #292e59;
    font-weight: 700;
    color:#ffffff!important;
    border-radius: 25px;
     transition:all 0.3s;
}

.ccm-page .btn-primary {
    background: #2261ad !important;
    border-color: #2261ad !important;
    font-weight: 700;
    border-radius: 25px;
    color: #ffffff !important}
    
    @media (max-width: 991.98px) {
    #collapsibleNavbar {

        background: #292e59!important;
      
    }
    .nav-link {
    color: rgb(255 255 255);}
    
    
}
    @media (max-width: 767px) {
    .container, .container-sm {
        max-width: 95%!important;
    }
}

/*animated toggle button*/

/* ========================================
   ANIMATED MOBILE NAV TOGGLER
   ======================================== */

#thetopnav .navbar-toggler {
    width: 50px;
    height: 50px;

    padding: 0;
    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: transparent;
    border: 0 !important;
    border-radius: 0;

    outline: none !important;
    box-shadow: none !important;
}

/* Remove Bootstrap focus/active styling completely */
#thetopnav .navbar-toggler:hover,
#thetopnav .navbar-toggler:focus,
#thetopnav .navbar-toggler:active,
#thetopnav .navbar-toggler:focus-visible {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}


/* ========================================
   HAMBURGER
   ======================================== */

#thetopnav .navbar-toggler-icon {
    position: relative;

    display: block;

    width: 28px;
    height: 2px;

    background: #242E5C;
    background-image: none !important;

    border-radius: 2px;

    transition:
        background-color 0.2s ease,
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}


/* Top + bottom bars */

#thetopnav .navbar-toggler-icon::before,
#thetopnav .navbar-toggler-icon::after {
    content: "";

    position: absolute;
    left: 0;

    width: 28px;
    height: 2px;

    background: #242E5C;

    border-radius: 2px;

    transition:
        top 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        bottom 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

#thetopnav .navbar-toggler-icon::before {
    top: -8px;
}

#thetopnav .navbar-toggler-icon::after {
    bottom: -8px;
}


/* ========================================
   OPEN STATE — CROSS
   ======================================== */

/* Hide centre bar */
#thetopnav .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
    background-color: transparent;
}


/* Move top bar to centre and rotate */

#thetopnav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
    top: 0;
    transform: rotate(45deg);
}


/* Move bottom bar to centre and rotate */

#thetopnav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
    bottom: 0;
    transform: rotate(-45deg);
}
/* Remove Bootstrap's normal outline/shadow */
#thetopnav .navbar-toggler,
#thetopnav .navbar-toggler:hover,
#thetopnav .navbar-toggler:focus,
#thetopnav .navbar-toggler:active {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}


/* Keyboard-only focus */
#thetopnav .navbar-toggler:focus-visible {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    background-color: rgba(196, 222, 245, 0.35);
}


/* Change hamburger colour on keyboard focus */
#thetopnav .navbar-toggler:focus-visible .navbar-toggler-icon,
#thetopnav .navbar-toggler:focus-visible .navbar-toggler-icon::before,
#thetopnav .navbar-toggler:focus-visible .navbar-toggler-icon::after {
    background-color: #0e62ad;
}


/* Keep centre line transparent when menu is open */
#thetopnav .navbar-toggler:not(.collapsed):focus-visible .navbar-toggler-icon {
    background-color: transparent;
}
#thetopnav .navbar-toggler {
    transition: background-color 0.25s ease;
}

/*modal search*/

/* ========================================
   MOBILE SEARCH BUTTON
   ======================================== */

.mobile-search-trigger {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    color: #242E5C;
    background: transparent;

    border: 0;
    outline: 0;
    box-shadow: none;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.mobile-search-trigger:hover {
    color: #0e62ad;
}

.mobile-search-trigger:focus {
    outline: 0;
    box-shadow: none;
}

.mobile-search-trigger:focus-visible {
    color: #0e62ad;
    background: rgba(196, 222, 245, 0.35);
}


/* ========================================
   MOBILE SEARCH MODAL
   ======================================== */

.mobile-search-modal {
    border: 0;
    border-radius: 0;

    padding: 15px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.15);
}

.mobile-search-modal .modal-header {
    padding-bottom: 15px;
}

.mobile-search-modal .modal-title {
    color: #242E5C;
    font-weight: 600;
}


/* ========================================
   MOBILE SEARCH FORM
   ======================================== */

.mobile-search-form {
    display: flex;
    align-items: stretch;

    width: 100%;
}

.mobile-search-form .form-control {
    height: 55px;

    border: 1px solid #d5d5d5;
    border-right: 0;
    border-radius: 0;

    padding: 0 18px;

    font-size: 1rem;

    box-shadow: none;
}

.mobile-search-form .form-control:focus {
    border-color: #0e62ad;
    box-shadow: none;
}

.mobile-search-submit {
    flex: 0 0 55px;

    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    color: #fff;
    background: #242E5C;

    border: 0;
    border-radius: 0;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.mobile-search-submit:hover,
.mobile-search-submit:focus {
    background: #0e62ad;
}


/* MOBILE ONLY */
@media (min-width: 992px) {

    #mobileSearchModal {
        display: none !important;
    }

}
#thetopnav .navbar-toggler {
    margin-top: 32px !important;}
    
    /* ========================================
   MOBILE NAV COLOURS
   ======================================== */

@media (max-width: 991.98px) {

    /* Main slide-in panel */
    #collapsibleNavbar {
        background-color: #292e59 !important;
    }

    /* All navigation links */
    #collapsibleNavbar .nav-link,
    #collapsibleNavbar .dropdown-item,
    #collapsibleNavbar a {
        color: #fff !important;
        background-color: transparent !important;
    }

    /* Hover / focus / active states */
    #collapsibleNavbar .nav-link:hover,
    #collapsibleNavbar .nav-link:focus,
    #collapsibleNavbar .nav-link:active,
    #collapsibleNavbar .dropdown-item:hover,
    #collapsibleNavbar .dropdown-item:focus,
    #collapsibleNavbar .dropdown-item:active,
    #collapsibleNavbar a:hover,
    #collapsibleNavbar a:focus,
    #collapsibleNavbar a:active {
        color: #fff !important;
        background-color: transparent !important;
    }

    /* Current / active page */
    #collapsibleNavbar .active,
    #collapsibleNavbar .active > a,
    #collapsibleNavbar .nav-link.active,
    #collapsibleNavbar .dropdown-item.active {
        color: #fff !important;
        background-color: transparent !important;
    }

    /* Dropdown menus */
    #collapsibleNavbar .dropdown-menu {
        background-color: transparent !important;
        border: 0 !important;
    }

    /* Bootstrap dropdown caret */
    #collapsibleNavbar .dropdown-toggle::after {
        color: #fff !important;
        border-top-color: #fff !important;
    }

    /* Remove Bootstrap focus shadows */
    #collapsibleNavbar a:focus,
    #collapsibleNavbar button:focus {
        outline: none;
        box-shadow: none !important;
    }

}

@media (max-width: 991.98px) {

    #collapsibleNavbar .nav-link:hover,
    #collapsibleNavbar .dropdown-item:hover {
        color: #fff !important;
        background: transparent !important;
        opacity: 0.75;
    }

}

.form-control {
    border: 1px solid #f1f3f5!important;}
    
    /*additions for client*/
    blockquote {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    padding: 0.75rem 0.2rem 0rem 1.5rem;
    padding-top:0rem;
    border-left: solid 4px #c4def5;
}

/*fcc gradient*/
.bg-grad {background: #1F4CAD;
background: linear-gradient(90deg, rgba(31, 76, 173, 1) 0%, rgba(195, 105, 227, 1) 83%);}

.text-grad {
background: linear-gradient(90deg, rgba(31, 76, 173, 1) 0%, rgba(195, 105, 227, 1) 83%);

    background-clip: text;
    -webkit-background-clip: text;

    color: transparent;
    -webkit-text-fill-color: transparent;
        padding-bottom: 0.25rem;
} 
.corner { border-bottom-left-radius: 25px !important;}

/*width*/
@media (max-width: 960px) {
    .container, .container-md, .container-sm {
        max-width: 90%;
    }
}

@media (min-width: 768px) {

    .equal .row .row > div {
        display: flex!important;
    }

    .equal .row .row > div > .card {
        width: 100%!important;
        flex: 1;
    }

}
  


