/*
 Theme Name:     Paul Pretorius
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Paul Pretorius
 Author URI:     https://paulpretorius.com
 Template:       Divi
 Version:        1.0.0
*/
:root {
    --white: #ffffff;
    --black: #000000;

    /* Old avatar colours */
    /* --faded_black: #231f20;
    --dark_gray: #48484a;
    --light_gray: #bfc0c2;
    --orange: #ee701b;
    --burnt_orange: #c45d18;
    --blue: #0458bb;
    --dark_blue: #03366b;
    --skin_light: #ffd6c2;
    --skin_less_light: #fec29e; */

    /* New colours */
    --header-bg: #000111;
    --banner-bg: #000b21;
    --navy-blue-bg: #02111e;
    --turqoise-logo: #40b7b1;
    --turqoise: #40ddd5;
    --turqoise-shadow: #2ea39d;
    --turqoise-headings: #2cd5cc;
    --blue: #20a8e4;
    --logo-blue: #11b3fa;
    --orange: #ffb94a;

    /* 
        EDA Variables
    */
    /* iPad resolution */
    --eda-ipad-resolution-x: 1024;
    --eda-ipad-resolution-y: 768;
    
    /* Container */
    --eda-container-width-px: 593;
    --eda-container-height-px: 473;

    /* Scaling of iPad */
    --eda-iPad-scaling-ratio: calc(var(--eda-container-width-px) / var(--eda-ipad-resolution-x));

    /* Slide Container */
    --eda-slide-container-width-px: 550;
    --eda-slide-container-height-px: 319;
    --eda-slide-container-left-px: 22;
    --eda-slide-container-top-px: 76;
    --eda-slide-container-width-px: 550;
    --eda-slide-container-height-px: 319;

    /* Specific to slide 1 */
    --eda-slide1-wrapper-aspect-x: 551;
    --eda-slide1-wrapper-aspect-y: 302;

    /* Specific to slide 2 */
    --eda-slide2-graph-original-width: 561;
    --eda-slide2-graph-original-height: 366;
    --eda-slide2-graph-width: 302;
    --eda-slide2-graph-height: 198;
    --eda-slide2-graph-ratio: calc(var(--eda-slide2-graph-width) / var(--eda-slide2-graph-original-width));
    --eda-slide2-graph-bar-width-px: calc(32 * var(--eda-slide2-graph-ratio));   
}

/* Header stuff */
@media only screen and (min-width: 981px) {
	#page-container {
		padding-top: 114px !important;
	}

	#main-header {
		top: 0px !important;
	}
}

body.home {
    /* Fix for white background displaying when scrolling to top on home page */
    background-color: var(--header-bg);
}

html:not(.et-fb-app-frame) .pp-hidden-section {
    display: none;
}
html:not(.et-fb-app-frame) .pp-hidden-section.pp-hidden-section-shown {
    display: block;
    margin-top: -60px;
}
html:not(.et-fb-app-frame) .pp-hidden-section > .et_pb_row {
    opacity: 0;
}

@media screen and (min-width: 1360px) {
    .et_header_style_left .logo_container a:after {
        font-family: 'Source Code Pro', monospace;
        display: inline-block;
        content: "Paul Pretorius";
        color: var(--turqoise-logo);
        font-size: 24px;
        text-transform: uppercase;
        font-weight: bold;
        letter-spacing: 2px;
        position: relative;
        left: 20px;
        top: 4px;
        transition: 0.5s;
        opacity: 1;
    }
    
    #main-header.et-fixed-header .logo_container a:after {
        opacity: 0;
        top: -50px;
        /* font-size: 10px; */
    }
}

#top-menu > li {
    background-position: center 35px;
    background-repeat: no-repeat;
    transition: background-position 0.3s;
}

@media screen and (min-width: 1470px) {
    /* This fixes the background position of the menu links on desktop */
    #top-menu > li {
        padding-right: 15px;
        padding-left: 15px !important;
    }

    #top-menu > li:last-child {
        padding-right: 15px !important;
    }

    #top-menu {
        margin-right: -15px !important;
    }
}

header.et-fixed-header  #top-menu > li {
    background-position: center 25px;
}

#top-menu > li.current_page_item.scrollspy-current,
#top-menu > li.current_page_item.scrollspy-current:hover {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='2px'> <path fill-rule='evenodd'  fill='rgb(64, 183, 177)' d='M1.030,0.015 L39.074,0.015 C39.579,0.015 39.988,0.459 39.988,1.007 C39.988,1.555 39.579,1.999 39.074,1.999 L1.030,1.999 C0.525,1.999 0.115,1.555 0.115,1.007 C0.115,0.459 0.525,0.015 1.030,0.015 Z'/> </svg>") !important;
}

#top-menu > li:hover {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='2px'> <path fill-rule='evenodd'  fill='rgb(36, 137, 132)' d='M1.030,0.015 L39.074,0.015 C39.579,0.015 39.988,0.459 39.988,1.007 C39.988,1.555 39.579,1.999 39.074,1.999 L1.030,1.999 C0.525,1.999 0.115,1.555 0.115,1.007 C0.115,0.459 0.525,0.015 1.030,0.015 Z'/> </svg>") !important;
}

#top-menu-nav .sub-menu {
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 0 15px 15px 15px;
    margin-top: 0;
    overflow: hidden;
    border-top: none;
}

#top-menu-nav .sub-menu > li {
    background-image: url('images/svg/vertical-border.svg');
    background-repeat: no-repeat;
    background-position: left center;
    padding-top: 10px;
    padding-bottom: 10px;
    transition: 0.6s;
}
#top-menu-nav .sub-menu > li:first-child {
    /* padding-top: 0; */
}
#top-menu-nav .sub-menu > li:hover {
    background-image: url('images/svg/vertical-border-hover.svg');
    opacity: 1 !important;
}

#top-menu-nav .sub-menu li > a {
    padding: 0;
    font-size: 0.9em;
    transition: 0.6s;
}
#top-menu-nav .sub-menu li > a:hover {
    /* padding-left: 5px; */
    opacity: 1;
    color: #bbb;
    /* background-repeat: no-repeat; */
    /* back */
    /* background-image: url('images/svg/vertical-border.svg'); */
}
#top-menu-nav .sub-menu li:first-child > a {
    /* padding-top: 5px; */
}
#top-menu-nav .sub-menu li + li > a {
    /* border-top: 1px solid #888; */
}

/* Fixed Navigation Bar on mobile devices */
@media screen and (max-width: 980px) {
    #main-header.et-fixed-header {
        position: fixed;
    }
	
    .logged-in #main-header.et-fixed-header {
        top: 0 !important;
	    transition: all .3s 0s;
    }
}

#mobile_menu {
    padding: 24px 0;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding-bottom: 10px;
    border: 2px solid #333;
    border-top: none;
    box-shadow: 0px 1px 7px 2px rgba(0, 0, 0, 0.3);
}

#mobile_menu > li > a,
#mobile_menu > li > ul > li > a {
    transition: 0.6s;
    color: #cac8c8;
    font-size: 1em;
    /* text-transform: uppercase; */
}
#mobile_menu > li > a:hover,
#mobile_menu > li > ul > li > a:hover {
    opacity: 1;
    color: #fff;
}
#mobile_menu > li > ul > li > a {
    padding-left: 20px;
    border-left: 2px solid #2ea39d;
}
#mobile_menu > li > ul > li > a:hover {
    border-left: 2px solid #40ddd5;
}
#mobile_menu > li > ul {
    padding-bottom: 5px;
}

.pp-menu-linkedin {
    position: relative;
    min-width: 30px;
    display: inline-block;
    /* font-size: 24px; */
    /* padding-top: 5px; */
}

#mobile_menu .pp-menu-linkedin {
    /* margin-left: -40px; */

}

#mobile_menu .pp-menu-linkedin:before {
    font-size: 27px;
    /* margin-left: 40px; */
}

.pp-mobile-menu-only {
    display: none;
}

#mobile_menu .pp-mobile-menu-only {
    display: inline;
    padding-left: 40px;
    /* padding-top: 2px; */
}
.pp-menu-linkedin:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 30px;
    font-family: ETmodules;
}
#mobile_menu > li:last-child {
    border-top: 2px solid #333;
    padding-top: 10px;
    margin-top: 10px;
}

/*
    Intro section
*/
@media screen and (min-width: 1200px) {
    #dev-intro span {
        display: block;
        /* text-wrap: nowrap; */
    }
    
}

@media screen and (min-width: 981px) {
    #home-page-intro-section {
        background-image: url('/wp-content/themes/paulpretorius/images/banners/banner-with-logo.jpg');
        background-position: center center;
        background-size: auto;
    }

    .pp-main-heading:before,
    .pp-main-heading:after {
        content: "<";
    }
    
    .pp-main-heading:after {
        content: ">";
    }
}

.pp-main-heading {
    line-height: 1.4em;
}

.pp-main-subheading {
    font-weight: 800;
    text-transform: uppercase;
    font-size: 41px;
    color: #FFFFFF!important;
    letter-spacing: 4.7px;
    font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
}

@media screen and (max-width: 320px) {
    .pp-main-heading {
        font-size: 50px;
        line-height: 1em;
    }

    .pp-main-subheading {
        font-size: 30px;
        line-height: 1em;
    }
}

body .et_pb_button {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='29px' height='63px'> <path fill-rule='evenodd'  opacity='0.2' fill='rgb(31, 33, 36)' d='M28.020,0.468 L27.956,62.999 L-0.000,62.999 L28.020,0.468 Z'/> </svg>") !important;
    background-position: 101%;
    background-size: contain;
}

body #page-container .et_pb_section .et_pb_button_0_tb_footer.pp-btn-linkedin {
    padding-left: 60px !important;
}
body #page-container .et_pb_section .et_pb_button_0_tb_footer.pp-btn-linkedin:before {
    font-size: 30px !important;
    /* margin-left: 0 !important; */
}

/*
    Section Headings
*/
@media screen and (min-width: 768px) {
    .section-heading-h2 h2:after {
        content: " .";
        color: var(--black);
    }
}

.section-heading-h2 {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='134px' height='8px'> <path fill-rule='evenodd'  fill='rgb(55, 194, 186)' d='M133.579,3.854 L133.579,4.315 C133.579,6.350 131.930,7.1000 129.895,7.1000 L3.685,7.1000 C1.650,7.1000 0.001,6.350 0.001,4.315 L0.001,3.854 C0.001,1.819 1.650,0.170 3.685,0.170 L129.895,0.170 C131.930,0.170 133.579,1.819 133.579,3.854 Z'/> </svg>");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: auto;
}

.section-heading-h2.section-heading-h2-light h2:after {
    color: var(--turqoise);
}

.pp-underline-emphasis {
    text-decoration: underline;
    text-decoration-color: var(--turqoise);
}

.section-heading-h3:after {
    content: "</---/>";
    color: var(--turqoise);
    font-size: 25px;
    font-weight: 900;
    padding-top: 12px;
    display: inline-block;
}

@media screen and (min-width: 768px) {
    .section-heading-h3 h3:after {
        content: ' .';
        color: var(--turqoise-headings);
    }
}

/*
    Medical section
*/
#medical-pixel-perfect-section {
    background-image: url('/wp-content/themes/paulpretorius/images/banners/pixel-perfect-section-nurse.jpg');
    background-size: cover;
    background-position: center center;
}

@media screen and (max-width: 767px) {
    #medical-pixel-perfect-section {
        background-position: center right;
    }
}

/*
    Testimonials
*/
.testimonial-blurb h3.et_pb_module_header {
    padding-bottom: 30px;
}

.testimonial-blurb .et_pb_blurb_description {
    font-weight: 300 !important;
}

.testimonial-blurb .et_pb_blurb_description h4 {
    font-size: 22px;
    padding-bottom: 30px;
    /* font-weight: 400; */
}

.testimonial-blurb .et_pb_main_blurb_image {
    margin-bottom: 0;
}

.testimonial-blurb .et_pb_blurb_description a {
    transition: color .2s linear;
}

.testimonial-blurb .et_pb_blurb_description a:hover {
    color: var(--blue);
}


/*
    Code highlighting
*/
.et_plrp_code_snippet > pre > code {
    border-radius: 15px;
    font-size: 15px;
    overflow-x: auto;
}

.home .et_plrp_code_snippet > pre > code.typewriter {
    min-height: 380px;
    max-height: 380px;
    opacity: 0;
    overflow-x: hidden !important;
}

.home .et_plrp_code_snippet > pre > code.typewriter-busy {
    transition: opacity 1s ease-in-out;
    opacity: 1;
}

/* Portal Data classes */
/* ************************************************************* */
.portal-muted {
    transition: opacity 0.5s ease-in-out;
    opacity: 0.5;
    pointer-events: none; /* Disable clicking */
    user-select: none;
}

.portal-unmuted {
    transition: opacity 0.5s ease-in-out; /* This is just to maintain the transition after .portal-muted is removed. */
}

.portal-blocked {
    pointer-events: none; /* Disable clicking */
    user-select: none;
}

/* Use this with or instead of .d-none, to override .d-block, .d-inline-block, etc. */
.portal-d-none {
    display: none !important;
}

/* Use this if you want the element to take up space, but still be hidden. */
.portal-hidden {
    visibility: hidden;
}

/* Portal Data - additional classes */
/* ************************************************************* */
@keyframes portalFade {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.portal-fade {
    animation: portalFade 0.5s;
}

.portal-fade.portal-d-none,
.portal-fade.d-none,
.portal-fade.portal-hidden {
    opacity: 0;
}
  
code.typewriter span.blank-code {
    margin-left: 3px;
    border-left: 3px solid #949494;
    /* animation: blink 500ms linear infinite alternate; */
}
    
/* Blinking cursor */
code.typewriter.typewriter-complete:after{
    content: "";
    border-left: 3px solid rgb(139, 139, 139);
    margin-left: 3px;
    animation: blink 500ms linear infinite alternate;
    /* font-size: 20px; */
    /* font-weight: bold; */
}

@-webkit-keyframes blink{
    0%{opacity: 0;}
    100%{opacity: 1;}
}

@-moz-keyframes blink{
    0%{opacity: 0;}
    100%{opacity: 1;}
}

@keyframes blink{
    0%{opacity: 0;}
    100%{opacity: 1;}
}

/* Scrollbars for code snippets */
.et_plrp_code_snippet > pre > code::-webkit-scrollbar
{
    height: 8px;
    /* background-color: inherit; */
}

.et_plrp_code_snippet > pre > code::-webkit-scrollbar-button
{
    /* color: transparent; */
    /* background-color: transparent; */
    width: 10px;
}

.et_plrp_code_snippet > pre > code::-webkit-scrollbar-track  {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background-color: inherit;
}

.et_plrp_code_snippet > pre > code::-webkit-scrollbar-thumb  {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background-color: rgba(255,255,255,0.3);
}

.plrp_markdown_code {
    border: 1px solid #bbb;
    background-color: #ddd;
    padding: 2px 5px;
    border-radius: 5px;
}

/* 
#language-logos {
    position: relative;
    width: 100%;
    max-width: 440px;
    aspect-ratio: 440/305;
    margin: 0 auto;
    cursor: pointer;
}

#language-logos > div {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-mask-size: cover;
    mask-size: cover;
    transform: scale(0.9);
}

#language-logos.logos-zooming > div {
    transform: scale(1) !important;
}

#language-logos > div:nth-child(1) {
    transform: scale(.7);
    transition: 2s ease-in-out;
    transition-delay: 0;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-php.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-php.svg');
}

#language-logos > div:nth-child(2) {
    transition: 2s ease-in-out;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-front.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-front.svg');
}

#language-logos > div:nth-child(3) {
    transition: 2s ease-in-out;
    transition-delay: 0.5s;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-middle.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-middle.svg');
}

#language-logos > div:nth-child(4) {
    transition: 2s ease-in-out;
    transition-delay: 1s;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-back.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-back.svg');
} */

#language-logos-2 {
    position: relative;
    width: 100%;
    max-width: 554px;
    aspect-ratio: 554/577;
    margin: 0 auto;
    cursor: pointer;
}

#language-logos-2 > div {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url('/wp-content/themes/paulpretorius/images/logos/languages/language-logos.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-mask-size: cover;
    mask-size: cover;
    /* transform: scale(0.9); */
    transition: 3s ease-in-out;
}

#language-logos-2.logos-zooming > div {
    transform: scale(1) !important;
}

/* #language-logos-2 > div:nth-child(1) {
    transform: scale(.7);
    transition: 2s ease-in-out;
    transition-delay: 0;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/language-logos.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/language-logos.svg');
} */

#language-logos-2 > div:nth-child(1) {
    transform: scale(0.9);
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-mask-1.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-mask-1.svg');
}

#language-logos-2 > div:nth-child(2) {
    transform: scale(0.75);
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-mask-2.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-mask-2.svg');
}

#language-logos-2 > div:nth-child(3) {
    transform: scale(0.825);
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-mask-3.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-mask-3.svg');
}


/*

#language-logos.logos-zooming > div {
    transform: scale(1) !important;
}

#language-logos > div:nth-child(1) {
    transform: scale(0.6);
    transition: 3s ease-in-out;
    transition-delay: 0.7s;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-back.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-back.svg');
}

#language-logos > div:nth-child(2) {
    transform: scale(0.7);
    transition: 3s ease-in-out;
    transition-delay: 0.6s;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-middle.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-middle.svg');
}

#language-logos > div:nth-child(3) {
    transform: scale(0.6);
    transition: 3s ease-in-out;
    transition-delay: 0.5s;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-front.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-front.svg');
}

#language-logos > div:nth-child(4) {
    transform: scale(0.5);
    transition: 1.5s ease-in-out;
    transition-delay: 1s;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-php.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/logos/languages/logos-dispersed-440-php.svg');
}
*/

/*
left: 49.768%
top: 7.951%
width: 242/649*100 = 37.288%
height: 242/327*100 = 74.006%
*/
#nurse {
    position: relative;
    width: 100%;
    /* max-width: 649px; */
    aspect-ratio: 649 / 327;
    background-image: url('/wp-content/themes/paulpretorius/images/nurse/nurse-cropped-694.png');
    background-size: cover;
}

.nurse-eye-blur {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('/wp-content/themes/paulpretorius/images/nurse/blur.png');
    opacity: 1;
    transition: opacity 2s ease-in-out;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#nurse.nurse-zooming .nurse-eye-blur {
    opacity: 0;
}

.nurse-target-wrapper {
    position: absolute;
    width: 37.288%;
    height: 74.006%;
    top: 8.3%;
    left: 50%;
    cursor: pointer;
}

.nurse-target-1,
.nurse-target-2,
.nurse-target-3 {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('/wp-content/themes/paulpretorius/images/nurse/target.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-mask-size:  cover;
    mask-size: cover;
    -webkit-mask-position: center center;
    mask-position: center center;
}

.nurse-target-1 {
    opacity: 0.9;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/nurse/inner.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/nurse/inner.svg');
    /* background-color: red; */
}

.nurse-target-2 {
    transform: rotate(0.01deg);
    opacity: 0.6;
    transition: transform 2s ease-in-out;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/nurse/middle.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/nurse/middle.svg');
    /* background-color: green; */
}

.nurse-target-3 {
    transform: rotate(0.01deg);
    opacity: 0.85;
    transition: transform 2s ease-in-out;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/nurse/outer.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/nurse/outer.svg');
    /* background-color: blue; */
}

#nurse.nurse-zooming .nurse-target-2 {
    transform: rotate(180deg);
}

#nurse.nurse-zooming .nurse-target-3 {
    transform: rotate(-99deg);
}

/* 
    ===
    EDA
    ===
*/
.eda-container {
    position: relative;
    margin: auto;
    width: 100%;
    max-width: calc(var(--eda-container-width-px) * 1px);
    aspect-ratio: var(--eda-container-width-px) / var(--eda-container-height-px);
}

.eda-background {
    width: 100%;
    height: 100%;
    background-image: url('/wp-content/themes/paulpretorius/images/eda/ipad-frame-and-detailer-background.png');
    background-position: center;
    background-size: cover;
}

.eda-slide-container {
    z-index: 1;
    position: absolute;
    width: calc(var(--eda-slide-container-width-px) / var(--eda-container-width-px) * 100%);
    height: calc(var(--eda-slide-container-height-px) / var(--eda-container-height-px) * 100%);
    top: calc(var(--eda-slide-container-top-px) / var(--eda-container-height-px) * 100%);
    left: calc(var(--eda-slide-container-left-px) / var(--eda-container-width-px) * 100%);
    overflow: hidden;
}

.eda-slide-1 {
    z-index: 2;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.eda-slide-2 {
    z-index: 3;
    position: absolute;
    left: 100%;
    top: 0;
    height: 100%;
    width: 100%;
}


/*
    =============
    EDA - Slide 1
    =============
*/
.eda-slide1-wrapper {
    position: absolute;
    width: 100%;
    aspect-ratio: var(--eda-slide1-wrapper-aspect-x) / var(--eda-slide1-wrapper-aspect-y);
    left: 0;
    bottom: 0;
    background-image: url('/wp-content/themes/paulpretorius/images/eda/slide-1-background.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.eda-slide1-layer-container {
    position: absolute;
    left: calc(44 / var(--eda-slide1-wrapper-aspect-x) * 100%);
    top: calc(54 / var(--eda-slide1-wrapper-aspect-y) * 100%);
    width: calc(400 / var(--eda-slide1-wrapper-aspect-x) * 100%);
    height: calc(217 / var(--eda-slide1-wrapper-aspect-y) * 100%);
    z-index: 1;
    overflow-y: hidden;
}

.eda-slide1-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url("/wp-content/themes/paulpretorius/images/eda/slide-1-layers.png");
    background-position: center center;
    background-size: cover;
    top: 100%;
}

.eda-slide1-layer1 {
    z-index: 1;
    mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask1.svg');
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask1.svg');
    mask-size: cover;
    -webkit-mask-size: cover;
}

.eda-slide1-layer2 {
    z-index: 2;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask2.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask2.svg');
    -webkit-mask-size: cover;
    mask-size: cover;
}

.eda-slide1-layer3 {
    z-index: 3;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask3.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask3.svg');
    -webkit-mask-size: cover;
    mask-size: cover;
}

.eda-slide1-layer4 {
    z-index: 4;
    -webkit-mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask4.svg');
    mask-image: url('/wp-content/themes/paulpretorius/images/eda/layers-mask4.svg');
    -webkit-mask-size: cover;
    mask-size: cover;
}

.eda-slide1-tablets {
    position: absolute;
    z-index: 10;
    background-image: url('/wp-content/themes/paulpretorius/images/eda/tablets-with-gray-mask.png');
    background-size: cover;
    background-repeat: no-repeat;
    width: calc(513 / var(--eda-slide1-wrapper-aspect-x) * 100%);
    height: calc(188 / var(--eda-slide1-wrapper-aspect-y) * 100%);
    bottom: 0;
    right: 0;
}

.eda-slide1-alarm-clock {
    position: absolute;
    z-index: 11;
    background-image: url('/wp-content/themes/paulpretorius/images/eda/alarm-clock.png');
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    aspect-ratio: 131 / 160;
    width: calc(131 / var(--eda-slide-container-width-px) * 100%);
    top: calc(150 / var(--eda-slide-container-height-px) * 100%);
    right: calc(12 / var(--eda-slide1-wrapper-aspect-x) * 100%);
}


/*
    =============
    EDA - Slide 2
    =============
*/
.eda-slide2-wrapper {
    position: absolute;
    width: 100%;
    aspect-ratio: var(--eda-slide1-wrapper-aspect-x) / var(--eda-slide1-wrapper-aspect-y);
    left: 0;
    bottom: 0;
    background-image: url('/wp-content/themes/paulpretorius/images/eda/slide-2-background.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.eda-slide2-start-hidden {
    display: none;
}

.eda-slide2-graph {
        position: absolute;
        left: calc(45 / var(--eda-ipad-resolution-x) * 100%);
        top: calc(45 / var(--eda-slide-container-height-px) * 100%);
        width: calc(var(--eda-slide2-graph-width) / var(--eda-slide-container-width-px) * 100%);
        aspect-ratio: var(--eda-slide2-graph-width) / var(--eda-slide2-graph-height);
}
.eda-slide2-bar-group {
	position: absolute;
	width: calc((32 * var(--eda-iPad-scaling-ratio) * 2) / var(--eda-slide2-graph-width) * 100%);
    height: 70%;
	bottom: calc((21 * var(--eda-iPad-scaling-ratio)) / var(--eda-slide2-graph-height) * 100%);
}
.eda-slide2-bar {
    position: absolute;
	bottom: 0;
	width: 50%;
    background-color: #00aeef;
}
.eda-slide2-bar:last-child {
	left: 50%;
	background-color: #ee4498;
}
.eda-slide2-bar-group1 {
	left: calc(var(--eda-slide2-graph-ratio) * 50 / var(--eda-slide2-graph-width) * 100%);
}
.eda-slide2-bar-group2 {
	left: calc(var(--eda-slide2-graph-ratio) * 134 / var(--eda-slide2-graph-width) * 100%);
}
.eda-slide2-bar-group3 {
	left: calc(var(--eda-slide2-graph-ratio) * 218 / var(--eda-slide2-graph-width) * 100%);
}
.eda-slide2-bar-group4 {
	left: calc(var(--eda-slide2-graph-ratio) * 302 / var(--eda-slide2-graph-width) * 100%);
}
.eda-slide2-bar-group5 {
	left: calc(var(--eda-slide2-graph-ratio) * 386 / var(--eda-slide2-graph-width) * 100%);
}
.eda-slide2-bar-group6 {
	left: calc(470 * var(--eda-slide2-graph-ratio) / var(--eda-slide2-graph-width) * 100%);
}

.eda-slide2-bar-group1 .eda-slide2-bar {
	height: calc(56 * var(--eda-slide2-graph-ratio) / var(--eda-slide2-graph-height) * 100%);
}
.eda-slide2-bar-group1 .eda-slide2-bar:last-child {
	height: calc(38 * var(--eda-slide2-graph-ratio) / var(--eda-slide2-graph-height) * 100%);
}

.eda-slide2-bar-group2 .eda-slide2-bar {
	height: calc(38 * var(--eda-slide2-graph-ratio) / var(--eda-slide2-graph-height) * 100%);
}
.eda-slide2-bar-group2 .eda-slide2-bar:last-child {
	height: calc(45 * var(--eda-slide2-graph-ratio) / var(--eda-slide2-graph-height) * 100%);
}

.eda-slide2-bar-group3 .eda-slide2-bar {
	height: calc(215 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}
.eda-slide2-bar-group3 .eda-slide2-bar:last-child {
	height: calc(230 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}

.eda-slide2-bar-group4 .eda-slide2-bar {
	height: calc(51 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}
.eda-slide2-bar-group4 .eda-slide2-bar:last-child {
	height: calc(49 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}

.eda-slide2-bar-group5 .eda-slide2-bar {
	height: calc(63 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}
.eda-slide2-bar-group5 .eda-slide2-bar:last-child {
	height: calc(83 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}

.eda-slide2-bar-group6 .eda-slide2-bar {
	height: calc(97 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}
.eda-slide2-bar-group6 .eda-slide2-bar:last-child {
	height: calc(86 * var(--eda-iPad-scaling-ratio) / var(--eda-slide2-graph-height) * 100%);
}

.eda-slide2-alarm-clock {
    position: absolute;
    z-index: 11;
    background-image: url('/wp-content/themes/paulpretorius/images/eda/alarm-clock.png');
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    aspect-ratio: 131 / 160;
    width: calc(131 / var(--eda-slide-container-width-px) * 100%);
    top: calc(140 / var(--eda-slide-container-height-px) * 100%);
    right: calc(12 / var(--eda-slide1-wrapper-aspect-x) * 100%);
}

/*
    Contact popup
*/
/* Contact Form 7 version */
.pp-cf7 label {
    color: #fff;
}

.pp-cf7 p {
    padding-bottom: 0;
}

.pp-cf7 p + p {
    padding-top: 10px;
}

.pp-cf7 .wpcf7-not-valid-tip {
    color: #dd5353 !important;
}

.pp-cf7 input:not([type="submit"]),
.pp-cf7 textarea,
.pp-cf7 select {
    background-color: #262f42;
    border: none;
    border-left:  3px solid rgba(0,0,0,0);
    border-right: 3px solid rgba(0,0,0,0);
    width: 100%;
    padding: 20px;
    font-size: inherit;
    color: #fff;
    transition: 0.6s;
    /* line-height: 2.3em; */
}

.pp-cf7 textarea {
    height: 150px;
}

.pp-cf7 input:not([type="submit"]):focus,
.pp-cf7 textarea:focus,
.pp-cf7 select:focus {
    background-color: #333c4d;
}

.pp-cf7-submit-button-container {
    width: 100%;
    text-align: left;
    padding-top: 20px;
}

.pp-cf7-submit-button-container .wpcf7-spinner {
    vertical-align: middle;
}

@media only screen and (max-width: 767px) {
    .pp-cf7-submit-button-container .wpcf7-spinner {
        vertical-align: baseline;
        margin-left: 0;
    }
}

.pp-cf7 input[type="submit"] {
    color: #FFFFFF!important;
    border-radius: 10px;
    letter-spacing: 2px;
    font-size: 17px;
    text-transform: uppercase;
    padding: 20px;
    margin-top: 0;
    background-color: #37c5bd;
    border-width: 0px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='29px' height='63px'> <path fill-rule='evenodd'  opacity='0.2' fill='rgb(31, 33, 36)' d='M28.020,0.468 L27.956,62.999 L-0.000,62.999 L28.020,0.468 Z'/> </svg>") !important;
    background-position: 101%;
    background-size: contain;
    font-family: inherit;
    display: inline-block;
    /* margin: 0 0 0 18px; */
    cursor: pointer;
    font-weight: 500;
    background-repeat: no-repeat;
    margin: 0;
    line-height: 1.7em;
}

@media only screen and (max-width: 767px) {
    .pp-cf7 input[type="submit"] {
        font-size: 14px;
        padding: 15px;
        width: 100%;
        margin-bottom: 30px;
    }
}

.pp-cf7-invalid {
    border-left-color: #d52c2c !important;
}

.pp-cf7-valid {
    border-left-color: #0aa937 !important;
}

.wpcf7 form .wpcf7-response-output {
    border-width: 3px;
    border-top: none;
    border-bottom: none;
    border-right: none;
    padding: 0 20px;
    /* margin-top: 10px; */
}

@media only screen and (max-width: 768px) {
    .wpcf7 form .wpcf7-response-output {
        margin-top: 0 !important;
    }
}

.wpcf7-form.failed .wpcf7-response-output {
    border-color: #d52c2c;

}

.wpcf7-form.success .wpcf7-response-output {
    border-color: #0aa937;
}

/* Cloudflare turnstile */
.pp-cf7-turnstile-container {
    width: 100%;
    min-height: 78px !important;
    max-height: 78px !important;
}

.cf-turnstile {
    height: 65px !important;
}

@media only screen and (min-width: 769px) {
    .pp-cf7-turnstile-container {
        /* margin-top: -10px; */
        /* margin-bottom: -28px; */
    }
}

.pp-cf7 .cf7-cf-turnstile {
    width: 100%;
    /* opacity: 0.5; */
}

.pp-cf7 .cf7-cf-turnstile iframe {
    width: 100% !important;
}

#contact-modal::-webkit-scrollbar {
    width: 12px;
}

#contact-modal::-webkit-scrollbar-track {
    border-radius: 8px;
    background-color: #000B21;
    border: 1px solid #000B21;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}

#contact-modal::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background-color: #262f42;
}


.da-close.evr-close {
    color: #fff;
    font-size: 50px !important;
    margin-top: 25px;
    margin-right: 25px;
}

@media screen and (max-width: 1200px) {
    #contact-modal .et_pb_row.et_pb_row_1_tb_footer.et_pb_equal_columns {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    #contact-modal .et_pb_column {
        margin-right: 0 !important;
        width: 100% !important;
    }

    #contact-modal .et_pb_column:first-child {
        padding-bottom: 50px !important;
        margin-bottom: 50px !important;
        border-bottom: 1px solid #fff !important;
    }

    #contact-modal .et_pb_column .et_contact_bottom_container button {
        width: 100%;
        margin: 0;
    }

    #contact-modal .et_pb_column:first-child .pp-btn-lg {
        display: inline-block !important;
        width: 100% !important;
    }
}

/* 
    Scroll indicator arrow
*/
@keyframes pp-scroll-down-arrow {
    0% {
        opacity: 0;
        margin-top: 0;
    }

    50% {
        opacity: 0.5;
        margin-top: 25px;
    }

    100% {
        opacity: 0;
        margin-top: 50px;
    }
}

.pp-down-scroll-arrow .et-pb-icon {
    animation: pp-scroll-down-arrow 1.5s linear infinite;
}

/*
    Case studies

*/
.pp-entry-title h1:after {
    content: " .";
    color: var(--turqoise);
    margin-right: -20px;
}

.pp-entry-title:after {
    content: "</---/>";
    color: var(--turqoise);
    font-size: 25px;
    font-weight: 900;
    padding-top: 12px;
    display: inline-block;
}

.pp-heading-turqoise-dot {
    text-transform: uppercase;
    font-size: 55px;
    font-weight: 800;
}

.pp-heading-turqoise-dot:after {
    content: " .";
    color: var(--turqoise);
    margin-right: -20px;
}

span.pp-divider-comment:after {
    content: "</---/>";
    color: var(--turqoise);
    font-size: 25px;
    font-weight: 900;
    padding-top: 12px;
    display: inline-block;
    margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
    .pp-heading-turqoise-dot {
        font-size: 30px;
    }

    .pp-heading-turqoise-dot:after {
        /* display: none; */
    }

    .pp-mobile-center {
        text-align: center;
    }

    span.pp-divider-comment.pp-mobile-center:after {
        width: 100%;
        text-align: center;
    }
}

.pp-case-study-solution-thumbnail {
    float: left;
}

@media screen and (max-width: 1200px) {
    .pp-case-study-solution-thumbnail {
        width: 50%;
    }
}

@media screen and (max-width: 768px) {
    .pp-case-study-solution-thumbnail {
        display: none;
    }
}

.pp-gif-placeholder span {
    /* background-color: #efefef; */
    display: block;
    background: linear-gradient(45deg,#dbd9d9,#bcbcbc,#dbdbdb,#9b9b9b);
    background-size: 180% 180%;
    animation: pp-gif-placeholder-gradient-animation 4s ease-in-out infinite;
    
}
  
@keyframes pp-gif-placeholder-gradient-animation {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.pp-gif-placeholder img {
    cursor: pointer;
}

/*
    Footer
*/
#footer-info {
    width: 100%;
    text-align: center;
}

#footer-bottom .et-social-icons {
    display: none;
}