html {
    background-color: #fff;
}
/* reset bold */
b {
    font-weight: 200;
}
/* Remove cursor */
.no-cursor {
    cursor: default !important;
    filter: none !important;
}
/* Remove padding */
  .no-padding {
    padding: 0 !important;
}
.icon {
  width: 24px;
  height: 24px;
  fill: currentColor;
  position: relative;
}
.z-index-1 {
    z-index: 1;
}
/* This height cover the full page view */
.height-100 {
    height: 100vh;
    min-height: 100%;
}
/* This height cover the full page view for all media */
.height-100-media {
    height: 100vh;
}
/* This height is set to cover 2/3 page view */
.height-75 {
    height: 75vh;
}
/* This height is set to cover 65% page view */
.height-65 {
    height: 65vh;
}
/* This height is set to cover 1/2 page view */
.height-50 {
    height: 50vh;
}
/* This height is set to cover 1/3 page view */
.height-33 {
    height: 33.33vh;
}
/* This height is set to cover 1/4 page view */
.height-25 {
    height: 25vh;
}
/* This height is set to cover 1/4 page view */
.height-20 {
    height: 20vh;
}
/* Height 100-Custom subtract px from 100%  */
.height-100-custom {
    height: calc(100vh - 400px);
}
/* This is a custom height */
.height-custom {
    height: 400px;
}
/* Vertical align center */
.v-center {
    align-items: center;
    display: flex;
}
/* Horizontal align center */
.h-center {
    justify-content: center;
    display: flex;
}
/* This one allows to put any layer in the BG */
.z-index-up-9 {
    z-index: 9;
}
/* This one allows to put a space on top of a block */
.block-break-top {
    margin-top: 200px;
}
/* This one allows to put a space on bottom of a block */
.block-break-bottom {
    margin-bottom: 100px;
}
/* This one allows to put a space on bottom of a first block */
.block-break-bottom-first {
    margin-bottom: 50px;
}
/* This can be used to put a margin on the page top, after the menu */
.page-top-margin {
    margin-top: 100px;
}
.page-padding {
    padding-left: 40px;
    padding-right: 40px;
}
.block-flip {
    flex-direction: row-reverse;
}
.block-flip img {
    margin-right: 30px;
}

/* --------------------------------------------------------- */

/* Color Palette */
.fn-color-1-bg {
    background-color: #003E82;
}
.fn-color-2-bg {
    background-color: #007AFF;
}
.fn-color-3-bg {
    background-color: #3BA3FF;
}
.fn-color-4-bg {
    background-color: #CCE7FF;
}
.fn-color-5-bg {
    background-color: #EFF7FF;
}
.fn-gray-bg {
    background-color: #808080;
}
.fn-white-bg {
    background-color: #ffffff;
}
/* --------------------------------------------------------- */

/* Button Setup UI */

.fn-button {
    display: inline-block;
    animation-delay: 0.5s;
    margin-top: 20px;
}
.fn-button a {
    background-color: #003E82;
    color: #fff;
    font-size: calc(.9rem + .1vw);
    padding: 12px 26px;
    display: block;
    border-radius: 25px;
    text-decoration: none;
}
.fn-button a:hover { 
    filter: brightness(0.9);
    transform: scale(1.05);
    transition: all .2s ease-in-out;
}

.button-fn {
    text-align: center;
    border-radius: 0;
    margin: 10px;
    border: 1px solid #ccc;
    background-color: #F8F8F8;
    box-shadow: 0 1px 10px rgb(0 0 0 / 10%);
}
.button-fn:hover {
    filter: brightness(0.9);
    box-shadow: none;
    cursor: pointer;
}
.button-fn:focus {
    filter: brightness(0.8);
}
.button-fn-small {
    font-size: 12px;
    padding: 6px 15px;
}
.button-fn-medium {
    font-size: 22px;
    padding: 12px 25px;
}
.button-fn-large {
    font-size: 32px;
    padding: 15px 35px;
}

/* --------------------------------------------------------- */

.fn-image {
    width: 100vw;
    background-size: cover;
    object-fit: cover;
    background-position: center;
    position: relative;
    background-image: url(../images/home-bg.jpg);
}
.fn-logo {
    width: 320px;
    height: auto;
    z-index: 1;
    cursor: pointer;
  } 
.fn-header {
    background-color: #ffffffe6;
    position: fixed;
    z-index: 10;
    top: 40px;
    height: 100px;
    justify-content: space-between;
    padding-left: 40px;
    padding-right: 40px;
    box-shadow: 0px 8px 30px 0px #c9c9c966;
}
.fn-top-banner{
    background-color:#CCE7FF;
    position: fixed;
    z-index: 10;
    top: 0;
    padding: 10px;
    height: 40px;
}

.block-hero {
    width: 60%;
    padding-left: 200px;
    animation-delay: 0.5s;
    text-align: left;
}
.block-hero h1 {
    color: #007AFF;
    font-size: calc(1rem + 3vw);
    font-weight: 600;
    line-height: .9;
}
.block-hero h1 i {
    font-family: "Boogaloo", sans-serif;
    font-style: normal;
    font-size: calc(2rem + 3vw);
}
.hero-image img {
    width: 65%;
}
.line-signature {
    border-bottom: 4px solid #007AFF;
    height: 18px;
    border-top: 4px solid #007AFF;
}
.line-signature hr {
    margin-top: 3px;
    border: 2px solid #007AFF;
}

.footer-container {
    display: flex;
    height: 380px;
    background-color: #cce6fe;
}
.footer-left {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}
.footer-address {
    padding: 20px;
    margin-right: 50px;
}

.footer-address h3 {
    color: #007AFF;
    font-size: calc(.8rem + .5vw);
    margin-bottom: 10px;
}
.footer-address h4 {
    color: #000000;
    font-size: calc(.8rem + .5vw);
    margin-bottom: 5px;
}
.footer-address p {
    color: #666;
    font-size: calc(.8rem + .1vw);
}
.footer-address a {
    color: #003e81;
    cursor: pointer;
    text-decoration: none;
}
.footer-address a:hover {
    text-decoration: underline;
}
.footer-links {
    width: 300px;
}
.footer-links svg {
    top: -2px;
    color: #003e81;;
}
.footer-links a {
    color: #003e81;
    font-size: calc(.8rem + .1vw);
}
.footer-links li {
    border-top: 1px solid #9ac1e4;
    padding: 10px;
    padding-bottom: 8px;
    display: flex;
    justify-content: space-between;
}
.footer-links li:last-child {
    border-bottom: 1px solid #9ac1e4;
}
.footer-links li:hover {
    background-color: #c1e0fc;
    cursor: pointer;
}
.footer-right {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}
.footer-right img {
    width: auto;
    margin-right: 10px;
}
.partners-block {
    background-color: #fff;
    box-shadow: 0px 0px 20px 0px #c9c9c966;
    border-radius: 20px;
    overflow: hidden;
}

.column-content h2 {
    color: #007AFF;
    font-size: calc(1rem + 2vw);
    line-height: 1;
}
.column-content h3 {
    color: #003E82;
    font-size: calc(1rem + 1vw);
}
.column-content p {
    color: #003E82;
    font-size: calc(1rem + .4vw);
    width: 90%;
    margin-top: 20px;
}
.column-image img {
    border-radius: 20px;
    overflow: hidden;
    object-fit: cover;
    width: 100%;
}
.image-rotate {
    transform: rotate(2deg);
}
.column-image iframe {
    border-radius: 20px;
    overflow: hidden;
    height: 480px;
}
.customers-block h2 {
    color: #003E82;
    font-size: calc(1rem + 1vw);
    margin-bottom: 20px;
    text-align: center;
    width: 100%;
}
.customers-content {
    background-color: #EFF7FF;
    /* padding: 100px; */
    text-align: center;
    border-radius: 20px;
    height: 560px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.customers-content .content-v-align {
    width: 100%;
    padding: 40px 0 70px;
    box-sizing: border-box;
}

.customers-content h3 {  
    color: #007aff;
    font-size: calc(1rem + .8vw);
    margin-bottom: 20px;
}
.customers-content p {
    font-family: "Boogaloo", sans-serif;
    width: 60%;
    text-align: center;
    display: inline-block;
    font-size: calc(1rem + .8vw);
    margin-bottom: 20px;
    color: #003e81;
}
.customers-content p.review-wide {
    width: 90%;
    font-size: calc(0.9rem + 0.6vw);
}
.customers-content p.review-full {
    width: 94%;
    font-size: calc(0.8rem + 0.45vw);
}
.customers-content h4 {  
    color: #003e81;
    font-size: calc(.8rem + .3vw);
    margin-bottom: 15px;
    font-weight: 500;
}
.customers-content a {
    color: #003e81;
    font-size: calc(.8rem + .3vw);
    margin-bottom: 10px;
    cursor: pointer;
    background-color: #CCE7FF;
    padding: 5px 20px;
    border-radius: 20px;
}
.customers-content a:hover {
    background-color: #b3dbff;
}
.customers-nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
}
.customer-dot{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#b7c9df;
    cursor:pointer;
    transition:.3s;
}
.customer-dot.active{
    background:#1c5db5;
    transform:scale(1.2);
}
.customers-content{
    opacity:1;
    transition:opacity .4s ease;
}
.customers-content.fade{
    opacity:0;
}
.cards-block h2 {
    color: #003E82;
    font-size: calc(1rem + 1vw);
    margin-bottom: 20px;
    text-align: center;
    width: 100%;
}
.cards-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.fn-card {
    background-color: #fff;
    padding: 25px;
    box-shadow: 0px 8px 30px 0px #c9c9c966;
    border-radius: 20px;
    margin-right: 2%;
    width: 31%;
    border: 2px solid #007AFF;
}
.fn-card-down {
    top: 30px;
}
.fn-card:hover {
    background-color: #EFF7FF;
    box-shadow: none;
    cursor: pointer;
}
.fn-card:last-child {
    margin-right: 0;
}
.fn-card img {
    display: flex;
    margin: auto;
    justify-content: center;
    border-radius: 10px;
    margin-bottom: 30px;
    object-fit: cover;
    width: 100%;
    height: 360px;
}
.fn-card-icon {
    padding: 80px 0;
    margin-bottom: 0 !important;
    object-fit: initial !important;
    width: initial !important;
    height: initial !important;
}

.fn-card h3 {
    color: #1c5db5;
    font-size: calc(.7rem + .8vw);
    font-weight: 500;
    margin-bottom: 10px;
}
.fn-card h4 {
    color: #007aff;
    font-size: calc(.5rem + .8vw);
    font-weight: 500;
    margin-bottom: 10px;
}
.fn-card p {
    font-size: calc(.5rem + .5vw);
    color: #808080;
    font-weight: 400;
}
.fn-card-services img {
    padding: 50px 0;
    margin-bottom: 30px;
    object-fit: initial;
    width: initial;
    height: auto;
}
.fn-card-services h3 {
    text-align: center;
}
.fn-card-services h4 {
    text-align: center;
}
.fn-card-services p {
    text-align: center;
}

.block-md-links {
    background-color: #fff;
    border: 2px solid #007AFF;
    border-radius: 20px;
    box-shadow: 1px 1px 20px 0px #dddddd;
}
.block-md-links-header {
    background-color: #cce6fe;
    border-bottom: 2px solid #007AFF;
    display: flex;
    align-items: center;
    padding-left: 35px;
    border-radius: 20px 20px 0 0;
    height: 80px;
    margin-bottom: 20px;
}
.block-md-links-header h2 {
    font-size: calc(1rem + 1vw);
    color: #003e81;
    margin-right: 10px;
}
.block-md-links-header svg {
    width: 48px;
    height: 48px;
    color: #003e81;
    top: 1px;
}
.faq-item:last-child {
    padding-bottom: 15px;
}
.block-md-links h1 {
    font-size: calc(1rem + .3vw);
    color: #003e81;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
}
.block-md-links p {
    font-size: calc(.5rem + .5vw);
    color: #808080;
    margin-bottom: 15px;
    padding-left: 5px;
}
.block-md-links ul {
    margin-left: 25px;
    margin-top: 10px;
    margin-bottom: 15px;
}
.block-md-links li {
    color: #666;
}
.title-links {
    width: 100%;
    margin-bottom: 10px;
    padding: 8px;
    border-radius: 3px;
    padding: 1px 35px;
    display: flex;
    justify-content: space-between;
}
    .title-links svg {
    top: 1;
    color: #E82426;
}
    .title-faq svg {
    top: 1;
    color: #003e81;
}
.title-links:hover {
    background-color: #eff7ff;
    cursor: pointer;
}
.content-links {
    width: 100%;
    padding: 0px 35px;
}
.line-links {
    width: 100%;
    border-top: 2px solid #cce6fe;
    margin-top: 3px;
    margin-bottom: 10px;
}
.expand-on {
    display: block;
}
.expand-off {
    display: none;
}
.cta-button {
    background-color: #003e81;
    color: #fff;
    padding: 40px;
    text-align: center;
    border-radius: 20px;
    cursor: pointer;
}
.cta-button:hover {
    background-color: #007AFF;
}
.cta-button h2 {
    font-size: calc(1rem + .8vw);
}
.show-desktop {
    display: block;
}
.show-mobile {
    display: none;
}
.social-footer {
    background-color: #fff;
    display: flex;
    align-items: center;
    align-content: center;
    padding: 8px 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    cursor: pointer;
}
.social-footer:hover {
    background-color: #EFF7FF;
}
.internal-page-top-margin {
    margin-top: 220px;
}
.page-content h1 {
    color: #007AFF;
    font-size: calc(1rem + 2vw);
    line-height: 1;
}
.page-content p {
    color: #003E82;
    font-size: calc(1rem + .9vw);
    margin-top: 20px;
}
.page-content p b {
    font-weight: 700;
}
.page-content img {
    margin-bottom: 60px;
    object-fit: cover;
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 20px;
}
.fn-card-services {
    margin-bottom: 20px;
}
.fn-card-services:last-child {
    margin-right: 2%;
}
.page-text-block p {
    color: #003E82;
    font-size: calc(1rem + 1vw);
    width: 90%;
    text-align: center;
    margin: auto;
    margin-bottom: 50px;
}
.column-content ul {
    margin-top: 30px;
}
.column-content li {
    padding: 10px 0;
    border-top: 1px solid #cce6fe;
    color: #003E82;
    font-size: calc(.7rem + .4vw);
    font-weight: 600;
}
.column-content li:last-child {
    border-bottom: 1px solid #cce6fe;
}
.language-block {
    display: flex;
    justify-content: flex-end;
    margin-right: 5px;
}
.language-block ul {
    display: inline-flex;
    list-style: none;
    list-style-type: none;
}
.language-block li {
    margin-left: 15px;
}
.language-block img {
    position: relative;
    top: 2px;
    cursor: pointer;
}
.language-block img:hover {
    filter: brightness(.5);
}
.notification-block {
    display: flex;
    justify-content: flex-start;
    margin-left: 5px;
}
.notification-block span {
    font-size: 14px;
    color: #003e81;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}
#top-notification{
    display:inline-block;
    transition:opacity .3s ease;
    opacity:1;
}

#top-notification.fade{
    opacity:0;
}
.fn-card i {
    font-style: normal;
    color: #007aff;
}
.privacy-content h2 {
    color: #003e83;
    font-size: calc(1rem + .8vw);
    line-height: 1;
    margin-top: 30px;
}
.privacy-content p {
    font-size: calc(1rem + .5vw);
}


/* --------------------------------------------------------- */

/* CSS media */
@media (max-width: 1920px) {

}
@media (max-width: 1710px) {
.fn-logo {
    width: 240px;
}
}
@media (max-width: 1640px) {
.fn-logo {
    width: 320px;
}
}

@media (max-width: 1600px) {

}

/* Macbook Pro */
@media (max-width: 1440px) {
.block-hero {
    padding-left: 100px;
}
}

/* iPad Pro */
@media (max-width: 1366px) {

}   

@media (max-width: 1280px) {
        .page-content img {
    height: 300px;
}

}

@media (max-width: 1024px) {
    .page-padding {
    padding-left: 40px;
    padding-right: 40px;
}
.hero-section {
    height: 75vh;
    flex-wrap: wrap;
    align-content: center;
}
.block-hero {
    padding-left: 0;
    text-align: center;
}
.block-hero h1 {
    font-size: calc(2rem + 3vw);
}
.block-hero h1 i {
    font-size: calc(3rem + 3vw);
}
.hero-image img {
    width: 40%;
}
.column-content {
    margin-bottom: 50px;
}
.column-content p {
    width: 100%;
}
.column-image {
    justify-content: center;
}
.fn-card {
    margin-bottom: 20px;
    width: 48%;
}
.fn-card:nth-child(2) {
    margin-right: 0;
}
.fn-card:last-child {
    margin-bottom: 0;
}
.fn-card-down {
    top: initial;
}
.fn-card-services:last-child {
    margin-bottom: 20px;
}
    .fn-card-services:nth-child(2) {
        margin-right: 2%;
    }
    .block-flip img {
    margin-right: 0;
}

}

@media (max-width: 1080px) {

}

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

@media (max-width: 768px) {
    .footer-container {
    height: auto;
    flex-wrap: wrap;
}
.footer-links {
    width: 100%;
}
.footer-address {
    padding: initial;
    margin-right: initial;
    width: 100%;
}
.show-desktop {
    display: none;
}
.show-mobile {
    display: block;
}

}

@media (max-width: 640px) {
    .fn-logo {
    width: 240px;
}
    .fn-header {
    padding-left: 25px;
    padding-right: 25px;;
}
    .block-hero {
    width: 80%;
    padding-left: 0;
    margin: auto;
    text-align: center;
}
    .block-hero h1 {
    margin-top: 20%;
}
    .fn-button {
    position: initial;
    margin: auto;
    margin-top: 50px;
}
    .block-md-links-header {
    padding-left: 25px;
}
    .title-links {
    padding: 8px 25px;
}
    .content-links {
    padding: 0px 25px;
}
    .fn-card {
        margin-bottom: 20px;
        width: 100%;
        margin-right: 0;
    }
    .customers-content p {
    width: 90%;
}
    .customers-content p.review-wide,
    .customers-content p.review-full {
    width: 96%;
}
.fn-card p {
    font-size: calc(.6rem + 1vw);
}
.block-md-links p {
    font-size: calc(.6rem + 1vw);
}
.fn-card h3 {
    font-size: calc(1rem + 1vw);
}
.internal-page-top-margin {
    margin-top: 180px;
}
.fn-card-services:last-child {
    margin-right: 0;
}
    .fn-card-services:nth-child(2) {
        margin-right: 0;
    }
 
}

@media (max-width: 480px) {
    .fn-logo {
    width: 200px;
  } 
      .page-padding {
        padding-left: 20px;
        padding-right: 20px;
    }

}

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

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