/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.00
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/
/*******************************/
/*  START :: Global Variables  */
/*******************************/
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@500&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {
    /* COLORS */
    --black: #000;
    --white: #FFF;
    
    --tabiya-green: #00FF91;
    --Tabiya-Green: var(--tabiya-green);

    --tabiya-gray: #F8F5F0;
    --Tabiya-Grey: var(--tabiya-gray);
    --Tabiya-Grey-1: var(--tabiya-gray);

    --soft-green:  #E4F8E2;
    --Light-Green: var(--soft-green);

    --tabiya-green-2: #26B87D;
    --Tabiya-Green-3: var(--tabiya-green-2);

    --tabiya-green-3: #247066;

    --oxford-blue: #002147;
    --Oxford-Blue: var(--oxford-blue);
    --Tabiya-Blue: var(--oxford-blue);
    
    
    /* FONTS */
    --font-primary: "DM Sans", sans-serif;
    --font-secondary: "DM Mono", monospace;

    /* ICONS */
    --arrow: url(/wp-content/uploads/arrow.svg);
    --icon-mail: url(/wp-content/uploads/icon-envelope.svg);
    --icon-github-btn: url(/wp-content/uploads/icon-github-btn.svg);
    --icon-github: url(/wp-content/uploads/icon-github.svg);
    --icon-bluesky: url(/wp-content/uploads/icon-bluesky.svg);
    --icon-linkedin: url(/wp-content/uploads/icon-linkedin.svg);   
    --icon-down-arrow: url(/wp-content/uploads/icon-down-arrow.svg);   

    /* Subtracts --scrollbarWidth (set via main.js) from 100vw, 
    to fix 100vw overflow bug (affecting all browsers but Firefox) */
    --viewportWidth: calc(100vw - var(--scrollbarWidth, 0));
}

/* Shortcodes */
.maxwidth500 {max-width:500px;}
.maxwidth615 {max-width:615px;}
.maxwidth800 {max-width:800px;}
.maxwidth1000 {max-width:1000px;}
.maxwidth1200 {max-width:1200px;}
.marginauto {margin-left: auto; margin-right: auto; float: none;}
/* if class added to row, apply to same wrap where padding is applied  */
body:not(.fl-builder-edit) .height100vh.fl-row > .fl-row-content-wrap {
    max-height: 100%;
    min-height: 100vh; /* fallback for firefox */ 
    min-height: 100lvh; /* on iphone, height won't jump with dynamic addressbar */
    height: auto;
}
/* if class not added to row, apply directly to element */
body:not(.fl-builder-edit) .height100vh:not(.fl-row) {
    max-height: 100%;
    min-height: 100vh; /* fallback for firefox */
    min-height:100lvh; /* on iphone, height won't jump with dynamic addressbar */
    height: auto;
}

/******************************/
/*  END  :: Global Variables  */
/******************************/
/************************************/
/*  START :: BB Editor & Assistant  */
/************************************/

/* hide Assistant Pro plugin floating pencil icon  */
.fl-asst-plugin {
    /* display: none; */
}
/* add space so first row can be edited, controls aren't hidden behind nav */
.fl-builder-edit .fl-builder-content {
    padding-top: 145px;
}
/* remove strange 4px inset of editor overlay */
.fl-builder-edit .fl-inline-editor {
    bottom: -4px;
    left: -4px;
    right: -4px;
}
/* reset BB edit overlay so actions panels are at correct position */
.fl-builder-edit .fl-drop-target,
.fl-builder-edit .fl-block-overlay,
.fl-builder-edit .fl-inline-editor {
    background-color: transparent !important;
    margin-top: 0;
    padding-top: 0;
}
/* prevent BB from changing color of action icons in BB overlay when colors of parent columns are set */
.fl-builder-edit .fl-block-overlay-actions svg path,
.fl-builder-edit .fl-block-overlay-actions i {
    color: #fff !important;
}
/************************************/
/*  END   :: BB Editor & Assistant  */
/************************************/
/*********************************/
/*  START :: Framework Settings  */
/*********************************/
html, body { 
    color: var(--Tabiya-Blue);
    font-family: var(--font-primary);
    font-size: inherit; /* to reset to browser default of 16px for accessibility */
    font-style: normal;
    font-weight: 500;
    overflow-x: hidden;
}
.fl-page-content {
    overflow-x: hidden;
    overflow-y: hidden; /* removes scroll on blog page, is this affecting any other issues? */
}
.fl-row:not(.nopadding) >.fl-row-content-wrap >.fl-row-content {
    padding-left: 70px;
    padding-right: 70px;
}
/* sets padding default for all rows, can be overridden individually in BB */
.fl-row > div {
    padding-top: 66px;
    padding-bottom: 66px; 
}
/* sets margin default for all rich text, can be overridden individually in BB */
.fl-module-rich-text > div, /* old bb markup */
.fl-module-rich-text:not(:has( > div))/* new bb markup */,
.fl-builder-edit .fl-module-rich-text:not(:has( > div:not(.fl-module-overlay)))/* prevents buggy margin jump when in editor */ {
    margin-top: 26px;
}
/* sets margin default for all buttons, can be overridden individually in BB */
.fl-module-button > div, /* old bb markup */
.fl-module-button:not(:has( > div)), /* new bb markup */
.fl-builder-edit .fl-module-button:not(:has( > div:not(.fl-module-overlay))), /* prevents buggy margin jump when in editor */
.fl-module-button-group:not(.anchorlinks) > div {
    margin-top: 36px;
}
/* sets padding default for all buttons in button groups, can be overridden individually in BB */
.fl-module-button-group .fl-button-group-buttons > div {
    padding-top: 36px; /* "Button Spacing" in BB button groups uses padding instead of margin */
}
/* resets padding default for first button in button groups */
.fl-module-button-group .fl-button-group-buttons > div:first-of-type {
    padding-top: 0; /* "Button Spacing" in BB button groups uses padding instead of margin */
}
/* resets margin default for all button groups, since padding is handled by each button in group */
div:first-of-type.fl-module-button-group > div {
    margin-top: 0;
}
p + p, p + ul, p + ol,
ul + p, ul + ul, ul + ol,
ol + p, ol + ul, ol + ol { 
    margin-top: 30px; 
}

img { user-select: none; }

/* BB "LARGE" DESKTOP, only */
@media only screen and (min-width: 992px) and (max-width: 1366px) {
    .fl-row:not(.nopadding) > .fl-row-content-wrap > .fl-row-content {
        padding-left: 60px;
        padding-right: 60px;
    }
}
/* TABLET, and down */
@media only screen and (max-width: 992px) {
    .fl-row:not(.nopadding) >.fl-row-content-wrap >.fl-row-content {
         padding-left: 36px;
         padding-right: 36px;
    }
    /* sets padding default for all rows, can be overridden individually in BB */
    .fl-row > div {
        padding-top: 44px;
        padding-bottom: 44px; 
    }
}
/* MOBILE, only */
@media only screen and (max-width: 768px) {
    .fl-row:not(.nopadding) >.fl-row-content-wrap >.fl-row-content {
         padding-left: 18px;
         padding-right: 18px;
    }
    /* sets padding default for all rows, can be overridden individually in BB */
    .fl-row > div {
        padding-top: 36px;
        padding-bottom: 36px; 
    }
    /* sets margin default for all rich text, can be overridden individually in BB */
    .fl-module-rich-text > div {
        margin-top: 16px;
    }
}
/*********************************/
/*  END   :: Framework Settings  */
/*********************************/

/*************************/
/*  START :: Typography  */
/*************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    color: var(--oxford-blue);   
    margin-top: 0px;
    margin-bottom: 0px;
    text-wrap: balance;
}
h1, .h1, .h1 p, .h1 .fl-heading {
    font-family: var(--font-primary);
    font-size: 100px;
    font-size: 6.25rem;
    font-weight: 600;
    /* letter-spacing: -2px;
    letter-spacing: -0.13rem; */
    line-height: 109px; /* 109% */
    line-height: 6.81rem; /* 109% */
    letter-spacing: 0.05em;
}
h2, .h2, .h2 p, .h2 .fl-heading {
    font-family: var(--font-primary);
    font-size: 62px;
    font-size: 3.88rem;
    font-weight: 600;
    line-height: 67px; /* 104.688% */
    line-height: 4.19rem; /* 104.688% */
    /* letter-spacing: -1.28px;
    letter-spacing: -0.08rem; */
}
h2.subhead {
    font-family: var(--font-secondary);
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 28px;
    line-height: 1.75rem;
    /* letter-spacing: -0.48px;
    letter-spacing: -0.03rem; */
    margin-bottom: 26px;
}
h3, .h3, .h3 p, .h3 .fl-heading {
    font-family: var(--font-primary);
    font-size: 38px;
    font-size: 2.38rem;
    font-weight: 600;
    line-height: 47px; /* 123.684% */
    line-height: 2.94rem; /* 123.684% */
    /* letter-spacing: -0.64px;
    letter-spacing: -0.04rem; */
}
h4, .h4, .h4 p, .h4 .fl-heading,
h5, .h5, .h5 p, .h5 .fl-heading {
    font-family: var(--font-primary);
    font-size: 26px;
    font-size: 1.63rem;
    font-weight: 600;
    line-height: 36px; /* 138.462% */
    line-height: 2.38rem; /* 138.462% */
    letter-spacing: -0.56px;
    letter-spacing: -0.04rem;
}
p, .p, ul, ol {
    font-family: var(--font-primary);
    font-size: 18px;
    font-size: 1.13rem;
    font-weight: 400;
    line-height: 28px; /* 155.556% */
    line-height: 1.75rem; /* 155.556% */
    margin: 0;
}
.large, p.large, p .large, .large p,
.large ol, ol.large, .large ul, ul.large {
    font-size: 21px;
    font-size: 1.31rem;
    line-height: 31px; /* 147.619% */
    line-height: 1.94rem; /* 147.619% */
}
.small, p.small, p .small, .small p,
.small ol, ol.small, .small ul, ul.small {
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px; /* 162.5% */
    line-height: 1.63rem; /* 162.5% */
}
blockquote {
    padding: 0;
    margin: 0;
    border: 0;
}
blockquote + p {
    margin-top: 26px;
}
blockquote p {
    font-family: var(--font-primary);
    font-size: 30px;
    font-size: 1.88rem;
    font-weight: 600;
    line-height: 44px; /* 146.667% */
    line-height: 2.75rem; /* 146.667% */
}
ul, ol {
    padding-inline-start: 21px;
}
ul { list-style-type: disc; }
ul ul { list-style-type: circle; }
ol { list-style-type: decimal; }
ol ol { list-style-type: lower-alpha; }
/* any list inside a list */
:is(ul,ol) :is(ul,ol) { margin: 10px 0; }

.photo-credit p,
span.photo-credit {
    font-size: 14px;
    font-size: 0.88rem;
    line-height: 24px;
    line-height: 1.5rem;
}

/* branded styling for selected text in the browser */
::selection { 
    background-color: var(--tabiya-green);
    color: var(--oxford-blue);
}

/* TABLET, and down */
@media only screen and (max-width: 992px) {
    h1, .h1, .h1 p, .h1 .fl-heading {
        font-size: 66px;
        font-size: 4.13rem;
        line-height: 70px; /* 106.061% */
        line-height: 4.38rem; /* 106.061% */
    }
    h2, .h2, .h2 p, .h2 .fl-heading {
        font-size: 52px;
        font-size: 3.25rem;
        line-height: 58px; /* 111.538% */
        line-height: 3.63rem; /* 111.538% */
    }
    /* h3, .h3, .h3 p, .h3 .fl-heading {
        font-size: 36px;
        font-size: 2.25rem;
        line-height: 44px; /* 122.222% */
        /* line-height: 2.75rem; /* 122.222% */
    /* } */ 
    .large, p.large, p .large, .large p,
    .large ol, ol.large, .large ul, ul.large {
        line-height: 33px; /* 157.143% */
        line-height: 2.06rem; /* 157.143% */
    }
    blockquote p {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 35px; /* 145.833% */
        line-height: 2.19rem; /* 145.833% */
    }
}
/* MOBILE, only */
@media only screen and (max-width: 768px) {
    h1, .h1, .h1 p, .h1 .fl-heading {
        font-size: 50px;
        font-size: 3.13rem;
        line-height: 59px; /* 118% */
        line-height: 3.69rem; /* 118% */
    }
    h2, .h2, .h2 p, .h2 .fl-heading {
        font-size: 33px;
        font-size: 2.06rem;
        line-height: 44px; /* 133.333% */
        line-height: 2.75rem; /* 133.333% */
    }
    h2.subhead  {
        font-size: 22px;
        font-size: 1.38rem;
        line-height: 29px; /* 131.818% */
        line-height: 1.81rem; /* 131.818% */
        margin-bottom: 16px;
    }
    /* h3, .h3, .h3 p, .h3 .fl-heading {
        font-size: 28px;
        font-size: 1.75rem;
        line-height: 36px; /* 128.571% */
        /* line-height: 2.25rem; /* 128.571% */
    /* } */ 
    h4, .h4, .h4 p, .h4 .fl-heading,
    h5, .h5, .h5 p, .h5 .fl-heading  {
        font-size: 23px;
        font-size: 1.44rem;
        line-height: 31px; /* 134.783% */
        line-height: 1.94rem; /* 134.783% */
    }
    .large, p.large, p .large, .large p,
    .large ol, ol.large, .large ul, ul.large {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 31px; /* 155% */
        line-height: 1.94rem; /* 155% */
    }
    blockquote + p {
        margin-top: 36px;
    }
    blockquote p {
        font-size: 22px;
        font-size: 1.38rem;
        line-height: 31px; /* 140.909% */
        line-height: 1.94rem; /* 140.909% */
    }
}
/*************************/
/*  END   :: Typography  */
/*************************/

/******************************/
/*  START :: Buttons & Links  */
/******************************/
/*
    Classes are added to the button modules:
        .buttonlink     .noarrow
        .arrow_right
        .arrow_down
        .arrow_dark 
        .arrow_light
        .icon_left
        .icon_dark
        .icon_github
        .icon_mail  
*/

/* START :: resets bb-theme skin */
a, a:hover, a:focus { 
    color: currentColor; 
    text-decoration: none;
}
a.fl-button *, a.fl-button:visited * {
    color: inherit;
}
a.fl-button:hover, 
.fl-builder-content a.fl-button:hover {
    background-color: var(--tabiya-green);
}
/* END   :: resets bb-theme skin */

p a, 
cite a,
ol a:not(.buttonlink), 
ul a:not(.buttonlink) {
    color: currentColor;
    position: relative;
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 100% 1px;
    transition: background-size 250ms ease-in-out;
    display:inline;
    font-weight:600;
}
cite a {
    font-weight: 400;
}
p cite a:hover,
p a:hover, 
ol a:not(.buttonlink):hover, 
ul a:not(.buttonlink):hover {
    color: currentColor;
    text-decoration: none;
    animation: 0.25s underline;
}

@keyframes underline {
    from {background-size: 0% 1px;}
    to {background-size: 100% 1px;}
}

.fl-builder-content .fl-module-button a.fl-button,
.fl-builder-content .fl-module-button-group a.fl-button,
div.wpforms-container button.wpforms-submit,
.button-branded {
    font-family:var(--font-primary);
    font-size: 18px;
    font-size: 1.13rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.fl-module-button a.fl-button::after,
.fl-module-button a.fl-button,
.fl-module-button a.fl-button span,
div.wpforms-container button.wpforms-submit {
    transition: all .25s ease;
}

.fl-module-button:not(.buttonlink, .social) a.fl-button,
.tab-cta-button:not(.buttonlink .social) a.fl-button,
div.wpforms-container .wpforms-form button.wpforms-submit,
a.button-branded {
    align-items: center;
    /* background-color: var(--Tabiya-Green);
    border: 1px solid var(--Tabiya-Green); */
    color: var(--Oxford-Blue);
    display: inline-flex;
    gap: 12px;
    padding: 20px 40px;
    border-radius: 50px;
    transition: all .25s ease;
}
a.fl-button span {
    /* inherit color from a.fl-button */
    color: inherit;
}
a.uabb-creative-button {transition: all .25s ease;}
.fl-module-button:not(.arrowlink):not(.buttonlink) a.fl-button:hover,
.tab-cta-button:not(.arrowlink):not(.buttonlink) a.fl-button:hover,
a.uabb-creative-button:hover,
div.wpforms-container button.wpforms-submit:hover,
a.button-branded:hover {
    transform: scale(1.05);
}

/* buttonlink w icons (like arrow right) */
.fl-builder-content .buttonlink a.fl-button,
.fl-builder-content a.buttonlink {
    /* gap: 12px; */
    align-items: center;
    animation: 0.25s underline;
    background-color: inherit;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: calc(100% - 12px) 1px; /* remove from border, the 12px padding for the arrow's movement */
    border-radius: 0;
    border: none;
    display: inline-flex;
    padding: 0 0 2px;
    transition: background-size 250ms ease;
}

.fl-builder-content .buttonlink.arrow_right a.fl-button,
.fl-builder-content a.buttonlink.arrow_right {
    background-position: bottom left;
    padding-right: 24px; /* apply padding as far as the arrow goes, to avoid glitchiness on hover */
}
.fl-builder-content .buttonlink.arrow_right a.fl-button:hover,
.fl-builder-content a.buttonlink.arrow_right:hover {
    background-size: 100% 1px; /* remove from border, the 12px padding for the arrow's movement */
}
.fl-builder-content .buttonlink.arrow_left a.fl-button,
.fl-builder-content a.buttonlink.arrow_left {
    background-position: bottom right;
    padding-left: 24px; /* apply padding as far as the arrow goes, to avoid glitchiness on hover */
    margin-left: -12px; /* realign with container */
    
}
.fl-builder-content .buttonlink a.fl-button span {
    display: inline-block;
}

.buttonlink .fl-button-wrap,
.arrowlink .fl-button-wrap {
    line-height: 0; /* removes odd extra gap below a */
}

a.buttonlink {
    font-size: 19px;
    font-size: 1.19rem;
    line-height: normal;
    font-weight: 600;
}
a.buttonlink:hover {
    text-decoration: none;
}
.buttonlink.arrow_dark {
    color: var(--Tabiya-Blue);
}
.buttonlink.arrow_light {
    color: var(--Tabiya-Grey);
}

a.arrow_left::before,
a.icon_left::before,
a.arrow_right::after,
button.arrow_left::before,
button.icon_left::before,
button.arrow_right::after,
.arrow_left a.fl-button::before,
.icon_left a.fl-button::before,
.arrow_right a.fl-button::after {   
    content:"";
    background-size:contain;
    background-repeat:no-repeat;
    height: 13px; /* px won't scale, but rem is glitchy when button is scaled on hover */
    /* height: 0.79rem; */
    position: relative;
    /* top: 5px;
    top: 0.31rem; */
    transition: all .25s ease;
    width: 17px;
    /* width: 1rem; */
    display: inline-flex;
    transform: translateX(0px);
}



a.buttonlink.arrow_right::after,
.buttonlink.arrow_right:not(.noarrow) a.fl-button::after {
    transform: translateX(12px);
}

a.buttonlink.arrow_left::before,
.buttonlink.arrow_left:not(.noarrow) a.fl-button::before {
    transform: scalex(-1) translateX(12px);
}

a.buttonlink.arrow_right:not(.noarrow):hover::after,
.buttonlink.arrow_right:not(.noarrow) a.fl-button:hover::after {
    transform: translateX(24px);
}

a.buttonlink.arrow_left:not(.noarrow):hover::before,
.buttonlink.arrow_left:not(.noarrow) a.fl-button:hover::before {
    transform: scalex(-1) translateX(24px);
}

a.arrow_left::before,
.arrow_left a.fl-button::before,
.icon_left a.fl-button::before {
    float: left;
    /* margin-right: 12px; */
    /* margin-right: 0.75rem; */
    background-color: currentColor;
    -webkit-mask: var(--arrow) no-repeat 0% 0%;
    mask: var(--arrow) no-repeat 0% 0%;
    -webkit-mask-size: cover;
    mask-size: cover;
}

a.arrow_left::before,
.arrow_left a.fl-button::before {
    transform: scalex(-1);
}

a.arrow_right::after,
button.arrow_right::after,
.arrow_right a.fl-button::after {
    float: right;
    /* margin-left: 12px;
    margin-left: .75rem; */
    background-color: currentColor;
    -webkit-mask: var(--arrow) no-repeat 0% 0%;
    mask: var(--arrow) no-repeat 0% 0%;
    -webkit-mask-size: cover;
    mask-size: cover;
}

a.arrow_down::after,
button.arrow_down::after,
.arrow_down a.fl-button::after {
    transform: rotate(90deg);
}


a.icon_left::before,
button.icon_left::before,
.icon_left a.fl-button::before {
    background-color: currentColor;
    -webkit-mask-size: cover;
    mask-size: cover;
}
a.icon_right::after,
button.icon_right::after,
.icon_right a.fl-button::after {
    background-color: currentColor;
    -webkit-mask-size: cover;
    mask-size: cover;
}

a.icon_left.icon_github::before,
button.icon_left.icon_github::before,
.icon_left.icon_github a.fl-button::before {
    height: 18px;
    -webkit-mask: var(--icon-github-btn) no-repeat 0% 0%;
    mask: var(--icon-github-btn) no-repeat 0% 0%;
    -webkit-mask-size: cover;
    mask-size: cover;
    width: 18px;
}
a.icon_left.icon_mail::before,
button.icon_left.icon_mail::before,
.icon_left.icon_mail a.fl-button::before {
    height: 18px;
    -webkit-mask: var(--icon-mail) no-repeat 0% 0%;
    mask: var(--icon-mail) no-repeat 0% 0%;
    -webkit-mask-size: cover;
    mask-size: cover;
    width: 25px;
}


/* Mobile, only */
@media only screen and (max-width: 768px) {
    /* sets margin default for all buttons, can be overridden individually in BB */
    .fl-module-button > div {
        margin-top: 26px;
    }

    .fl-module-button-group .fl-button-group-buttons > div {
        padding-top: 26px; /* "Button Spacing" in BB button groups uses padding instead of margin */
    }
    .fl-module-button:not(.buttonlink) a.fl-button,
    div.wpforms-container .wpforms-form button.wpforms-submit,
    a.button-branded {
        padding: 13px 26px;
        line-height: normal;
    }
    .fl-module-button-group.arrowlink .fl-button-group-buttons {
        flex-direction: column;
        justify-content: flex-start;
    }
    .fl-builder-content .arrowlink .fl-button-group .fl-button-group-buttons .fl-button-group-button:not(:last-of-type) {
        padding-bottom: 16px;
    }
    .fl-module-button-group.arrowlink .fl-button-group-button:not(:first-of-type) {
        transform: translateX(0px);
    }
}

/******************************/
/*  END   :: Buttons & Links  */
/******************************/
/************************************/
/*  START  :: Border Bottom Radius  */
/************************************/
body:not(.fl-builder-edit) .border-bottom-radius {
    border-radius: 0 0 30px 30px !important;
    margin-bottom: -30px !important;
    overflow: hidden;
    position: relative;
    z-index: 30;
}
/* not on home page, lower z-index for each subsequent row with a border-bottom-radius  */
body:not(.fl-builder-edit) .border-bottom-radius + .border-bottom-radius {
    z-index: 20;
}
body:not(.fl-builder-edit) .border-bottom-radius + .border-bottom-radius + .border-bottom-radius{
    z-index: 10;
}
/* on home page, z-index set by specific row */
.home .row--hero-area.border-bottom-radius {z-index: 70 !important;}
.home .row--box-steps {z-index: 65 !important;}
.home .row--partnership {z-index: 65; position: relative; margin-top: -1px;}
.home .marquee.border-bottom-radius {z-index: 60; margin-top: -1px;}
.home .row--technologies.border-bottom-radius {z-index: 50 !important;}
.home .fixed_scroll_bg.border-bottom-radius {z-index: 40 !important;}
.home .large-video-row.border-bottom-radius {z-index: 30 !important;}
.home .row--team.border-bottom-radius {z-index: 20 !important;}
.home .post-grid-row.border-bottom-radius {z-index: 10; !important;}
/************************************/
/*  END    :: Border Bottom Radius  */
/************************************/
/****************************/
/*  START  :: Hero Section  */
/****************************/
:root {
    --hero-flourish-1: url(/wp-content/uploads/hero-flourish-1.webp);
    --hero-flourish-2: url(/wp-content/uploads/hero-flourish-2.webp);
    --hero-flourish-3: url(/wp-content/uploads/hero-flourish-3.webp); 
    --gradient-image-frame: url(/wp-content/uploads/gradient-image-frame.svg);
}
body:not(.fl-builder-edit) .assigns--flourishes {
    display: none;
}
.assigns--flourish--img1 {

}
.assigns--flourish--img1 {

}
.assigns--flourish--img1 {

}
body.fl-builder-edit .flourish--img1,
body.fl-builder-edit .flourish--img2,
body.fl-builder-edit .flourish--img3 {
    /* display: none; */
}
h1.hero::before {
    content: normal;
    display: none !important; /* removes gap before first child */
}
h1.hero {
    font-size: 90px;
    font-size: 5.63rem;
    line-height: 139px;
    text-wrap: unset;
    z-index: 2; /* above svgs */
    /* visibility: hidden; */
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 26px;
}
.hero span {
    text-wrap: nowrap;
    height: auto;
}
.hero span.flourish--img1,
.hero span.flourish--img2,
.hero span.flourish--img3 {
    position: relative;
    z-index: -1;

    display: inline-flex;
    width: auto;
    flex-basis: 150px;
}
.hero span.flourish--img1,
.hero span.flourish--img3 {
    padding-right: 150px;
    margin: 0;
    text-wrap: nowrap;
    top: -10px;

    flex-basis: 150px;
    height: 140px;
}
.hero span.flourish--img1 {
    margin-right: 20% !important;
}
.hero span.flourish--img2 {
    height: 145px;
    top: 9px;
}
.hero span.flourish--img1::before,
.hero span.flourish--img3::before{
    content: "";
    position: absolute;
    background-image: var(--gradient-image-frame);     
    background-position: 0 0;
    background-size: cover;
    height: 150px; 
    width: 275px;
    right: 75px; /* half the width of the after image */
    z-index: -1;
}

.hero span.flourish--img1::after,
.hero span.flourish--img2::after,
.hero span.flourish--img3::after {
    content: "";
    background-size: cover;
    display: inline-block;
    height: 150px; 

}
.hero span.flourish--img2::before {
    content: "";
    display: block;
}
.hero span.flourish--img2::after { 
    content: "";
    background-image: var(--hero-flourish-2); 
    width: 241px;
    position: relative;
    vertical-align: text-top;
    margin-bottom: -20px;
    margin-right: 10px;
    margin-top: -5px;
}
.hero span.flourish--img1::after,
.hero span.flourish--img3::after {
    height: 150px; 
    position: absolute;
    right: 0;
    /* top: -10px; */
    z-index: -1;
    margin: 0;
    
}
.hero span.flourish--img1::after { 
    background-image: var(--hero-flourish-1); 
    width: 150px;
}
.hero span.flourish--img3::after { 
    background-image: var(--hero-flourish-3); 
    width: 150px;
}

.hero-text--flourish {
    position: relative;
}
.hero-text--flourish::after {
    display: block;
    position: absolute; 
    content: "";
    background-image: url(/wp-content/uploads/gradient-dot.svg);    
    background-position: 0 0;
    height: 24px;
    width: 84px;
    top: calc(32px + 78px); /* 78px margin top of sibling column, so anchor link aligns */
    right: 16px;
}

.hero-text--flourish::before {
    display: block;
    position: absolute; 
    content: "";
    height: 1px;
    width: calc( var(--viewportWidth) / 2 );
    border-top: 1px solid var(--Tabiya-Green-3);
    top: calc(32px + 12px + 78px); /* top value of ::before + half of ::before's height */ /* 78px margin top of sibling column, so anchor link aligns */
    right: 20px;
}
.hero p {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 36px;
    line-height: 2.25rem;
}
/* START :: home page – hero */
.line--module--hero {
    height: 285px;
    left: calc(50% - (1212px / 2));
    top: 260px;
    max-width: 1212px;
    width: 100%;
    z-index: 0;
}
/* extenders */
.line--helper--hero-top-extender,
.line--helper--hero-middle-extender,
.line--helper--hero-bottom-extender {
    display: none;
}
.line--helper--hero-top {
    height: 2px;
    right: calc(100% - 10px); /* all the way on the left side except for 10px, to bridge the gap between the letter C and the container */
    width: 350px;
}
@keyframes draw-stay-1 {
/* 4 second animation = 25% per second */   
    0% { stroke-dashoffset: 1; }
    25% { stroke-dashoffset: 1; }
    50% { stroke-dashoffset: 2; }
    100% { stroke-dashoffset: 2; }
}
.line--helper--hero-top .line--path-solid {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
body:not(.fl-builder-edit) [data-active="true"] .line--helper--hero-top .line--path-solid {
    animation: draw-stay-1 1s both;
}
.line--svg--hero-solid {
    height: 2px;
    left: calc(0px + 10px); /* all the way on the left side except for 10px, to bridge the gap between the letter C and the container */
    width: 550px;
}
@keyframes draw-stay-2 {
/* 4 second animation = 25% per second */   
    0% { stroke-dashoffset: 1; }
    25% { stroke-dashoffset: 1; }
    90% { stroke-dashoffset: 2; }
    100% { stroke-dashoffset: 2; }
}
.line--svg--hero-solid .line--path-solid {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--hero-solid .line--path-solid {
    animation: draw-stay-2 1.5s both;
}
.line--svg--hero-solid-curve {
    height: 143px;
    width: 841px;
    left: 130px;
    top: .5px;
}
@keyframes draw-stay-3 {
/* 4 second animation = 25% per second */   
    0% { stroke-dashoffset: 1; }
    25% { stroke-dashoffset: 1; }
    100% { stroke-dashoffset: 2; }
}
.line--svg--hero-solid-curve .line--path-solid {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--hero-solid-curve .line--path-solid {
    animation: draw-stay-3 4s both;
}
.line--svg--hero-dotted-left {
    height: 2px;
    right: 100%;
    top: 50%;
    width: 81px;
}
.line--svg--hero-dotted-curve {
    bottom: 0;
    height: 67px;
    left: 104px;
    width: 625px;
}
.line--svg--hero-dotted-right {
    bottom: 0;
    height: 2px;
    /* right: 0; */
    left: 711px;
    width: 501px;
}
.line--module--hero .line--path {
    stroke: var(--tabiya-green-2);
}
.line--helper--hero-middle {
    height: 2px;
    width: 300px;
    right: calc(100% + 79px);
    top: 50%;
}
.line--helper--hero-bottom {
    height: 2px;
    width: 350px;
    bottom: 0;
    left: calc(100% + -5px);
}

body:not(.fl-builder-edit) [data-active="true"] .line--helper--hero-bottom .line--path,
body:not(.fl-builder-edit) [data-active="true"] .line--svg--hero-dotted-right .line--path {
    animation: dash-rev 300ms infinite linear;
}
/* END   :: home page – hero */

/* custom breakpoint, to support svg animation up to 2700px screen size */
@media only screen and (min-width: 1900px){
    /* START :: home page – hero */

    /* non-extenders */
    .line--helper--hero-top,
    .line--helper--hero-middle,
    .line--svg--hero-dotted-left,
    .line--helper--hero-bottom {
        display: none;
    }
    .line--helper--hero-top-extender {
        display: block;
        height: 2px;
        right: 100%;
        width: 740px;  
    }
    .line--helper--hero-middle-extender {
        display: block;
        height: 2px;
        right: 100%;
        top: 50%;
        width: 740px;
    }
    .line--helper--hero-bottom-extender {
        display: block;
        height: 2px;
        width: 740px;
        bottom: 0;
        left: calc(100% + -2px);
    }
    body:not(.fl-builder-edit) [data-active="true"]  .line--helper--hero-bottom-extender .line--path {
        animation: dash-rev 300ms infinite linear;
    }
    /* END   :: home page – hero */
}
/* BB "LARGE" DESKTOP, and down */
@media only screen and (max-width: 1368px){
    /* START :: home page – hero */
    .line--module--hero {
        left: var(--content-padding);
        right: var(--content-padding);
    }
    /* END   :: home page – hero */
}
/* custom breakpoint, for header nav */
@media only screen and (min-width: 993px) and (max-width: 1350px) {
    /* START :: home page – hero */
    .line--module--hero {
        top: 258px;
    }
    /* END   :: home page – hero */
}
/* custom breakpoint, for header nav */
@media only screen and (min-width: 993px) and (max-width: 1063px) {
    /* START :: home page – hero */
    .line--svg--hero-dotted-curve {
        left: 408px;
    }
    .line--svg--hero-dotted-right {
        /* display: none; */
    }
    /* END   :: home page – hero */
}
/* custom breakpoint, for header nav */
@media only screen and (min-width: 993px) and (max-width: 1080px) {

    /* span:first-of-type.flourish--img {
        display: block;
        padding-right: 0;
        margin-right: 0;
    }
    span:first-of-type.flourish--img::after {
        left: 240px;
        top: -5px;
        left: 211px;
    }
    span.flourish--img::after {
        margin-left: 18px;
    } */
}
/* custom breakpoint, to keep hero headline accurate */
@media only screen and (min-width: 1081px) and (max-width: 1200px) {
    .hero span.flourish--img1 {
        margin-right: 5% !important;
      }
}
/* custom breakpoint, to keep hero headline accurate */
@media only screen and (min-width: 769px) and (max-width: 1080px) {
    h1.hero {
        font-size: 60px;
        font-size: 3.75rem;
        max-width: 860px;
        line-height: 92px;
        line-height: 5.75rem;
        gap: 0 20px;
    }
    .hero span.flourish--img1 {
        margin-right: 23% !important;
    }
    .hero span.flourish--img1,
    .hero span.flourish--img3 {
        /* padding-right: 125px; */
        margin: 0 16px 0 0;
        top: -10px;

        padding-right: 0;
        margin: 0;
        flex-basis: 110px;
        height: 75px !important;
    }
    .hero span.flourish--img1::before,
    .hero span.flourish--img3::before {
        height: 110px; 
        width: 252px;
        /* right: 75px; half the width of the after image */
    }
    .hero span.flourish--img1::after,
    .hero span.flourish--img3::after {
        height: 110px;
        width: 110px;
    }
    .hero span.flourish--img2 {
        top: -1px;
        height: 70px;
    }
    .hero span.flourish--img2::after {
        height: 110px;
        margin-right: 0;
        width: 177px;
    }

    /* START :: home page – hero */
    .line--module--hero {
        height: 185px;
        top: 233px;
        width: auto;
    }
    .line--svg--hero-solid {
        left: -115px;
    }
    .line--svg--hero-solid-curve {
        height: 96px;
        left: 160px;
        width: auto;
    }
    .line--svg--hero-dotted-curve {
        left: 70px;
    }
    .line--svg--hero-dotted-right {
        left: 681px;
    }
    body:not(.fl-builder-edit) [data-active="true"]  .line--svg--hero-dotted-right .line--path {
        animation: dash-rev 300ms infinite linear;
    }
    .line--helper--hero-bottom {
        display: none;
    }
    /* END   :: home page – hero */
}
/* custom breakpoint, to keep hero headline accurate */
@media only screen and (min-width: 769px) and (max-width: 900px) {
    h1.hero {
        font-size: 48px;
        font-size: 3rem;
        max-width: 730px;
    }
}
/* MOBILE, only */
@media only screen and (max-width: 768px) {
    h1.hero {
        font-size: 50px;
        font-size: 3.13rem;
        letter-spacing: 0.06em;
        line-height: 75px; /* 150% */
        line-height: 4.69rem; /* 150% */
        /* max-width: 500px; */
        gap: 0 20px;
    }
    /* span:first-of-type.flourish--img {
        padding-right: 104px;
        margin-right: 5px;
    }
    span:first-of-type.flourish--img::before{
        top: -2px;
        height: 79px;
        right: 40px; half the width of the after image
        width: 156px;
    }
    span:first-of-type.flourish--img::after {
        height: 79px;
        width: 195px;
        margin: 0 10px 0 23px;
    }
    span.flourish--img::after {
        height: 79px;
        width: 127px;
        margin: 0 10px -10px 17px;
    }
    span:last-of-type.flourish--img::after {
        display: inline-block;
        height: 79px;
        margin: 0 0 -88px -98px;
        position: relative;
        top: -6px;
        width: 181px;
    } */

    .hero span.flourish--img1 {
        flex-basis: 79px;
        margin-right: 30px !important;
    }
    .hero span.flourish--img1,
    .hero span.flourish--img3 {
        padding-right: 0;
        margin: 0;
        top: 0;
        height: 80px;
    }
    .hero span.flourish--img1::before,
    .hero span.flourish--img3::before{
        height: 79px; 
        width: 195px;
        right: calc(79px / 2); /* half the width of the after image */
    }
    .hero span.flourish--img1::after,
    .hero span.flourish--img3::after {
        height: 79px;
        width: 79px;
    }
    .hero span.flourish--img2 {
        top: 0;
        height: 78px;
        flex-basis: 80px;
    }
    .hero span.flourish--img2::after {
        height: 79px;
        margin: 0 0 -10px 0;
        /* margin: 0 16px; */
        top: -1px;
        width: 127px;
    }
    .hero span.flourish--img3 {
        /* margin-left: 85px; */
    }
    .hero span.flourish--img3::after {
        height: 79px;
        width: 79px;
    }

    .hero p {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 31px;
        line-height: 1.94rem;
        padding-top: 5px;
    } 
    .hero-text--flourish::before,
    .hero-text--flourish::after {
        display: none;
    }
    /* START :: home page – hero */
    .line--module--hero {
        height: 155px;
        top: 139px;
        left: 0;
        right: 0;
    }
    .line--helper--hero-top {
        left: -100px;
        /* right: calc(242px + 147px);
        left: unset; */
    }
    .line--svg--hero-solid {
        
        display: none;
    }
    .line--svg--hero-solid-curve {
        height: 80px;
        /* left: unset;
        right: 147px; */
        left: -120px;
    }
    .line--helper--hero-middle {
        width: 250px;
        left: -150px;
        top: 50%;
    }
    /* .line--helper--hero-middle,
    .line--svg--hero-dotted-left, 
    .line--svg--hero-dotted-curve,
    .line--svg--hero-dotted-right {
        display: none;
    } */
    .line--svg--hero-dotted-curve {
        left: 63px;
    }
    .line--svg--hero-dotted-right {
        left: 666px;
    }
    /* END   :: home page – hero */
}
/* custom breakpoint, to keep hero headline accurate */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .hero span.flourish--img1 {
        margin-right: 20% !important;
    }
}
/* custom breakpoint, smaller than MOBILE, only */
@media only screen and (max-width: 530px) {
    h1.hero {
        font-size: 28px;
        font-size: 1.75rem;
        line-height: 78px;
        line-height: 4.88rem;
    }
    .hero span.flourish--img1 {
        margin-right: 20% !important;  
    }
    span.flourish--img2::after {
        height: 59px;
        margin: -9px 10px -10px 0;
        width: 95px;
    }
    /* span:first-of-type.flourish--img {
        padding-right: 165px;
    }
    span:first-of-type.flourish--img::after {
        margin: 0 63px 0 0;
    }
    span:last-of-type.flourish--img::after {
        display: block;
        margin: 0 0 -88px -18px;
        top: 0;
        width: 181px;
    }  */
    /* START :: firefox fix  */
    .firefox span:first-of-type.flourish--img {
        padding-right: 85px;
    }
    .firefox span:first-of-type.flourish--img::after {
        margin: 0;
    }
    .firefox span:last-of-type.flourish--img {
        padding-right: 10px;
    }
    /* END   :: firefox fix  */
    /* START :: iphone fix  */
    .iphone span:first-of-type.flourish--img {
        padding-right: 0;
    }
    .iphone span:first-of-type.flourish--img::after {
        margin: 0 -87px 0 0;
    }
    .iphone span:last-of-type.flourish--img::after {
        display: block;
        margin: 0 0 -88px -18px;
        top: 0;
        width: 181px;
        z-index: 1;
    }
    /* END :: iphone fix  */  
}
/* custom breakpoint, to keep hero headline accurate */
@media only screen and (min-width: 400px) and (max-width: 530px) {
    .hero span.flourish--img1 {
        margin-right: 50px !important;
    }
}
/* custom breakpoint, to keep hero headline accurate */
@media only screen and (max-width: 400px) {
    .hero span.flourish--img1 {
        margin-right: 0 !important;
    }
}
/****************************/
/*  END    :: Hero Section  */
/****************************/

/**************************/
/*  START  :: What We Do  */
/**************************/

.box-step--wrapper {
    counter-reset: box;
}   
.box-step {
    margin-top: 70px;
    z-index: 2; /* above svg lines */
}
.box-step .fl-module-box {
    position: relative; /* so ::after is positioned relative to box module */
}
.box-step h3::before {
    background-color: var(--Oxford-Blue);
    border-radius: 100px;
    color: var(--white);
    counter-increment: box; /* Increment the value of section counter by 1 */
    content: counter(box) !important;
    display: inline-block !important;
    font-size: 0.6052631579em; /* em so it's relative to h3 */
    font-weight: 700;
    height: 43px;
    line-height: 1.9em;
    margin-right: 8px;
    text-align: center;
    vertical-align: top;
    width: 43px;
}
.box-step h3::after {
    border-left: 2px dotted var(--Oxford-Blue);
    content: "";
    display: inline-block !important;
    height: calc(70px + 36px);
    left: 20px;
    position: absolute;
    bottom: 100%;
}

/* MOBILE, only */
@media only screen and (max-width: 768px) {
    .box-step {
        position: relative; /* so ::after is positioned relative to .box-step for mobile, not box module */
    }
    .box-step .fl-module-box {
        position: unset; /* so ::after is positioned relative to .box-step for mobile, not box module */
    }
    .box-step h3 {
        font-size: 28px;
        font-size: 1.75rem;
        line-height: 44px; 
        line-height: 2.75rem; 
    }
    .box-step h3:before {
        font-size: 23px;
        font-size: 1.44rem;
        line-height: 42px;
        line-height: 2.63rem;
    }
    .box-step h3::after {
        border-left: 2px dotted var(--Oxford-Blue);
        content: "";
        display: inline-block !important;
        height: 26px;
        left: calc(50% - 1px);
        position: absolute;
        bottom: 100%;
    }
}
/**************************/
/*  END    :: What We Do  */
/**************************/

/*******************************************/
/*  START  :: Logo Marquee / Slick Ticker  */
/*******************************************/
body.fl-builder-edit .marquee .fl-module-box {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 36px;
    justify-content: flex-start;
}
.marquee .slick-track {
    align-items: center;
    display: flex;
}
body:not(.fl-builder-edit) .marquee .logo > div {
    padding: 0 150px;
    position: relative;
}
.marquee .logo img {
    height: 72px; 
    max-width: unset;
    width: auto;
}
/* .marquee .logo.google img {
    height: 65px;
    padding-top: 16px; 
}
.marquee .logo.gdi img {
    padding-top: 4px;
}
.marquee .logo.rockefeller img {
    padding-top: 9px;
}
.marquee .logo.mcgovern img {
    height: 110px;
    margin-top: -20px;
    margin-bottom: -30px;
} */

/* MOBILE, only */
@media only screen and (max-width: 768px) {
    body:not(.fl-builder-edit) .marquee .logo > div {
        padding: 0 48px;
    }
    .marquee .logo img {
        height: 40px; 
    }
}
/*******************************************/
/*  END    :: Logo Marquee / Slick Ticker  */
/*******************************************/
/***********************************************/
/*  START :: Full Width Image + Parallax Card  */
/***********************************************/

/* Fixed Scrolling Background */
.fixed_scrolling_card_wrapper {
    box-shadow:0px 0px 20px rgba(0,0,0,0.1);
    cursor:pointer;
    border-radius: 6px;
    overflow: hidden;
}
.fixed_scrolling_card .fl-col-content {transition:all 3s ease;}
.fixed_scrolling_card {overflow:hidden}
.fixed_scrolling_card_wrapper:hover .fixed_scrolling_card .fl-col-content{
    transform:scale(1.1);
}

/* body:not(.fl-builder-edit) .fl-content-full.container,
body:not(.fl-builder-edit) footer,
body:not(.fl-builder-edit) .fl-row:not(.jumpto_row) {
    position:relative;
    z-index:101;
} */

body:not(.fl-builder-edit) .fl-row.fl-row-bg-none {background-color: var(--white);}

body:not(.fl-builder-edit) .fixed_scroll_bg_NEW {
    background-repeat: no-repeat;
    background-size: cover;
    /* height: 100%; */
    left: 0;
    pointer-events: none; /* so this element doesn't prevent you from clicking on other elements, like blog + contact sections */
    position: fixed;
    top: 0;
    transition:all 1s ease;
    width: 100%;
    z-index: 0;

    max-height: 100%;
    min-height: 100vh; /* fallback for firefox */ 
    min-height: 100lvh; /* on iphone, height won't jump with dynamic addressbar */
    height: auto;
}

body:not(.fl-builder-edit) .fl-row-content-wrap {
    position:relative;
    /* z-index:1; */
}

body:not(.fl-builder-edit) .fixed_scroll_bg {
    position:relative;
    /* z-index:101; */
    margin-bottom: 0 !important;
}

body:not(.fl-builder-edit) .fixed_scroll_bg .fl-row-content-wrap:after {
    visibility: hidden; /* turn off original image background color overlay */
}

/* styles new image background color overlays */
body:not(.fl-builder-edit) .fixed_scroll_bg_NEW:after { 
    content: '';
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    //background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 74.82%); 
}

/* only visible if parent is active */
body:not(.fl-builder-edit) .fixed_scroll_bg_NEW[data-active="true"]:after {
    display: block;
}

/* .fixed_scroll_card{
    max-width: 650px;
} */

/* TABLET, and down */
@media only screen and (max-width: 992px) {
    /* .fixed_scroll_bg .parallax_col {
        width: 74.5%;
    } */
}

/***********************************************/
/*  END   :: Full Width Image + Parallax Card  */
/***********************************************/
/*******************/
/*  START :: Tabs  */
/*******************/

.row--technologies .fl-tabs-labels {
    display: flex;
}
.row--technologies .fl-tabs-label {
    background-color: transparent;
    border-radius: 30px;
    border: 1px solid transparent !important;
    color: var(--white);
    flex-basis: 25%;
    font-size: 26px;
    font-size: 1.63rem;
    font-style: normal;
    font-weight: 600;
    line-height: 36px; /* 138.462% */
    line-height: 2.25rem; /* 138.462% */
    margin-bottom: 16px;
    padding: 18px 16px;
    position: relative;
    text-align: center;
    transition: all 0.25s ease;
}
.row--technologies .fl-tabs-labels .fl-tabs-label span, /* tablet & up, uses labels outside of panel */
.row--technologies .fl-tabs-panels .fl-tabs-label span span /* mobile, uses labels inside of panel */ {
    display: block;
    font-size: 18px;
    font-size: 1.13rem;
    font-weight: 400;
    line-height: 28px; /* 155.556% */
    line-height: 1.75rem; /* 155.556% */
}
.row--technologies .fl-tabs-labels .fl-tabs-label span span, /* tablet & up, uses labels outside of panel */
.row--technologies .fl-tabs-panels .fl-tabs-label span span span /* mobile, uses labels inside of panel */ {
    display: inline;
    font-weight: 700;
}
.row--technologies .fl-tabs-horizontal .fl-tabs-labels .fl-tabs-label.fl-tab-active,
.row--technologies .fl-tabs-horizontal .fl-tabs-label.fl-tab-open.fl-tab-active {
    background-color: transparent;
    border: 1px solid var(--Tabiya-Green) !important;
    color: var(--Tabiya-Green);
}
.row--technologies .fl-tabs-panel,
.row--technologies .fl-tabs-panels {
    background: var(--Light-Green);
    border: none;
    margin: 0;
    padding: 0;
}
.row--technologies .fl-tabs .fl-tabs-panel-content {
    display: block;
    opacity: 0;
    height: 0;
    padding:0;
    width: 0;
    visibility: hidden;
    transition: opacity 1.25s ease;
}
.row--technologies .fl-tabs .fl-tabs-panel-content.fl-tab-active {
    display: block;
    opacity: 1;
    visibility: visible;
    height: 100%;
    width: 100%;
    transition: opacity 1.25s ease;
}
.row--technologies .fl-tabs .fl-tabs-panels {
    border-radius: 30px;
    overflow: hidden;
    min-height: initial !important;
}
.row--technologies .pills {
    margin-top: 8px !important;;
}
.row--technologies .pills ul {
    line-height: 1;
    padding-inline-start: 0;
}
.row--technologies .pills li {
    border-radius: 50px; 
    border: 1px solid currentColor !important;
    display: inline-block;
    font-size: 13px;
    font-size: 0.81rem;
    font-weight: 400;
    line-height: normal;
    padding: 11px 16px;
    margin-right: 3px;
    margin-top: 8px;
}
.row--technologies .fl-tabs-panel-content .p {
    /* bb not honouring explicit button styles on global row within tab */
    font-weight: 700;
}
.row--technologies .fl-tabs-panel-content .fl-module-button a {
    /* bb not honouring explicit button styles on global row within tab */
    border: 1px solid var(--tabiya-green);
}
.row--technologies .fl-tabs-panel-content .fl-module-button + .fl-module-button a {
    /* bb not honouring explicit button styles on global row within tab */
    border: 1px solid var(--oxford-blue);
}
.row--technologies .fl-tabs-panel-content .fl-module-button.icon_github a {
    /* bb not honouring explicit button styles on global row within tab */
    background-color: var(--soft-green);
    border: 1px solid var(--oxford-blue);
}

.row--technologies .fl-tabs-horizontal .fl-tabs-label:after{
    background-color: transparent;
    background-image: var(--icon-down-arrow);
    background-repeat:no-repeat;
    background-size: contain;
    bottom: 0;
    content:"";
    display: block;
    height: 21px;
    left: calc(50% - (21px / 2)); /* half minus (half of icon width) */
    opacity: 0;
    position: absolute;
    transform: translateY(0px);
    transition: all 0.25s ease;
    width: 21px;
}
.row--technologies .fl-tabs-horizontal .fl-tabs-labels .fl-tabs-label.fl-tab-active:after,
.row--technologies .fl-tabs-horizontal .fl-tabs-label.fl-tab-open.fl-tab-active:after {
    /* transform:rotate(180deg) translateX(0px); */
    transform: translateY(10px);
    opacity: 1;
}
/* DESKTOP, and up */
@media only screen and (min-width: 992px) {
    .row--technologies .fl-tabs .fl-tabs-panel-content.fl-tab-active.fl-tab-open {
        display: block !important;
    }
}

/* TABLET, and down */
@media only screen and (max-width: 992px) {
    .row--technologies .fl-tabs-labels {
        flex-wrap: wrap;
    }
    .row--technologies .fl-tabs-label {
        flex-basis: 50%;
    }
    .row--technologies .fl-tabs-panel-content .fl-col-small-full-width {
        width: 100%;
    }
    .row--technologies .fl-tabs-panel-content .fl-photo-align-left .fl-photo-img-svg {
        width: 48px;
    }
    .row--technologies .fl-tabs-panel-content .fl-photo-content {
        text-align: center;
    }
}
/* MOBILE, only */
@media only screen and (max-width: 768px) {
    .row--technologies .fl-tabs-labels {
        display: none;
        /* flex-direction: column;
        margin-bottom: 15px; */
    }
    .row--technologies .fl-tabs-label,
    .row--technologies .fl-tabs-label.fl-tab-active {
        border-bottom: 1px solid transparent !important; 
        background: transparent;
        margin-bottom: 0;
        padding: 15px 15px 20px;
    }
    /* .row--technologies .fl-tabs-horizontal .fl-tabs-label.fl-tab-active, */
    .row--technologies .fl-tabs-horizontal .fl-tabs-label.fl-tab-open.fl-tab-active  {
        padding: 15px 15px 20px;
    }
    .row--technologies .fl-tabs-panels > div:last-of-type .fl-tabs-panel-content {
        margin-bottom: 0;
    }
    .row--technologies .fl-tabs-panels .fl-tabs-label i {
        display: none;
    }   
    .row--technologies .fl-tabs-labels .fl-tabs-label > span, /* tablet & up, uses labels outside of panel */
    .row--technologies .fl-tabs-panels .fl-tabs-label > span > span /* mobile, uses labels inside of panel */ {
        font-size: 23px;
        font-size: 1.44rem;
        line-height: 31px; /* 134.783% */
        line-height: 1.94rem; /* 134.783% */
    }
    .row--technologies .fl-tabs-panels .fl-tabs-label span:not(:has(+ i)) {
        display: inline-block;
        width: 100%;
    }
    .row--technologies .fl-tabs-panel, 
    .row--technologies .fl-tabs-panels {
        background: transparent;
    }
    .row--technologies .fl-tabs-panel-label {
        display: flex;
    }
    .row--technologies .fl-tabs .fl-tabs-panel-content {
        border-radius: 30px;
        overflow: hidden;
    }
    .row--technologies .fl-tabs .fl-tabs-panel-content.fl-tab-active {
        height: 0;
        opacity: 0;
        padding: 0;
        transition: opacity 1.25s ease;
        visibility: hidden;
        width: 0;
    }
    .row--technologies .fl-tabs .fl-tabs-panel-content.fl-tab-active.fl-tab-open {
        display: block !important;
        height: 100%;
        margin: 20px 0;
        opacity: 1;
        transition: opacity 1.25s ease;
        visibility: visible;
        width: 100%;
    }
    .row--technologies .fl-tabs .fl-tabs-panel-content .fl-row-content-wrap {
        padding: 26px 18px 0;
    }
    .row--technologies .fl-tabs .fl-tabs-panel-content .fl-module-box:has(.fl-module-photo) {
        align-items: center;
    }
    .row--technologies .fl-tabs .fl-tabs-panel-content h3 {
        font-size: 28px;
        font-size: 1.75rem;
        line-height: 36px; /* 128.571% */
        line-height: 2.25rem; /* 128.571% */
    }
    .row--technologies .fl-tabs .fl-tabs-panel-content .fl-module-rich-text:not(.small) {
        margin-top: 16px;
    }
    .row--technologies .pills {
        display: none;
    }
    /* .row--technologies .pills li {
        margin-bottom: 10px;
    }
    .row--technologies .pills li:last-of-type {
        margin: 0;
    } */
    .row--technologies .fl-tabs .fl-tabs-panel-content .fl-module-box:has(.fl-module-button) {
        flex-direction: column;
    }
}
/*******************/
/*  END   :: Tabs  */
/*******************/

/********************************/
/*  START :: Full Screen Image  */
/********************************/
body:not(.fl-builder-edit) .row--hero-full {
    overflow: hidden;    
}

/********************************/
/*  END   :: Full Screen Image  */
/********************************/

/*************************/
/*  START :: Statistics  */
/*************************/

.stats .fl-number .fl-number-text {text-align: left;}

.stats .fl-number-string {overflow:initial !important}

.stats .fl-number .fl-number-text .fl-number-string,
.stats .fl-number .fl-number-text .fl-number-string span,
.stats .fl-number-after-text,
.stats .fl-number-before-text {
    font-family: var(--font-primary);
    font-size: 70px;
    font-size: 4.38rem;
    font-weight: 600;
    line-height: 70px;
    line-height: 4.38rem;
 
}
.stats .fl-number-string,
.stats .fl-number-after-text,
.stats .fl-number-before-text {
    display: inline;
    margin: 0;
}
.stats .fl-number-before-text {
    /* padding-right: .25em; EM to be relative to the number's font size, not the document's */
}
.stats .fl-number-after-text {
    /* padding-left: .25em; EM to be relative to the number's font size, not the document's */
}
.stats .fl-module-rich-text {
    margin-top: 0;
}

/* TABLET, and down */
@media only screen and (max-width: 992px) {
    .stats .fl-number .fl-number-text .fl-number-string,
    .stats .fl-number .fl-number-text .fl-number-string span,
    .stats .fl-number-after-text,
    .stats .fl-number-before-text {
        font-size: 65px;
        font-size: 4.06rem;
        line-height: 65px;
        line-height: 4.06rem;
    }
}
/* MOBILE, only */
@media only screen and (max-width: 768px) {
    .stats .fl-number .fl-number-text .fl-number-string,
    .stats .fl-number .fl-number-text .fl-number-string span,
    .stats .fl-number-after-text,
    .stats .fl-number-before-text {
        font-size: 60px;
        font-size: 3.75rem;
        line-height: 60px;
        line-height: 3.75rem;
    }
}
/*************************/
/*  END   :: Statistics  */
/*************************/
/**************************************/
/*  START :: Video / Large Container  */
/**************************************/
/********************************/
/*  START :: Video play button  */
/********************************/
button#yt-play-button:before {
    transform: translate(0px,4px);
    content: "";
    width: 20px;
    height: 20px;
    background: url(/wp-content/uploads/button-play.svg) center center / contain no-repeat;
    margin-right: 5px;
    display: inline-block;
}
button#yt-pause-button:before {
    transform: translate(0px,4px);
    content: "";
    width: 20px;
    height: 20px;
    background: url(/wp-content/uploads/button-pause.svg) center center / contain no-repeat;
    margin-right: 5px;
    display: inline-block;
}
button#yt-play-button,
button#yt-pause-button {
    background: transparent;
    border: 0;
    color: white;
    font-family: var(--font-primary);
    font-size: 18px;
    font-size: 1.13rem;
    font-weight: 600;
    cursor: pointer;
    visibility: hidden;
    transform: scale(0);
    transition: all .2s ease;
    padding: 0px;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
}

button#yt-play-button.active,
button#yt-pause-button.active {
    visibility:visible;
    transform:scale(1);
}
.youtube_controls{
    position: absolute;
    z-index: 2;
    bottom: 20px;
    left: 40px;
    margin-left: 0;
    width: unset;
    width: 100%;
    height: 24px;
    left: unset;
    display: flex;
    margin: auto;
    flex-direction: column;
    align-items: center;
    bottom: 0px;
    position: relative;
}
button#yt-play-button, 
button#yt-pause-button{
    left:unset;
}

/********************************/
/*  END   :: Video play button  */
/********************************/

body:not(.fl-builder-edit) .large-video-row{
    padding-top: 72px;
    padding-bottom: 116px;
    padding-left: 70px;
    padding-right: 70px;
    background-color: var(--white);
}
body:not(.fl-builder-edit) .large-video-row > .fl-row-content-wrap{
    border-radius: 30px;
    overflow: hidden;
    max-width: 1226px;
    margin:0 auto;
}
.uabb-modal-title-wrap {
    display: none;
}
@media screen and (max-width: 1366px) {
    body:not(.fl-builder-edit) .large-video-row{
        /* padding-top: 44px;
        padding-bottom: 44px;
        padding-left: 60px;
        padding-right: 60px; */
    }
}
@media only screen and (max-width: 992px) {
    body:not(.fl-builder-edit) .large-video-row{
        /* padding-top: 44px;
        padding-bottom: 26px;
        padding-left: 36px;
        padding-right: 36px; */
    }
}
@media only screen and (max-width: 768px) {
    body:not(.fl-builder-edit) .large-video-row{
        padding-top: 74px;
        padding-bottom: 80px;
        padding-left: 18px;
        padding-right: 18px;
    }
    body:not(.fl-builder-edit) .fl-bg-video{
        border-radius: 30px;
    }
    button#yt-play-button,
    button#yt-pause-button {
        font-size: 0.88rem;
        font-size: 14px;
    }

    /* bug fix for chrome on mobile */
    .chrome .uabb-overlay {
        height: calc(100% + 40px);
    }
}
/**************************************/
/*  END   :: Video / Large Container  */
/**************************************/
/***************************/
/*  START :: Team Collage  */
/***************************/
.threeImgRow .uabb-masonary-item.transformDown:nth-child(3){
transform: translateY(400px);
}
.threeImgRow .uabb-masonary-item.transformUp:nth-child(4){
transform: translateY(-400px);
}
.threeImgRow .uabb-masonary{
    position: relative;
    height:unset!important;
}
.threeImgRow .uabb-masonary-content{
    position: static!important;
    height: auto!important;
    display: block!important;
    width: 100%!important;
}
.threeImgRow .uabb-masonary-item:nth-child(3){
    position: absolute!important;
    left: 0px!important;
    top: 0px!important;
    height: 400px;
    width: auto;
    transform: translate(0, 0);
    transition: transform 0.05s ease-in-out!important;
}
.threeImgRow .uabb-masonary-item:nth-child(3) .uabb-photo-gallery-content,
.threeImgRow .uabb-masonary-item:nth-child(3) .uabb-gallery-img{
    height:400px;
    max-width: 400px;
    margin: auto;
    object-fit: cover;
    border-radius: 30px;
}
.threeImgRow .uabb-masonary-content .uabb-gallery-img{
    display: block;
    border-radius: 30px;
}
.threeImgRow .uabb-masonary-item:nth-child(2){
    position: relative!important;
    left:unset!important;
    top:unset!important;
    margin: 0 auto;
    display: block;
    margin-top: 120px;
    height: 600px;
    margin-bottom: 120px;
}
.threeImgRow .uabb-masonary-item:nth-child(2) .uabb-photo-gallery-content,
.threeImgRow .uabb-masonary-item:nth-child(2) .uabb-gallery-img{
    height:600px;
    max-width: 900px;
    margin: auto;
    object-fit: cover;
    border-radius: 30px;
}
.threeImgRow .uabb-masonary-item:nth-child(4){
    position: absolute!important;
    left: unset!important;
    top: unset!important;
    right: 0px;
    bottom: 0;
    width: auto;
    height: 360px;
    border-radius: 30px;
    transform: translate(0, 0);
    transition: transform 0.05s ease-in-out!important;
}
.threeImgRow .uabb-masonary-item:nth-child(4) .uabb-photo-gallery-content,
.threeImgRow .uabb-masonary-item:nth-child(4) .uabb-gallery-img{
    height:400px;
    max-width: 550px;
    margin: auto;
    object-fit: cover;
    border-radius: 30px;
    object-position: 60%;
}
/*  BB "LARGE" DESKTOP, only  */
@media only screen and (min-width: 992px) and (max-width: 1366px) {
    .threeImgRow .uabb-masonary-item:nth-child(3) .uabb-photo-gallery-content, 
    .threeImgRow .uabb-masonary-item:nth-child(3) .uabb-gallery-img {
        max-width: 260px;
    }
}
/* TABLET, and down */
@media only screen and (max-width: 992px) {
    .threeImgRow .uabb-masonary-item:nth-child(3) .uabb-photo-gallery-content,
    .threeImgRow .uabb-masonary-item:nth-child(4) .uabb-photo-gallery-content,
    .threeImgRow .uabb-masonary-item:nth-child(3) .uabb-gallery-img,
    .threeImgRow .uabb-masonary-item:nth-child(4) .uabb-gallery-img {
        height: 200px;
        max-width: 200px;
    }
}

@media only screen and (max-width: 768px) {
    .threeImgRow .uabb-masonary{
        position: relative;
        height:unset!important;
    }
    .threeImgRow .uabb-masonary-content{
    position: static!important;
    height: auto!important;
    display: block!important;
    width: 100%!important;
    }
    .threeImgRow .uabb-masonary-item:nth-child(3){
    position: absolute!important;
    left: 0px!important;
    top: 10px !important;
    height: 165px;
    width: auto;
    transform: translate(0, 0);
    transition: transform .5s ease-in-out!important;
    }
    .threeImgRow .uabb-masonary-item:nth-child(3) .uabb-photo-gallery-content,
    .threeImgRow .uabb-masonary-item:nth-child(3) .uabb-gallery-img{
    height:200px;
    max-width: 200px;
    margin: auto;
    object-fit: cover;
    border-radius: 30px;
    }
    .threeImgRow .uabb-masonary-content .uabb-gallery-img{
    display: block;
    border-radius: 30px;
    }
    .threeImgRow .uabb-masonary-item:nth-child(2){
    position: relative!important;
    left:unset!important;
    top:unset!important;
    margin: 0 0 0 auto;
    display: block;
    margin-top: 188px;
    height: 240px;
    margin-bottom: 0px;
    }
    .threeImgRow .uabb-masonary-item:nth-child(2) .uabb-photo-gallery-content,
    .threeImgRow .uabb-masonary-item:nth-child(2) .uabb-gallery-img{
    height:240px;
    max-width: 380px;
    margin: 0 0 0 auto;
    object-fit: cover;
    border-radius: 30px;
    }
    .threeImgRow .uabb-masonary-item:nth-child(4){
    position: absolute!important;
    left: unset!important;
    top: 0!important;
    right: 0px;
    bottom: unset;
    width: auto;
    height: 140px;
    border-radius: 30px;
    transform: translate(0, 0);
    transition: transform .5s ease-in-out!important;
    }
    .threeImgRow .uabb-masonary-item:nth-child(4) .uabb-photo-gallery-content,
    .threeImgRow .uabb-masonary-item:nth-child(4) .uabb-gallery-img{
    height:140px;
    max-width: 170px;
    margin: auto;
    object-fit: cover;
    border-radius: 30px;
    }
}
/***************************/
/*  END   :: Team Collage  */
/***************************/
/*************************/
/*  START :: The Latest  */
/*************************/
@media only screen and (max-width: 768px) {
    /* override BB glitch */
    .post-grid-row .fl-button-right.fl-button-left {
        text-align: left !important;
    }
}
/*************************/
/*  END   :: The Latest  */
/*************************/
/*******************************/
/*  START :: 3 Column Contact  */
/*******************************/
.row--3column-contact .fl-photo-content {
    border-radius: 50%;
    width: 76px;
    height: 76px;
}
.row--3column-contact img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}
.row--3column-contact a {
    color: currentColor;
    position: relative;
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 100% 1px;
    transition: background-size 250ms ease-in-out;
    display:inline;
    font-weight: 500;
}

.row--3column-contact a:hover {
    color: currentColor;
    text-decoration: none;
    animation: 0.25s underline;
}

/*******************************/
/*  END   :: 3 Column Contact  */
/*******************************/

/************************/
/*  START :: SVG Lines  */
/************************/
.line--row {
    position: relative !important;
}
.line--module {
    padding: 0 !important;
    position: absolute;
}
.line--svg {
    position: absolute;
}
.line--path {
    fill: none;
    stroke: var(--tabiya-green);
    stroke-dasharray: .1 4;
    stroke-linecap: round;
    stroke-width: 2px;    
}
.line--max-extender {
    display: none;
}
body:not(.fl-builder-edit) [data-active="true"] .line--path {
    animation: dash 300ms infinite linear;
}
@keyframes dash {
    to { stroke-dashoffset: -5; }
}
@keyframes dash-rev {
    to { stroke-dashoffset: 5; }
}

@keyframes draw-rev-stay {
    to { stroke-dashoffset: 0; }
}
@keyframes draw {
    to { stroke-dashoffset: -5; }
}
@keyframes draw-rev {
    to { stroke-dashoffset: 5; }
}
@keyframes draw--old {
    from {
        stroke-dashoffset: 1;
    }
    to {
        stroke-dashoffset: 0.5;
    }
}
/* START :: home page – mission */
.line--module--dotted-mission {
    height: 87px;
    width: 686px;
    top: calc(66px + 30px); /* row's padding top + .border-bottom-radius's offset */
    left: 50%;
}
.line--svg--dotted-mission {
    height: 87px;
    width: 686px;
}
.line--svg--dotted-mission .line--path {
    stroke: var(--oxford-blue);
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--dotted-mission .line--path {
    animation: dash-rev 300ms infinite linear;
}
.line--helper--dotted-mission {
    height: 2px;
    left: calc(100% + -5px);
    position: absolute; 
    width: 740px;
    top: 0;
}
.line--helper--dotted-mission .line--path {
    stroke: var(--oxford-blue);   
}
body:not(.fl-builder-edit) [data-active="true"] .line--helper--dotted-mission .line--path {
    animation: dash 300ms infinite linear;
}
.line--module--mission-loop {
    width: 100%;
    height: 1264px;
    top: 47%;
    left: -20px;
}
.line--svg--mission-loop {
    width: 1264px;
    height: auto;
    rotate: 180deg;
}
.line--svg--mission-loop .line--path--loop {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--mission-loop .line--path--loop {
    animation: draw-rev 25s linear infinite;
}
/* END   :: home page – mission */

/* START :: home page – tech */
.line--module--tech {
    height: 307px;
    right: 50%;
    top: 30px;
    width: 683px; 
}
.line--svg--tech.line--desktop {
    height: 307px;
    width: 683px; 
}
.line--svg--tech.line--mobile {
    display: none;
}
.line--helper--tech-left {
    display: none;
}
/* END   :: home page – tech */

/* START :: home page – impact */
.line--module--impact {
    height: 919px;
    right: -20px;
    top: 0px;
    width: 1070px;
    z-index: -1;
}
.line--svg--impact {
    height: auto;
    width: 1070px;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--impact {
    animation: draw 25s linear infinite;
}
/* END   :: home page – impact */

/* START :: home page – team */
.line--module--team {
    height: calc(85px + 1004px + 300px);
    right: calc(50% - 10px);
    top: calc(99px + 30px); /* row padding + border-radius offset */
    width: 683px;
    z-index: 0; /* behind content, so buttons can be clicked */
}
.row--team .fl-row-content {
    z-index: 1;
}
.line--helper--team-top {
    height: 2px;
    right: calc(100% - 10px);
    width: 740px;
}
.line--svg--team-top {
    height: 85px;
    width: 683px;
    left: 0;
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--team-top {
    animation: dash-rev 300ms infinite linear;
}
.line--svg--team-bottom {
    height: 1104px;
    width: 2px;
    right: 7px;
    top: 81px;
}
.line--helper--team-bottom {
    display: none;
}
.row--team .fl-module-photo{
    z-index: 1; /* above svg */
}
.line--module--team-bottom {
    bottom: 0;
    height: 66px;
    right: 50%;
}
/* END   :: home page – team */

/* START :: home page – blog */
.line--module--latest {
    height: 85px;
    left: 50%;
    top: 30px;
    width: 683px;
    z-index: 12;
}
.line--svg--latest-top {
    bottom: 0;
    height: 266px;
    left: 0;
    width: 2px;
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--latest-top .line--path {
    animation: dash-rev 300ms infinite linear;
}
.line--svg--latest {
    height: 87px;
    left: 0;
    rotate: 180deg;
    width: 685px;
}
body:not(.fl-builder-edit) [data-active="true"] .line--svg--latest {
    animation: dash-rev 300ms infinite linear;
}
.line--helper--latest-bottom {
    display: none;
}
/* END   :: home page – blog */

/* START :: single post */
.line--module--dotted-story-post {
    height: 399px;
    right: 0;
    top: 0;
    width: 359px;
}
.line--svg--dotted-story-post {
    width: 359px;
    height: 399px;
    top: 0;
}
.line--module--dotted-story-post .line--mobile {
    display: none;
}
/* END   :: single post */

/* START :: blog page */
.line--module--dotted-blog-hero {
    height: 80px;
    min-width: 684px;
    right: 0;
    top: 85px;
    width: auto;
}
.line--svg--dotted-blog-hero {
    width: 684px;
    height: 87px;
    top: 0;
    right: 0;
}
.line--helper1--dotted-blog-hero {
    border-left: 2px dotted var(--Tabiya-Green);
    bottom: calc(100% - 2px); /* 2px overlap to remove gap between svg */
    display: block;
    height: calc(80px + 5px); /* module top + buffer */
    left: 0;   
    position: absolute;  
    width: 100%;
}
/* END   :: blog page */

/* START :: testimonial */
.line--module--testimonial {
    height: 100%;
    width: 1px;
    top: -35px;
    left: var(--content-padding);

    top: -70px;
}

.home .line--module--testimonial {
    left: 70px;
}
/* .line--module--testimonial .line--vertical {
    border-left: 2px dotted var(--Tabiya-Green);
    bottom: 0;
    display: block;
    height: 100%;
    left: 0;   
    position: absolute;  
    width: 100%;
} */
.line--row--testimonial-home {
    z-index: 40;
    position: relative;
}
.line--row--testimonial-home:before,
.line--row--testimonial-home:after {
    content: "";
    height: 30px;
    width: 30px;
    bottom: 1px;
    position: absolute;
    background-color: transparent;
    box-shadow: 0px 7px 0px 0 #fff, 0px 11px 0px 0 #fff, 0px 16px 0px 0 #FFF, 0 20px 0px 0 #FFF, 0 25px 0px 0 #FFF;
    
}
.line--row--testimonial-home:before {
    left: 0;
    border-bottom-left-radius: 30px;
}
.line--row--testimonial-home:after {
    border-bottom-right-radius: 30px;
    right: 0;
}
.line--module--testimonial-home {
    height: 1090px;
    left: 0;
    bottom: -60px;
    width: 1px;

    height: auto;
    bottom: -230px;
}

.line--module--testimonial-home .line--desktop {
    rotate: 180deg;
}
.line--module--testimonial-home .line--mobile {
    display: none;
}
/* END   :: testimonial */
/* custom breakpoint, for svg extenders, on screens beyond 2700px  */
@media only screen and (min-width: 2701px){
    .line--max-extender {
        border-top: 1px solid var(--Tabiya-Green-3);   
        display: block;
        height: 1px;
        position: absolute;
        width: calc(var(--viewportWidth) / 2);
    }
    .line--max-extender.dashed {
        border-top: 2px dotted var(--Tabiya-Green);   
    }
    .line--max-extender.hero-top {
        border-color: var(--Tabiya-Green-3);
        right: 100%;
    }
    .line--max-extender.hero-middle {
        border-color: var(--Tabiya-Green-3);   
        right: 100%;
        top: 144px;
    }
    .line--max-extender.hero-bottom {
        border-color: var(--Tabiya-Green-3);   
        left: 100%;
        bottom: 0;
    }
    .line--max-extender.mission {
        border-color: var(--oxford-blue);   
        left: 207%;
        border-width: 2px;
    }
    .line--max-extender.team {
        right: 206%;
    }
    .line--helper--dotted-story-post {
        border-bottom: 2px dotted var(--Tabiya-Green);
        bottom: 0;
        display: block;
        height: 1px;
        left: calc(100% + 730px);
        position: absolute; 
        width: calc(var(--viewportWidth) / 2);
    }
}
/* custom breakpoint, for svg extenders  */
@media only screen and (min-width: 2100px){
    .line--module--dotted-story-post {
        left: calc(50% + 575px);
        top: 0;
    }
}
/* BB XL DESKTOP, and up */
@media only screen and (min-width: 1368px){
    /* START :: home page – impact */
    .line--module--impact {
        top: 20px;
    }
    /* START :: home page – latest */
    .line--helper--latest-bottom {
        bottom: -2px;
        display: unset;
        height: 2px;
        left: calc(100% + -2px);
        width: 740px;
    }
    body:not(.fl-builder-edit) [data-active="true"] .line--helper--latest-bottom .line--path {
        animation: dash-rev 300ms infinite linear;
    }
    /* END   :: home page – latest */
    /* START :: single post */
    .line--module--dotted-story-post {
        right: 100px;
    }
    .line--helper--post-bottom-extender {
        /* border-bottom: 2px dotted var(--Tabiya-Green); */
        bottom: 0;
        display: block;
        height: 2px;
        left: calc(100% - 2px); /* 2px overlap to remove gap between svg */
        position: absolute; 
        /* width: calc(100px + 20px); module right + buffer */
        width: 740px;
    }
    body:not(.fl-builder-edit) [data-active="true"] .line--helper--post-bottom-extender .line--path {
        animation: dash-rev 300ms infinite linear;
    }
    
    /* END   :: single post */
    /* START :: blog page */
    .line--module--dotted-blog-hero {
        right: 250px;
    }
    .line--helper2--dotted-blog-hero {
        border-bottom: 2px dotted var(--Tabiya-Green);
        top: 0;
        display: block;
        height: 87px;
        left: calc(100% - 2px); /* 2px overlap to remove gap between svg */
        position: absolute; 
        width: calc(250px + 20px); /* module right + buffer */
    }
    /* END   :: blog page */
    /* START :: home page – tech */
    .line--module--tech {
        right: 50%;
        width: 50%;
    }
    .line--svg--tech.line--desktop {
        right: 0;
    }
    .line--helper--tech-left {       
        bottom: 0;
        display: unset;
        height: 307px;
        right: 683px;
        /* transform: scalex(-1); */
        width: 683px;
        width: calc(var(--viewportWidth) / 2);
        border-bottom: 1.5px solid var(--Tabiya-Green);
    }
    .line--helper--tech-left g {
        display: none;
    }
}
/* BB "LARGE" DESKTOP, and down */
@media only screen and (max-width: 1368px){
    /* START :: single post */
    .line--module--dotted-story-post {
        right: -145px;
    }
    /* END   :: single post */
}
/* BB "LARGE" DESKTOP, only */
@media only screen and (min-width: 992px) and (max-width: 1366px) {
    .line--module--dotted-blog-hero {
        right: -30px;
    } 
    .line--helper--dotted-mission {
        left: calc(100% + -140px);
        width: 590px
    } 
}
/* BB "LARGE" DESKTOP, and down */
@media only screen and (max-width: 1366px) {
    /* START :: home page – mission */
    .line--module--dotted-mission {
        top: 80px;
    }
    .line--svg--dotted-mission {
        height: 70px;
        width: 550px;
    }
    /* END   :: home page – mission */
    .line--helper--dotted-story-post {
        display: none;
    }
}
/* TABLET, and down */
@media only screen and (max-width: 992px) {
    /* START :: home page – mission */
    .line--helper--dotted-mission {
        display: none;
    }
    /* END   :: home page – mission */
    /* START :: home page – technologies */
    .line--module--tech {
        height: 307px;
        /* left: 0; */
        top: 10px;
        width: 445px;
    }
    .line--svg--tech.line--desktop {
        height: 200px;
        width: 445px;
    }
    .line--helper--tech-left {
        top: 0;
        display: unset;
        height: 200px;
        width: calc(var(--viewportWidth) / 2);
        border-bottom: 1px solid var(--Tabiya-Green);
        right: 50%;
    }
    .line--helper--tech-left g {
        display: none;
    }
    /* END   :: home page – technologies */
    /* START :: home page – testimonials */
    .line--module--testimonial-home {
        /* bottom: 0px; */
        left: -36px;
    }
    body:not(.fl-builder-edit) .line--module--testimonial-home .line--path {
        animation: dash 300ms infinite linear;
    }
    .home .line--module--testimonial {
        left: 34px;
    }
    /* END   :: home page – testimonials */
    /* START :: home page – impact */
    .line--module--impact {
        right: -170px;
        width: 740px;
    }
    .line--svg--impact {
        width: 740px;
    }
    /* END   :: home page – impact */
    /* START :: home page – team */
    .line--helper--team-bottom {
        height: 300px;
        width: 2px;
        right: 7px;
        bottom: calc(0px + 5px);
        display: unset;
    }
    /* END   :: home page – team */
    /* START :: home page – blog */
    .line--svg--latest-top {

    }
    /* END   :: home page – blog */
    .line--module--dotted-blog-hero {
        right: -50px;
    }
    /* START :: single post */
    .line--module--dotted-story-post {
        top: 25px;
    }
    .line--module--dotted-story-post .line--desktop {
        display: none;
    }
    .line--module--dotted-story-post .line--mobile {
        display: block;
        height: 30px;
        right: 0;
        top: calc(var(--header-height) - 10px);
        width: 275px;
    }
    /* END   :: single post */ 
}
/* MOBILE, only */
@media only screen and (max-width: 768px) {
    /* START :: home page – hero */
    .line--helper--hero-bottom {
        display: none;
    }
    /* END   :: home page – hero */
    /* START :: home page – mission */
    .line--module--mission-loop {
        display: none;
    }
    /* END   :: home page – mission */
    /* START :: home page – technologies */
    .line--svg--tech.line--desktop {
        display: none;
        width: 343px;
    }
    .line--svg--tech.line--mobile {
        display: unset;
        height: 82px;
        width: 188px;
        right: 0;
    }
    .line--helper--tech-left {
        top: -.5px;
        display: unset;
        height: 82px;
        width: calc(var(--viewportWidth) / 2);
        border-bottom: 1px solid var(--Tabiya-Green);
        right: 20%;
    }
    .line--helper--tech-left g {
        display: none;
    }
    .line--module--dotted-blog-hero {
        /* right: -580px; */
        right: unset;
        left: calc(100% - 100px);
        top: 40px;
    }
    /* END   :: home page – technologies */
    /* START :: home page – testimonials */
    .line--module--testimonial-home {
        /* height: 718px; */
        left: 0;
        bottom: -120px;
        width: 20px;
        height: 120px;
    }
    .line--module--testimonial-home .line--desktop {
        display: none;
        width: 50px;
    }
    .line--module--testimonial-home .line--mobile {
        display: block;
    }
    .home .line--module--testimonial {
        left: 19px;
    }
    /* END   :: home page – testimonials */
    /* START :: home page – impact */
    .line--module--impact {
        right: -130px;
        top: 30px;
        width: 450px;
    }
    .line--svg--impact {
        width: 448px;
    }
    /* END   :: home page – impact */
    /* START :: home page – team */
    .line--module--team {
        top: calc(30px + 30px);
        width: 500px;
    }
    /* .line--helper--hero-top {
        left: -100px;
        right: unset;
    } */
    .line--svg--team-top {
        height: 75px;
        width: 500px;
    }
    .line--svg--team-bottom,
    .line--helper--team-bottom {
        display: none;
    }
    
    /* END   :: home page – team */
    /* START :: single post */
     .line--module--dotted-story-post {
        top: 0;
    }
    /* END   :: single post */
}
/* custom breakpoint for mobile */
@media only screen and (max-width: 530px) {
    .line--svg--hero-solid {
        display: none;
    }
    .line--svg--hero-solid-curve {
        /* left: -105px;
        right: unset; */
        left: -290px;
    }
    .line--helper--hero-middle {
        display: none;
    }
    .line--svg--hero-dotted-curve {
        height: 300px;
        /* left: -384px; */
        /* left: 65px;
        top: -10px; */
        left: 64px;
        top: -18px;
        /* transform: scaleX(-1); */
    }
    .line--svg--hero-dotted-right {
        /* left: 0;
        top: calc(100% + 145px); */
        display: none;
    }
}
/* custom breakpoint for mobile */
/* "For AA accessibility you must support 1280px zoomed in 400%. This is the equivalent of 320px" */
@media only screen and (max-width: 374px) {
    h1.hero {
        font-size: 20px;
        font-size: 1.25rem;
    }
    .line--svg--hero-dotted-curve {
        /* left: -415px; */
    }
    /* span.flourish--img::after {
        height: 75px;
        margin: -5px 0 -10px 17px;
        width: 120px;
    } */
     span.flourish--img1::before,
    span.flourish--img3::before {
        height: 75px;
    }
    span.flourish--img1::after,
    span.flourish--img3::after {
        height: 75px;
        width: 75px;    
    }
    span.flourish--img2::after {
        /* height: 75px; */
        top: -6px;
        /* width: 120px;     */
    }  
    /* START :: home page – impact */
    .line--module--impact {
        right: -250px;
    }
    /* END   :: home page – impact */
}
/************************/
/*  END   :: SVG Lines  */
/************************/
/* a test */