.heroheight {
height: 100vh;
}


.border-button {  
  border: solid 10px #FFFFFF; 
  clip-path: polygon( 
    calc(0% + 5px) calc(0% + 5px), /* top left */
    calc(100% - 5px) calc(0% + 5px), /* top right */
    calc(100% - 5px) calc(100% - 5px), /* bottom right */
    calc(0% + 5px) calc(100% - 5px) /* bottom left */
  );
  transition: clip-path 0.6s linear;
}

.border-button:hover {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.custom-text {
    position: fixed;
    top: 1920px;
    left: 540px;
    font-size: 20px;
    color: #333;
    background: rgba(255, 255, 255, 0.8);
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
  }

@keyframes slideInFromRight {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}

.headersplash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(90deg, #1e7a79, #29a374, #ffffff, #29a374, #1e7a79);
  background-size: 400% auto, cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: bgrad2 1s ease infinite;
  animation-direction: alternate;
  color: #fff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 2s ease-out;
}

.headersplash.fade-out {
  opacity: 0;
  pointer-events: none;
}

.entrylogo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15vw;
  max-width: 100%;
}

.entrylogo img {
  width: 100%;
  height: auto;
  display: block;
}

@-webkit-keyframes  bgrad {
  to {
    background-position:right, center;
  }
}
@-moz-keyframes bgrad {
  to {
    background-position:right, center;
  }
}
@-o-keyframes bgrad {
  to {
    background-position:right, center;
  }
}
@keyframes  bgrad {
  to {
    background-position:right, center;
  }
}

.hero-height {
    height: 100vh;
}

.growing-brand {
    animation: growin 8s ease-in-out infinite;
}

@keyframes growin {
  0%, 100% {
    transform: scale(0.9);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.05);
    opacity: 1;
  }
}

.strapline-gradient  {
    background: linear-gradient(90deg, #1e7a79, #29a374, #ffffff, #29a374, #1e7a79);
    background-size: 200% 200%;
    animation: straplinegradient 8s linear infinite;
}
    
@keyframes straplinegradient {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}

.hero-width {
width: 100%;                /* 80% of its parent container */
    max-width: 2000px;         /* Adjust this as needed */
    margin: 0;            /* Centres the container horizontally */        
    justify-content: center;   /* Centres content horizontally */
    align-items: center;       /* Centres content vertically if desired */
    overflow: hidden;          /* Prevents any internal overflow */
}

.hero-image-adjust {
  position: relative;
  left: 450px;
}

.hero-image-adjust2 {
  position: relative;
  right: 70px;
}

.watermark {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9998;
    opacity: 0.1;
    pointer-events: none;
    user-select: none;
    max-width: 300px;
    width: 30vw;
  }

.book-appointment {
    background: linear-gradient(90deg, #1e7a79, #29a374, #ffffff, #29a374, #1e7a79);
}

.theme-header.zpheader-style-navigation-05.theme-header-navigation-style {
    background: linear-gradient(270deg, #29a374, #1e7a79);
}

.adhdsymptoms {
    background: linear-gradient(180deg, #29a374, #ffffff);
}

/*Mobile optimisation*/

@media only screen and (max-width:1000px){
 	.theme-navigation-and-icons .theme-menu-area .theme-menu ul li:hover{
     	color:#1E7A79 !important;   
    }
}

@media only screen and (max-width:1000px){
 	.theme-navigation-and-icons .theme-menu-area .theme-menu ul li.theme-menu-selected>a{
     	 color:#1E7A79 !important;  
    }
}

@media only screen and (max-width:1000px){
 	 .theme-navigation-and-icons .theme-menu-area .theme-menu ul li a{
     	color:#1E7A79 !important;    
    }
}

@media only screen and (max-width:1000px){
 	 .theme-navigation-and-icons .theme-menu-area .theme-menu ul li a:hover{
     	color:#2BA677 !important;    
    }
}

@media only screen and (max-width:1000px){
 	.theme-navigation-and-icons .theme-menu-area .theme-menu ul li.menu-highlight-secondary>a{
     	   color:#ffffff !important;
    }
}

@media only screen and (max-width:1000px){
 	.theme-navigation-and-icons .theme-menu-area .theme-menu ul li.menu-highlight-secondary>a:hover{
     	   background-color:#2BA677 !important;
    }
}

@media only screen and (max-width:1000px){
 	.theme-responsive-menu-area.zpcontainer .theme-responsive-menu .theme-menu ul.theme-scoialicon-inner-parent li a svg,.theme-responsive-menu-area.zpcontainer .theme-responsive-menu .theme-menu ul.theme-scoialicon-inner-parent li a img{
     	fill:#1E7A79 !important;
        width:15px;
        height:15px;
    }
}

@media only screen and (max-width:1000px){
 	.theme-responsive-menu-area.zpcontainer .theme-responsive-menu .theme-topbar-contact-info ul:first-child li a span svg{
     	width:20px;
        height:20px;
        fill:#1E7A79 !important;
    }
}

@media only screen and (max-width:1000px){
 	.theme-responsive-menu-area.zpcontainer .theme-responsive-menu .theme-topbar-contact-info{
     	padding-block-start:15px;
        padding-block-end:15px;
    }
}

.theme-navigation-and-icons .theme-menu-area .theme-menu ul li ul li a{
 	font-weight:500 !important;   
}

/*Fees & Booking button optimisation*/

/*Regular PC/Laptop View*/
@media only screen and (min-width:1000px){
.book-appointment-cta {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  background: linear-gradient(135deg, #56c1a1, #2e8276);
  color: #fff;
  font-weight: bold;
  padding: 12px 18px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 128, 128, 0.5);
  text-decoration: none;
  font-size: 16px;
  animation: pulseGlow 1.5s ease-in-out infinite, slideInFromRight 0.8s ease forwards;
}
}

/*Mobile view - Samsung A22 ~ Samsung A51*/
@media only screen and (max-width:600px){
.book-appointment-cta {
  position: fixed;
  bottom: -1px;
  right: 0px;
  z-index: 9999;
  background: linear-gradient(135deg, #56c1a1, #2e8276);
  color: #fff;
  font-weight: bold;
  padding: 12px 100px;
  box-shadow: 0 0 10px rgba(0, 128, 128, 0.5);
  text-decoration: none;
  font-size: 16px;
  animation: pulseGlow 1.5s ease-in-out infinite, slideInFromRight 0.8s ease forwards;
  width:100%;
  height:9%;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}
}



@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 10px rgba(0, 128, 128, 0.6);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 20px rgba(0, 128, 128, 1);
    transform: scale(1.05);
  }
  100% {
    box-shadow: 0 0 10px rgba(0, 128, 128, 0.6);
    transform: scale(1);
  }
}

/*Regular PC/Laptop View*/
@media only screen and (min-width:1000px){
.side-tab {
  position: fixed;
  top: 50%;                      /* center vertically */
  right: 0px;                    /* a few px in from the scrollbar */
  transform: translateY(-50%);   /* true centering */
  display: block;
  background: linear-gradient(135deg, #56c1a1, #2e8276);     /* customize to match your palette */
  color: #fff;
  text-decoration: none;
  padding: 20px 2px;
  font-family: Sanita One;
  font-size: 36px;
  border-radius: 15px 0 0 15px;    /* rounded on the left edge */
  z-index: 1000;                 /* sit above most page content */

  /* vertical text via CSS3 (modern browsers) */
  writing-mode: vertical-rl;
  text-orientation: mixed;
  animation: pulseGlow 1.5s ease-in-out infinite, slideInFromRight 0.8s ease forwards;
}
}

/*Mobile view - Samsung A22 ~ Samsung A51*/
@media only screen and (max-width:600px){
.side-tab {
  position: fixed;
  top: 50%;                      /* center vertically */
  right: 0px;                    /* a few px in from the scrollbar */
  transform: translateY(-50%);   /* true centering */
  display: block;
  background: linear-gradient(135deg, #56c1a1, #2e8276);     /* customize to match your palette */
  color: #fff;
  text-decoration: none;
  padding: 20px 2px;
  font-family: Sanita One;
  font-size: 30px;
  border-radius: 15px 0 0 15px;    /* rounded on the left edge */
  z-index: 1000;                 /* sit above most page content */

  /* vertical text via CSS3 (modern browsers) */
  writing-mode: vertical-rl;
  text-orientation: mixed;
  animation: pulseGlow 1.5s ease-in-out infinite, slideInFromRight 0.8s ease forwards;
  width:10%;
    height:auto;
    display:flex;
    justify-content:center;
    align-items:center;
}
}

/*Mobile View - Blackberry Playbook*/
@media only screen and (min-width:600px) and (max-width:1000px){
.side-tab {
  position: fixed;
  top: 50%;                      /* center vertically */
  right: 0px;                    /* a few px in from the scrollbar */
  transform: translateY(-50%);   /* true centering */
  display: block;
  background: linear-gradient(135deg, #56c1a1, #2e8276);     /* customize to match your palette */
  color: #fff;
  text-decoration: none;
  padding: 20px 2px;
  font-family: Sanita One;
  font-size: 30px;
  border-radius: 15px 0 0 15px;    /* rounded on the left edge */
  z-index: 1000;                 /* sit above most page content */

  /* vertical text via CSS3 (modern browsers) */
  writing-mode: vertical-rl;
  text-orientation: mixed;
  animation: pulseGlow 1.5s ease-in-out infinite, slideInFromRight 0.8s ease forwards;
  width:8%;
    height:10%;
    display:flex;
    justify-content:center;
    align-items:center;
}
}

/*Mobile View - Blackberry Playbook*/
@media only screen and (min-width:600px) and (max-width:1000px){
.book-appointment-cta {
  position: fixed;
  bottom: -1px;
  right: 0px;
  z-index: 9999;
  background: linear-gradient(135deg, #56c1a1, #2e8276);
  color: #fff;
  font-weight: bold;
  padding: 12px 100px;
  box-shadow: 0 0 10px rgba(0, 128, 128, 0.5);
  text-decoration: none;
  font-size: 16px;
  animation: pulseGlow 1.5s ease-in-out infinite, slideInFromRight 0.8s ease forwards;
  width:100%;
  height:8%;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}
}


/*Mobile View - iPhone SE*/
@media only screen and (min-width:300px) and (max-width:375px){
.book-appointment-cta {
  position: fixed;
  bottom: -1px;
  right: 0px;
  z-index: 9999;
  background: linear-gradient(135deg, #56c1a1, #2e8276);
  color: #fff;
  font-weight: bold;
  padding: 12px 100px;
  box-shadow: 0 0 10px rgba(0, 128, 128, 0.5);
  text-decoration: none;
  font-size: 16px;
  animation: pulseGlow 1.5s ease-in-out infinite, slideInFromRight 0.8s ease forwards;
  width:100%;
  height:7%;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}
}

/*Mobile View - iPhone SE*/
@media only screen and (min-width:300px) and (max-width:375px){
.side-tab {
  font-size: 30px;
}
}

/*Mobile View - iPhone XR ~ iPhone 12 Pro ~ iPhone 14 Pro Max ~ Pixel 7*/
@media only screen and (min-width:375px) and (max-width:430px){
.book-appointment-cta {
  width:100%;
  height:6%;
}
}

/*Mobile View - iPad Mini ~ iPad Air ~ iPad Pro*/
@media only screen and (min-width:600px) and (max-width:912px){
.book-appointment-cta {
  width:100%;
  height:6%;
}
}

/*Mobile View - Surface Pro*/
@media only screen and (min-width:912px) and (max-width:1000px){
.book-appointment-cta {
  width:100%;
  height:5%;
}
}

/*Mobile View - Surface Duo*/
@media only screen and (min-width:540px) and (max-width:600px){
.book-appointment-cta {
  width:100%;
  height:7%;
}
}


/*Accordion text centering for mobile & tablets*/

@media only screen and (max-width:1100px){
 	.zpaccordion-container.zpaccordion-style-01.zpaccordion-with-icon.zpaccord-svg-icon-1.zpaccordion-icon-align-left{
     	text-align:center;   
    }
}


/*Tab icon mobile removal*/

.zptabicon{
 	display:none !important;   
}

/*Form editing*/

@media only screen and (max-width:1000px){
 	.zpform-outer{
     	text-align:center;   
    }
}

@media only screen and (max-width:1000px){
 	.zpform-choice-container{
     	display:flex;
        justify-content:center;
    }
}