/**
Theme Name: Astra
Author: Exo
Author URI: https://exo.uk
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: astra
*/

.nopmargin p {margin-bottom:0px;}

.lang-item a {padding-right: 0 !important;padding-left: 0 !important;}
.langswitch {}
.strongblue strong {color: var(--fl-global-sa-rich-blue);}	
.strongsteel strong {color: var(--fl-global-sa-steel);}	

/* Column arrows using arrowleft in column class */
.arrowleft {position:relative;}
.arrowleft .fl-col-content::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 40px solid #FFFFFF;
}

[class*="arrow-down-"] {position:relative;}
[class*="arrow-down-"]::after { 
	content: "";
	z-index:99;
  position: absolute;
  left: 50%;top: 100%;
  transform: translateX(-50%);
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 40px solid #FFFFFF;
}
.arrow-down-top::after {top:0%;} /* Arrow at top of row instead of bottom */
.arrow-down-cyan::after {border-top: 40px solid var(--fl-global-sa-cyan);}	
.arrow-down-steel::after {border-top: 40px solid var(--fl-global-sa-steel);}	
.arrow-down-cloud-grey::after {border-top: 40px solid var(--fl-global-sa-cloud-grey);}	
.arrow-down-orange::after {border-top: 40px solid var(--fl-global-sa-orange);}	
.arrow-down-plum::after {border-top: 40px solid var(--fl-global-sa-plum);}	
.arrow-down-green::after {border-top: 40px solid var(--fl-global-sa-green);}	
.arrow-down-light-green::after {border-top: 40px solid var(--fl-global-sa-light-green);}	
.arrow-down-yellow::after {border-top: 40px solid var(--fl-global-sa-yellow);}	
.arrow-down-light-yellow::after {border-top: 40px solid var(--fl-global-sa-light-yellow);}	
.arrow-down-white::after {border-top: 40px solid #FFFFFF;}	
.arrow-down-lblue::after {border-top: 40px solid var(--fl-global-se-light-blue);}	
.arrow-down-bblue::after {border-top: 40px solid var(--fl-global-se-button-blue);}	
.arrow-down-purple::after {border-top: 40px solid var(--fl-global-se-purple);}	
.arrow-down-lgrey::after {border-top: 40px solid var(--fl-global-se-light-grey);}	

/* equal-height-buttons css to make buttons left, but all at bottom of columns */
.equal-height-buttons {align-items: flex-start;}
.equal-height-buttons-centre {align-items: center;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-content: center;
}
.buttonstrong strong {color: inherit !important;}

.noindentbullets ul {margin: 0px 20px !important;}
.noindentbullets li {margin: 10px 0px !important;}

.noindent ul {margin: 0px 30px !important;}
.tickboxes ul {
    list-style: none;
    margin: 0px !important;
    padding-left: 0;
}
.tickboxes li {margin-bottom:10px;}
.tickboxes li::before {
    content: "✔";
    color: black;
    margin: 0px 10px 20px 0px;
}

/* Team page */

.teamphoto {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  overflow: hidden;
  border:4px solid white;
  background: #fff;              /* important */
  transform: translateZ(0);      /* fixes subtle edge line */
  margin-bottom:40px;
}
.teamphoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;      /* Prevents distortion */
  object-position: center; /* Adjust crop focus if needed */
  display: block;
  transform: scale(1.01);  /* tiny scale removes hairline */
}
.teamname {
    color: var(--fl-global-sa-orange);
    font-weight: 600 !important;
    margin: 20px 0px 5px 0px !important;
}
.teamjob {
	color: #FFFFFF;
}
.teambio hr {    
	border: none;height: 1px;
	margin:20px 0px;
  background-color: var(--fl-global-sa-orange);
}
.teambio {color: #cccccc;line-height: 1.3;}
.teambox .uabb-blog-posts .slick-next i, .teambox .uabb-blog-posts .slick-prev i {font-size:40px;}
.teambox .uabb-blog-posts .slick-next {
	top:auto;
	bottom:-25px !important;
	left:50%;
}
.teambox .uabb-blog-posts .slick-prev {
	top:auto;
	bottom:-25px !important;
	right:50%;
}	
.teambox .dashicons-arrow-left-alt:before {font-size:40px;}
.teambox .dashicons-arrow-right-alt:before {font-size:40px;}




/* SEOPRESS COOKIE POPUP */
.seopress-user-consent {
	width: 420px !important;
	bottom: 10px !important;
	left: 20px !important;
	padding: 25px !important;    
	box-shadow: 0 0 4px 0;
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .35);
  -moz-box-shadow: 0 0 4px 0 rgba(0,0,0,.35);
}	
/* desktop only */
@media screen and (min-width: 768px){.seopress-user-consent {transform: translate(0, 0) !important;}}
.seopress-user-consent button {margin:4px !important;border-radius:5px;font-weight: 500; min-width:50px !important;}	
#seopress-user-consent-accept,#seopress-user-consent-close {min-width:100px;}
.seopress-edit-choice {
	left: 1% !important; 
	bottom: 1% !important;    
	box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
}    
.seopress-user-consent p {font-size: 16px !important;line-height: 1.3;}
.seopress-user-consent button:hover {background: #4d88c3;}
@media screen and (max-width: 768px){
	.seopress-user-consent {width: 100% !important;bottom: 4px !important;left: 50% !important;padding: 10px !important;}
	.seopress-edit-choice {left: 0% !important;bottom: 0% !important;}
	.seopress-user-consent p {font-size:14px !important;}
}

.red {color:red !important;}




.overflowlottie {overflow:hidden;}
/* Make sure the row is the positioning context */
.introrightbg {
    position: absolute;
    top: 10%;
    right: -8%;
    width: 60vw;
    height: 100%;
    z-index: 1;
    margin: 0px;
}

.highzindex {z-index:99; position:relative;}


/* mega-menu-overlay, functions.php inserts this div into the footer */
#mega-menu-overlay {
    position: fixed;top: 0;left: 0;
    width: 100vw;height: 100vh;
    background: rgba(222, 222, 222, 0.75);
    z-index: 99990; /* Very high, but below the menu */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
#mega-menu-overlay.overlay-active {opacity: 1;visibility: visible;}
#semenu .fl-builder-row-template {
    position: absolute;
    right: 0px;
    top: 0px;
}
.megamenusub li {width: 100%;}
.megamenusub a {
    display:block;
    position: relative;
    display: block;
    border-radius: 15px;
    padding: 8px 30px 8px 22px !important;
    margin: 2px 0;
    transition: background-color 0.2s ease;
    color:black !important;
}
.megamenusub a:hover,.megamenusub a:focus {
    background-color: #E7E9FF;
}
.megamenusub .current_page_item {
  background-color: #E7E9FF;border-radius: 15px;
}
.megamenusub a::after {
    content: "›";
    position: absolute;
    right: 20px;
    top: 45%;
    transform: translateY(-50%);
    font-size: 1.5em;
    line-height: 1;
}


.fl-row.elevate-header-row {position: relative !important;z-index: 99999 !important;}
.highindex {z-index:99;}

.numbercounter .fl-number-string:not(span) {font-size: 50px !important;}
.numbercounter .fl-number-after-text {font-weight: 500 !important;}
.spanblacknotbold span {color: #000000 !important; font-weight: 500 !important;}
.steelbold strong,.steelspan span {color: var(--fl-global-sa-steel) !important; font-weight: 600 !important;}
.bluebold strong,.bluespan span {color: var(--fl-global-se-button-blue) !important; font-weight: 600 !important;}
.posttitle h1 span,.posttitle h2 span,.posttitle h3 span {color: var(--fl-global-se-button-blue) !important; font-weight: 600 !important;}
.lbluebold strong,.lbluespan span {color: var(--fl-global-se-light-blue) !important; font-weight: 600 !important;}
.plum {color: var(--fl-global-sa-plum) !important;}
.orange {color: var(--fl-global-sa-orange) !important;}
.boldspan span,.spanbold span {font-weight: 600 !important;}
.zindexhigh {z-index: 99 !important;}
.postquote {
    border-top:1px dashed var(--fl-global-se-button-blue);
    border-bottom:1px dashed var(--fl-global-se-button-blue);
    padding:20px 0px;
}

/* Make sure the column can position the circle */
.feature-col,.feature-colw {position: relative;}
/* Add circle after first and second columns */
.feature-col:not(:last-child)::after,.feature-colw:not(:last-child)::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: -35px;
    transform: translateY(-50%);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #12304A;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5em !important;
    font-weight: 300;
    z-index: 99;
    padding-bottom: 20px;
    padding-left: 5px;    
}
.feature-colw:not(:last-child)::after {
    background: #FFFFFF;
    color: #12304A;
}    
@media (max-width: 768px) {
    .listiconheader img {width:50px !important;}
    .feature-col::after,.feature-colw::after {display: none;}
    .feature-col:not(:last-child)::after,.feature-colw:not(:last-child)::after {display: none;}
}
#col1 {z-index:10;}
#col2 {z-index:9;}
#col3 {z-index:8;}
[id^="col"] i.fl-button-icon.fl-button-icon-after.ua-icon.ua-icon-arrow-right {
    color: inherit !important;
}
/* rotating wheel */
#se-wheel {z-index: 99 !important;}
/* hide the border on the active accordion item */
#sefaqs .uabb-adv-accordion-item-active .uabb-adv-accordion-button {border:0px;}
#sefaqs ul {margin: 20px 20px;} 
#sefaqs .fl-col-content {padding:0px 0px 20px 0px;} /* saved row padding */
.rarrow {font-weight:900;}
/* Circle logo in the middle of the rotating wheel */
#se-wheel .fl-photo-content {
    background-image: url(/wp-content/uploads/2026/07/circle-logo-only.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0px 0px;
}


/* Circle animation */
#mp-pinnedrow {position: relative; overflow:hidden;}
#mp-leftcol,#mp-rightcol {position: relative;overflow:hidden;}
body:not(.fl-builder-edit) div[id^=photobox] {position:absolute; top: 0%; right:0%;}
body:not(.fl-builder-edit) div[id^=databox]  {position:relative;}
/* Vertical Split section, Detect height restrictions on browsers */
@media screen and (max-height:900px) {
	.mp-toprow .fl-col-content {min-height: 32vh !important;}
}
@media screen and (max-height:768px) {
	body:not(.fl-builder-edit) .mp-toprow div[id^=photobox] img {width:70%;}
	body:not(.fl-builder-edit) .mp-toprow .fl-col-content {min-height: 30vh !important;}
	body:not(.fl-builder-edit) .mp-toprow div[id^=photobox] {top: -33vh !important;}
    body:not(.fl-builder-edit) div[id^=databox] {top: 60% !important;}
}
@media screen and (max-width: 768px) {
}
.mp-toprow,.mp-botrow {position: relative;}
body:not(.fl-builder-edit) .mp-toprow div[id^=photobox] {position:absolute;top: 4vh;left: 0;right: 0;margin-inline: auto;width: fit-content;}

@media (max-width: 768px) {
    body:not(.fl-builder-edit) div[id^=databox] {position:absolute;top: 68%;left: 0;right: 0;margin-inline: auto;width: fit-content;}
    body:not(.fl-builder-edit) .mp-toprow div[id^=photobox] {position:absolute;top: -24vh;left: 0;right: 0;margin-inline: auto;width: fit-content;}
}	

body:not(.fl-builder-edit) #flyingboxes {position: relative; overflow:hidden;}
body:not(.fl-builder-edit) div[id^=flying] {position:absolute; top: 0%; right:0%;}


[class^="number-circle-"] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #0e2f4d;
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    vertical-align: middle;
    margin-right: 8px;
    position: absolute;
    left: -40px;
    top: 0px;
}
.number-circle-1 {background: var(--fl-global-sa-steel);}
.number-circle-2 {background: var(--fl-global-se-button-blue);}
.number-circle-3 {background: var(--fl-global-se-light-blue); left:unset;right:-40px;}
.number-circle-4 {
    background: transparent;
    left: unset;
    right: -40px;
    color: black;
    background-image: url(/wp-content/uploads/2026/07/create-mark-accelerate-nologo.png);
    background-size: cover;    
    font-size: 15px; 
}
@media (max-width: 768px) {
    [class^="number-circle-"] {
        position: relative;left: auto;top: auto; right:auto;
        width: 26px; height: 26px;
    }
}      

.se-video .mejs-poster.mejs-layer{
    background-size: auto;
    background-color: white;
}
.se-video .mejs-overlay-button {
    background: url('/wp-content/uploads/2026/07/video-play-button.png') no-repeat center center !important;
    background-size: 85px 85px !important;
}    

.ColumnHover > .fl-col-content.fl-node-content:hover {
    -webkit-box-shadow: 1px 1px 10px 1px var(--fl-global-sa-steel);
    -moz-box-shadow: 1px 1px 10px 1px var(--fl-global-sa-steel);
    -o-box-shadow: 1px 1px 10px 1px var(--fl-global-sa-steel);
    box-shadow: 1px 1px 10px 1px var(--fl-global-sa-steel);
    -webkit-transition: -webkit-box-shadow 200ms ease-in-out, -webkit-transform 200ms ease-in-out;
    -moz-transition: -moz-box-shadow 200ms ease-in-out, -moz-transform 200ms ease-in-out;
    transition: box-shadow 200ms ease-in-out, transform 200ms ease-in-out;
    will-change: box-shadow;
}
.ColumnHover {transition: all 0.5s ease-in-out;}
.ColumnHover:hover {transform:scale(1.02); z-index:3;}
.DealColumn {z-index:2;}
.bullpoint .fl-icon {vertical-align: top !important;}
.bullpoint .fl-icon-wrap .fl-icon-text {
    height: 15px !important;
}
.DealColumn > .fl-col-content {
  position: relative;
  overflow: hidden; /* clips the ribbon corners */
}
.DealColumn > .fl-col-content::before {
    content: "MOST POPULAR";
    position: absolute;
    top: 33px;
    right: -40px;
    width: 175px;
    padding: 7px 0;
    background: #ff0000b8;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0px;
    transform: rotate(45deg);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

#pricesmallprint {
    display: flex;
    justify-content: center;
    gap: 0px;
    margin-bottom: 0px;
    align-items: center;
    flex-direction: column;   
    min-height: 40px; 
} 
.annualplans {font-size:13px; display:inline;}
.localcurrency {font-size:13px; display:inline;}
#pricetoggles {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}
.bb-currency-toggle,.bb-interval-toggle {
  display: inline-flex;
  background: #f0f0f5;
  border-radius: 999px;
  padding: 4px;
  gap: 4px;
}
.bb-currency-toggle .toggle-opt,.bb-interval-toggle .toggle-opt {
  border: none;
  background: transparent;
  color: #7a7a85;
  font-weight: 400;
  font-size: 14px;
  padding: 8px 18px;
  border-radius: 999px;
  cursor: pointer;
}
.bb-currency-toggle .toggle-opt.active,.bb-interval-toggle .toggle-opt.active {
  background: #ffffff;
  color: #6c5ce7;
  font-weight: 500;
  box-shadow: 0 0 0 1px #e2e2ea;
}
.yearly-discount-panel {
    background: #ffffff;
    width: auto;
    margin: auto !important;;
    padding: 2px 10px;
    border-radius: 5px;
}
.price-number {
    font-size: 140%;
    margin-left: 2px;
}


/* Polylang language switcher */
.lang-item img {
    width: 25px !important;
    height: auto !important;
    margin: 0px 4px !important;
}
.pll-parent-menu-item a {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 70px;
    height: auto;    
}
.pll-parent-menu-item .lang-item a {
    padding: 10px !important;
    background: #ffffff;
    border-radius: 10px;
    margin: 4px !important;
    width: 53px;    
}
.pll-parent-menu-item .lang-item img {
    width: 40px !important;
    height: auto !important;
    margin: 0px 0px !important;
}
/* Ensure the submenu is aligned to the left of the parent menu item, even on low-resolution screens */
.pll-parent-menu-item .sub-menu {left: 0px !important;}
#footerswitch .pll-switcher-select {
    background: #7f88fb;
    color: white;
    font-weight: bold;
    padding: 4px;
}
/* Mobile menu adjustments for Polylang menu item */
@media screen and (max-width: 768px){    
    #mobilemenu .sub-menu .menu-item a::before {content: none;}
    #mobilemenu .pll-parent-menu-item .fl-has-submenu-container a {
        width: 80px;
        margin-left: 75%;
    }    
    #mobilemenu .pll-parent-menu-item ul.sub-menu {
        float: right;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }
    .pll-parent-menu-item .lang-item a {
        background: transparent;
    }   
}    
#flagswitch ul.lang-item-list,
#flagswitch ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

#flagswitch li {
    list-style: none;
    display: inline-block;
}

#flagswitch li img {
    width: 70px !important;
    height: auto;
}
