/* Universal Indicator */
* {
   
  /* Text/Font */
  text-decoration: none;
  font-family: 'Roboto', sans-serif;
  
  /* Spacing */
  margin: 0;
  padding: 0;
  
  /* Transistion/Animation */
  transition-duration: 0.5s;
  transition-timing-function: ease;

}

/* Non Class/ID */
body {
  
  /* Colour Variables */
  /* Constants */
  --constWhite: #ffffff;
  
  /* Text */
  --textPrimary: #000000;
  --textSecondary: #555555;
  --textAccent: #3EAFF9;
  --textOpposite: #ffffff;
    
  /* Backgrounds */
  --backgroundPrimary: #ffffff;
  --backgroundSecondary: #f0f0f0;
  --backgroundAccent: #3EAFF9;
  --backgroundFadedAccent: rgba(62,175,249,0.7);

  /* Borders */
  --borderPrimary: #ffffff;
  --borderSecondary: #f0f0f0;
  --borderAccent: #3EAFF9;
  
  /* Box Shadow */
  --boxShadowColourPrimary: rgba(0,0,0,0.7);
  --boxShadowColourAccent: rgba(62,175,249,0.7);

  /* Misc */
  --miscColour1: #FFD700;
  --miscColour2: #3EAFF9;
  --miscColour3: #FF0000;
  
  /* Body Colour */
  background-color: var(--backgroundPrimary);
}
h1 {
  color: var(--textPrimary);
  font-size: 36px;
  font-weight: 600;
}
h3 {
  color: var(--constWhite);
  text-align: center;
  font-weight: 400;
  margin: 10px 0;
}
h4 {
  color: var(--textPrimary);
}
p {
  color: var(--textSecondary);
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  padding: 10px;
}
.header{
  /*min-height: 100vh;      NEEDS TO BE 100 FOR CAROUSEL    */
  min-height: 50vh;
  width: 100%;
  background-position: center;
  background-size: cover;
  background-color: #35363a;
  position: relative;
  display: flex;
  flex-direction: column;
}
/* START Backgorund images carousel */
.carousel {
  z-index: 1;
  min-height: 100vh;
  position: relative;
}
.carousel ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.slide {
  position: absolute;
  inset: 0;
  transition: 200ms opacity ease-in-out;
  transition-delay: 200ms;
  display: flex;
  justify-content: center;
  align-items: center; 
}
.slide img {
  display: block;
  width: 100%;
  height: 100%; 
  object-fit: cover;
  object-position: center;
}
.fade {
  animation-name: fade;
  animation-duration: 4s;
}
@keyframes fade {
  from {opacity: .3} 
  to {opacity: .8}
}
@media only screen and (max-width:1000px) {
  /* tablet */
  .carousel {
      width: 100vw;
      margin-left: 0;
      margin-right: 0;
      margin-bottom: .5vw;
      position: relative;
  }
  .slide {
      width: 100vw;
  }
}

/* END Backgorund images carousel */ 

nav {
  width: 96%;
  position: fixed;
  top: 0;
  z-index: 2;
  display: flex;
  padding: 2% 2%;
  justify-content: space-between;
  background-color: #35363a;
}
nav img {
  width: 300px;
  border-radius: 30px;
  max-height: 5vh;
}
.nav-links {
  position: fixed;
  right: 0;
  z-index: 4;
  flex: 1;
  text-align: right;
  background-color: #35363a;
  width: 100vw;
}
.nav-links ul li {
  list-style: none;
  display: inline-block;
  padding: 14px 16px;
  position: relative;
}
.nav-links ul li a {
  color: var(--constWhite);
  text-decoration: none;
  font-size: 17px;
}
.nav-links ul li::after {
  content: '';
  width: 0%;
  height: 2px;
  background: var(--constWhite);
  display: block;
  margin: auto;
  transition: 0.5s;
}
.theme {
  z-index: 5;
  position: absolute;
  top: 15%;
  left: 0%;
  width: 5%;
  filter: invert();
  cursor: pointer;
  margin-left: 30px;
}
.nav-links ul li:hover::after{
  width: 100%;
}
.text-box{
  z-index: 2;
  width: 90%;
  color: var(--constWhite);
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-align: center; 
}
.text-box h1{
  font-size: 70px;
}
.text-box h3{
  font-size: 35px;
}
.text-box p{
  margin: 10px 0 40px;
  font-size: 20px;
  color: var(--constWhite);
}
.hero-btn{
  display: inline-block;
  text-decoration: none;
  color: var(--constWhite);
  border: 2px solid var(--constWhite);
  padding: 20px 34px;
  font-size: 16px;
  background: transparent;
  position: relative;
  cursor: pointer;
  border-radius: 30px;
}
.hero-btn:hover{
  border: 1px solid var(--constWhite);
  background: var(--backgroundAccent);
  transition: 1s;
}
nav .fa{
  display: none;
}

@media(max-width: 700px){
  nav {
    justify-content: flex-end;
  }
  .theme {
    position: fixed;
    width: 8%;
    top: 1%;
    left: 0%;
    margin-left: 10px;
  }
  .text-box {
    z-index: 1;
  }
  .text-box h1{
    font-size: 50px;
  }
  .text-box h3{
    font-size: 25px;
  }
  .text-box p{
    font-size: 10px;
  }
  .nav-links ul li{
    display: block;
  }
  .nav-links{
    position: fixed;
    background: var(--backgroundAccent);
    height: 100vh;
    width: 80vw;
    top: 0;
    right: -80vw;
    text-align: left;
    z-index: 3;
    transition: 1s;
  }
  nav .fa{
    position: fixed;
    display: block;
    color: var(--textPrimary);
    margin: 10px;
    font-size: 22px;
    cursor: pointer;
  }
  .nav-links ul{
    padding: 30px;    
  }
}

/*------------------ A bit about us -----------------------*/

.bitabout{
  width: 80%;
  margin: auto;
  text-align: center;
  padding-top: 100px;
}


.row{
  margin-top: 5%;
  display: flex;
  justify-content: space-between;
}

.bitabout-col{
  flex-basis: 31%;
  background: var(--backgroundAccent);
  border-radius: 10px;
  margin-bottom: 5%;
  padding: 20px 12px;
  box-sizing: border-box;
  transition: 0.5s;
}
.bitabout-col p {
  color: var(--constWhite);
}
.bitabout-col:hover {
  box-shadow: 0 0 30px 0px var(--boxShadowPrimary);
}
@media(max-width: 700px) {
  .row {
      flex-direction: column;
  }
}

/*----------------------- services -------------------------*/

.services {
  width: 80%;
  margin: auto;
  text-align: center;
  
}
.services h1 {
  font-size: 60px;
  margin-top: 50px;
}
.service-col {
  flex-basis: 30%;
  border-radius: 30px;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 30px 0px var(--boxShadowAccent);
  display: inline-block;
}
.service-col img {
  width: 100%;
  display: block;
    
}
.layer {
  background: transparent;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s;
}
.layer:hover {
  background: var(--backgroundFadedAccent);
}
.layer h3 {
  display: flex;
  object-fit: contain;
  font-weight: 500;
  font-size: 26px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  opacity: 0;
}
.layer:hover h3 {
  bottom: 49%;
  opacity: 1;
}
@media(max-width: 768px) {
  .layer h3 {
    opacity: 1;
    border-bottom: 2px solid var(--backgroundAccent);
    border-radius: 1px;
  }
}

/*------------------Jobs -------------------*/

.jobsection {
  width: 80%;
  margin: auto;
  text-align: center;
  padding-top: 100px;  
}

.jobsection h3 {
  color: var(--textSecondary);
}
.jobs-col h3 {
  color: var(--textPrimary);
  font-weight: 600;
}
.jobs-col {
  flex-basis: 31%;
  border-radius: 50px;
  margin: 20px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: 2% 2%;
  cursor: pointer;
    
}
.jobs-col img {
  width: 100%;
  border-radius: 50px;
}
.jobs-col img:hover {
  box-shadow: 0 0 20px 0px var(--boxShadowAccent);
}
.jobs-col p {
  padding: 0;
  text-align: center;
}
.jobs-col h3 {
  margin-top: 16px;
  margin-bottom: 15px;
  text-align: center;
}

/*--------------- testimonials ------------------*/

.testimonials {
  width: 80%;
  margin: auto;
  text-align: center;
  padding-top: 100px;
}
.testimonials-col {
  flex-basis: 44%;
  border-radius: 10px;
  margin-bottom: 5%;
  text-align: left;
  background: var(--backgroundAccent);
  padding: 25px;
  cursor: pointer;
  display: flex;
  box-shadow: 0 0 30px 0px var(--boxShadowPrimary);
}
.testimonials-col img {
  height: 40px;
  margin-left: 5px;
  margin-right: 30px;
  border-radius: 50%;
}
.testimonials-col p {
  padding: 0;
  color: var(--constWhite);
}
.testimonials-col h3 {
  margin-top: 15px;
  text-align: left;
}

.testimonials-col .fa {
  color: var(--miscColour1);
}

@media(max-width: 700px) {
  .testimonials-col img{
      margin-left: 0px;
      margin-left: 15px;
  }
}

/*----------------call to action-----------------------*/

.cta {
  margin: 100px auto;
  width: 80%;
  background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url(images/nurses.jpg);
  background-position: center;
  background-size: cover;
  border-radius: 30px;
  text-align: center;
  padding:  100px 0;
  box-shadow: 0 0 30px 0px var(--boxShadowPrimary);
}
.cta h1 {
  color: var(--constWhite);
  margin-bottom: 40px;
  padding: 0;
}
@media(max-width: 700px) {
  .cta h1{
      font-size: 24px;
  }
}

/*------------------ footer --------------------*/

.footer {
  width: 100%;
  text-align: center;
  padding: 30px 0;
    
}
.footer h4 {
  margin-bottom: 25px;
  margin-top: 20px;
  font-weight: 600;
}
  .footer-logo img {
  }
.icons .fa {
  color: var(--textAccent);
  margin: 0 40px;
  cursor: pointer;
  padding: 30px 0;
}

.fa-heart-o {
  color: var(--miscColour3);
}
.btt-btn ul li a {
  color: var(--textSecondary);
  text-decoration: none;
}

/*-----------------About Us Page -----------------*/


.sub-header {
  height: 30vh;
  width: 100%;
  background-image: linear-gradient(rgba(4,9,30,0.5),rgba(4,9,30,0.5)),url(images/About_us_banner.jpg);
  background-position: center;
  background-size: cover;
  text-align: center;
  color: var(--constWhite);
  
  display: flex;
  flex-direction: column;
}
.header h1, .sub-header h1 {
  color: var(--constWhite);
}
.sub-header h1 {
  font-size: 150px;
  margin-top: 75px;
}
.about_us {
  width: 80%;
  padding-top: 80px;
  padding-bottom: 50px;
  margin: auto;
  text-align: center;
}
.about-col {
  flex-basis: 48%;
  padding: 30px 2px;
   
}
.about-col img {
  width: 80%;
  height: 55vh;
  margin: 100px 110px;
  border-radius: 10px;
  box-shadow:  0 0 50px 0px var(--boxShadowAccent);  
}
.about-col p {
  padding-top:15px 0 25px;
  margin-top: 30px;
}
.blue-btn {
  border: 1px solid var(--borderAccent);
  background: transparent;
  color: var(--textAccent);
  border-radius: 30px;
  margin-left: 5px;
  box-shadow:  0 0 10px 0px var(--boxShadowAccent);
  margin-top: 60px;
}
.blue-btn:hover {
  color: var(--constWhite);
}
.report-image {
  width: 100%;
  margin-top: 100px;
  text-align: center;
}
.report-image img {
  border-radius: 10px;
  box-shadow: 0 0 30px 0px var(--boxShadowPrimary);
}
.image-text h3 {
  color: var(--textSecondary);
  margin-top: 30px;
  font-weight: 500;  
}
@media(max-width: 700px) {
  .sub-header h1{
    font-size: 70px;
    margin-top: 150px;
  }
  .about-col img {
    margin: 0;
  }
  .report-image img {
    width: 80vw;
  }
}
/*--------------------- nurses jobs page --------------------

This will used repeatedly for the carers and support workers page----*/

.nurses-header {
  height: 50vh;
  width: 100%;
  background-image: linear-gradient(rgba(4,9,30,0.5),rgba(4,9,30,0.5)),url(images/nurses_jobs_banner.jpg);
  background-position: center;
  background-size: cover;
  text-align: center;
  color: var(--constWhite);
}
.nurses-header h1 {
  font-size: 150px;
  margin-top: 45px; 
}
.jobs-col {
  width: 80%;
  padding-top: 80px;
  padding-bottom: 50px;
  margin: auto;
  text-align: left; 
}
.nurse-jobs {
  flex-basis: 48%;
  border-radius: 50px;
  margin: 10px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: 2% 2%;
  cursor: pointer;
}
.nurse-jobs img {
  width: 100%;
  border-radius: 30px;
  margin-top: 30px;
  box-shadow: 0 0 50px 0px var(--boxShadowPrimary);
}
.nurse-jobs p {
  width 40%
  box-sizing: border-box;
  background-color:  var(--backgroundAccent);
  border-radius: 50px;
  padding: 8%;
  font-size: 17px;
  font-weight: 300;
  color: var(--constWhite);
  margin-top: 50px;
  box-shadow: 0 0 20px 0px var(--boxShadowPrimary);
}
.nurse-jobs-btn {
  width: 100%;
  text-align: center;
}
@media(max-width: 700px) {
  .nurse-jobs img {
    width: 90vw;
  }
}

/*-----------------------------blog page---------------------------------*/

.blog-content {
  width: 80%;
  margin: center;
  padding: 60px 0; 
}
.text-box-blog {
  width: 100%;
  text-align: center;
  padding-top: 100px;
}
.blog-content h1 {
  margin-left: 500px;
}
.blog-left {
  flex-basis: 65%; 
}
.blog-left img {
  width: 60%;
  margin-left: 50px;
  border-radius: 20px;
  box-shadow: 0 0 20px 0px rgba(0,0,0,0.7); 
}

.blog-left h1 {
  margin-left: 50px;
  margin-top: 50px;
}
.blog-left p {
  width: 60%;
  margin-top: 30px;
  margin-left: 50px;
}
.blog-right {
  flex-basis: 32%;
  margin-right: 200px;
}
.blog-right h3 {
  background: var(--backgroundAccent);
  color: var(--constWhite);
  padding: 7px 0;
  font-size: 16px;
  margin-bottom: 20px;
}
.blog-right div{
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--textSecondary);
  padding: 12px;
  box-sizing: border-box;
}
.comment-box {
  border: 1px solid var(--borderAccent);
  margin: 50px 5px;
  padding: 10px 20px;
}
.comment-box h3 {
  text-align: left;
}
.comment-form input, .comment-form textarea {
  width: 100%;
  padding: 5px;
  margin-top: 15px;
  box-sizing: border-box;
  border: none;
  outline: none;
  background: var(--backgroundSecondary);   
}
.comment-form button {
  margin: 15px 0;
}
@media (max-width:700px) {
  .comment-box{
      margin: 0;
      width: 90%;
  }
  .blog-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .blog-left h1 {
    margin: 20px 0 0 0;
    text-align: center;
  }
  .blog-left p {
    margin: 20px 0 0 0;
    padding: 0;
    text-align: center;
  }
  .blog-left img {
    display: flex;
    margin: 0;
  }
  .blog-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 20px 0 0 0;
  }
  .blog-right h3 {
    text-align: center;
  }
  .post-categories {
    margin-left: 10px;
    margin-right: 10px;
  }
  .row button {
    width: 100%;
  }
  .blog-content{
      flex-direction: column;
  }
    
}   

/*-------------------- Contact us ------------------------*/

.location {
  width: 80%;
  margin: auto;
  padding: 80px 0;
filter: none;   
}
.location iframe {
  width: 100%;
  height: 60vh;
}
.contact-us {
  width: 80%;
  margin: auto;
}
.contact-col {
  flex-basis: 48%;
  margin-bottom: 30px; 
}
.contact-col div {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
.contact-col div .fa {
  font-size: 48px;
  color: var(--textAccent);
  margin: 10px;
  margin-right: 30px; 
}
.contact-col div p {
  padding: 0;
}
.contact-col div h5 {
  font-size: 20px;
  margin-bottom: 5px;
  color: var(--textSecondary);
  font-weight: 400;
}
.contact-col input, .contact-col textarea {
  background-color: var(--backgroundSecondary);
  border: none;
  width: 100%;
  padding: 15px;
  margin-bottom: 17px;
  outline: none; 
}
@media(max-width: 768px) {
  .location {
  width: 80%;
  margin: auto;
  padding: 80px 0;
filter: none;   
}
.location iframe {
  width: 100%;
  height: 40vh;
}
  
}
/*---------------------- team ------------------------*/

.team {
  width: 80%;
  margin: auto;
  text-align: center;
  padding-top: 100px; 
}
.team-col {
  flex-basis: 20%;
  background: var(--backgroundAccent);
  border-radius: 10px;
  margin-bottom: 5%;
  padding: 20px 12px;
  box-sizing: border-box;
  transition: 0.5s;
  
}

.team-col h3{
  color: white;
}

.team-col h4{
  color: white;
}

.team-col:hover {
  box-shadow: 0 0 30px 0px rgba(0,0,0,0.7);
}

.team-col img {
	width: 100px;
	height: 100px;
}

@media(max-width: 768px) {
  .team-col img {
    width: 80%;
  }
}