/*
Theme Name: TSS Facilities Management
Description: Theme developed for TaSS Facilities Management in March 2026
Version: 1
Author: Jonathan Gendrot | Gendrot Web Solutions
Author URI: http://www.gendrot-web-solutions.co.uk
*/

body {
    background: hsl(0, 0%, 0%); 
    font-size: 1.063rem;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

#wrapper-container {
    width: 100%;
   /* max-width: 1440px; */
    margin: 0 auto;
    padding: 0;
}

/* Grid container to split the menu bar into sections */
.menu-container {
    display: grid;
    grid-template: auto 1fr auto / auto 1fr auto;
}

.grid-left {grid-column: 1 / 2;}
.grid-middle {
    grid-column: 2 / 3; color: hsl(0, 0%, 95%);
    text-align: right;
    padding: 1rem;
}
.grid-end {grid-column: 3 / 4;}

/* main menu styles */
.topnav-container {
  background-color: hsl(0, 0%, 0%);
  overflow: hidden;
}

.topnav-container a {
  float: left;
  display: block;
  color: hsl(0, 0%, 95%);
  text-align: center;
  padding: 1rem;
  text-decoration: none;
  font-size: 1.063rem;
}

.topnav-container .icon {
  display: none;
}

.dropdown {
  float: left;
  overflow: hidden;
}

/* Style the dropdown button to fit inside the topnav */
.dropdown .dropbtn {
  font-size: 1.063rem;
  border: none;
  outline: none;
  color: hsl(0, 0%, 98%);
  padding: 1rem;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}

/* Style the dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  left: 0;
  background-color: hsl(0, 0%, 98%);
  width: 100%;
  box-shadow: 0px 8px 16px 0px hsla(0, 0%, 0%, 0.2);
  z-index: 1;
}

/* Style the links inside the dropdown */
.dropdown-content a {
  float: none;
  color: hsl(0, 0%, 0%);
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.topnav-container a:hover, .dropdown:hover .dropbtn {
  background-color: hsl(206, 31%, 28%);  
  color: hsl(0, 0%, 100%);
}

.dropdown-content a:hover {
  background-color: hsl(0, 0%, 85%);
  color: hsl(0, 0%, 0%);
}

/* Dropdown menu when the user moves the mouse over the dropdown button */
.dropdown:hover .dropdown-content {
  display: block;
}

/* For non mobile - Desktops, position the drop down links in columns */
.dropdown-content {
    clear: both;
}

.dropdown-content .dropdown-column {
    float: left;
    width: 33.33%;
}

/* When the screen is less than 600 pixels wide, hide all links, except for the first one. 
Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
  .topnav-container a:not(:first-child), .dropdown .dropbtn {
    display: none;
  }
  .topnav-container a.icon {
    float: right;
    display: block;
  }
  .menu-container {
    display: grid;
    justify-items: center;
  }


  /* Change grid elements to set them to full width */
  .grid-middle, .grid-end {grid-column: 1/4; }

  /* Clear float of dropdown containers,show links vertically*/
  .dropdown-content .dropdown-column {
    float: none;
    width: auto;
}

}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. 
This class makes the topnav display the links vertically instead of horizontally */
@media screen and (max-width: 600px) {
  .topnav-container .responsive {position: relative;}
  .topnav-container.responsive a.icon {
    position: absolute;
    right: 0;
    top: 8px;
  }
  .topnav-container.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
  .topnav-container.responsive .dropdown {float: none;}
  .topnav-container.responsive .dropdown-content {position: relative;}
  .topnav-container.responsive .dropdown .dropbtn {
    display: block;
    width: 100%;
    text-align: left;
  }

}

/* Reset menu grid layout for desktop view */
.grid-middle a, .grid-end a {float: right;}

/* Flex parent container for hero section*/
#hero-container {
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center;
    height: 530px;
    padding: 2rem; 
}

/*  Stretching div containers */
#hero-container div { 
    flex: 1 1 150px; 
    display: grid;
    place-items: center;
}

.hero-text {
    margin: 6rem 0;
    color: hsl(0, 0%, 98%);
}

/* Mobile - reset container to block element */
@media screen and (max-width: 930px) {
    #hero-container {
        display: block; 
        height: auto;
        padding: 0 1rem;
    }
    .hero-text, .header-btn:link, .header-btn:visited {
        display: block;
        width: auto;
    }

}

/* Logo */
.logo img {
    display: block;
    margin:  0 auto;
    padding: 0; 
    margin: 0 1rem;
}

@media screen and (max-width: 1029px) {
    .logo img { 
        width: 90%; 
        height: auto; 
        margin: 0 auto;
    }
}

@media screen and (max-width: 600px) {
    .logo img { 
        width: 100%; 
        height: auto; 
        max-height: 350px;
        margin: 0 auto;
    }
}

/* Styles for button links */
.menu-btn:link, .menu-btn:visited {
    background-color: #55839C;
    border: 1px solid #324B5E;
    color: hsl(0, 0%, 100%);
    font-weight: 600;
    padding: 1rem;
    cursor: pointer;
    text-decoration: none;
    border-radius: 5px;
}

.menu-btn:active, .menu-btn:hover {
    background-color: #324B5E; 
}

.header-btn:link, .header-btn:visited {
    background-color: #012E4D;
    border: 1px solid #11253C;
    color: hsl(0, 0%, 100%);
    font-weight: 600;
    width: auto;
    padding: 1rem 3rem;
    cursor: pointer;
    text-decoration: none;
    border-radius: 5px;
}

@media screen and (max-width: 1029px) {

    .hero-text {
        display: grid;
        place-items: left;
    }

}

.header-btn:active, .header-btn:hover {
    background-color: #324B5E; 
}

/* Styles for Main html element and styles for main-container*/
main {
    background: hsl(0, 0%, 100%);
    padding: 0;
}

.inner-wrapper {
    padding: 2rem 1rem;
}

main p {
    padding: 1rem 0;
}

/* Grid and column layout */
.content-container {
    display: grid;
    place-items: center;
    color: hsl(0, 0%, 100%);
}

.service-container {
    display: grid;
    place-items: center;
    height: 1000px;    
    color: hsl(0, 0%, 100%);
}

.service-container .column-img {
    text-align: center;
    display: block;
}


.column-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.column {
    flex: 1 1 150px; 
    margin: 0 1rem;
    padding: 0 1rem;
}

.service-container .column {
     padding: 0 5rem;
}

/* Parent card container */
.card-container {
    height: auto;
    grid-gap: 1rem;
    padding: 1rem;
  }

.card {
    padding: 1rem;
    text-align: center;
    background-color: hsl(0, 0%, 95%);
    border: 2px solid hsl(0, 0%, 65%);
    height: 400px;
    place-content: center;
}

.card p {
    font-size: 1rem;
}

@media screen and (max-width: 1080px) {
    .content-container, .column-container {
        display: block; 
        height: auto;
        width: 100%;
    }
    .column {
        margin: 0;
        padding: 2rem;
    }

    .is-layout-grid, .is-layout-flex {
        display: block !important;    
    }

    .is-layout-grid > :is(*, div) {
        margin: 0;
    
    }

    .service-container .column {
        padding: 1rem;
    }

    .service-container .column img {
        max-width: 500px;
        width: 100%;
        height: auto;
    }

    .card-container {
        padding: 1rem 0;
    }

    .inner-wrapper {
        padding: 1rem;
    }

}

/* Footer */
#footer-container {
    color: hsl(0, 0%, 100%);
    text-align: center;
    font-size: 1rem;
}

#footer-container p {
    word-wrap: break-word;
}

#footer-container .column:first-child img {
    margin: 0 auto;
    width: 100%;
    height: auto;
    max-width: 300px;
    display: block;
}

#footer-container .column:first-child {
    text-align: left;
    display: grid;
    place-items: center;
}

#footer-container .column:first-child p {
    margin: 0;
    padding: 0 1rem;
}

#footer-container .column:first-child span {
    font-size: 2rem;
}

#footer-container ul {
    list-style-type: none;
    margin: 2rem;
}

#footer-container li {
    padding: 1rem 0;
    border-bottom: 1px solid hsl(0, 0%, 100%);
}

/* Form */

form {
    width: 90%;
    margin: 0 auto;
}

.form-column {
    width: 50%;
    float: left;
}

@media screen and (max-width: 600px) {

    form {
        padding: 0;
        margin: 0;
        padding-bottom: 1rem;
    }

    .form-column {
        width: 100%;
        float: none;
    }
}

.notification, .notification-error {
    margin: 1em;
    padding: 0 0 1rem 0;
    text-align: center;
    font-size: 0.875rem;
    border-right: 6px solid hsl(121, 71%, 27%);
}

.notification-error {
    font-size: 0.875rem;
    color: hsl(359, 97%, 37%);
    border-right: 6px solid hsl(359, 97%, 37%);
}

label {
    font-size: 1rem;
    display: block;
    text-align: center;
}

label strong {
    color: hsl(359, 97%, 37%);
}

input, select, textarea {
    background-color: hsl(220, 4%, 14%);
    color: hsl(0, 0%, 100%);
    opacity: 0.7;
}

input, select, textarea, input[type="submit"] {
    width: 100%;
    font-size: 1rem;
    text-align: center;
    margin: 1rem 0;
    padding: 1rem 0;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

textarea {
    width: 99%;
    height: 6vh;
    resize: none;
}

input[type="submit"]  {
    background-color: hsl(204, 97%, 15%);
    border: 1px solid hsl(212, 56%, 15%);
    color: hsl(0, 0%, 100%);
    padding: 1rem 0;
    margin: 0 0 1rem 0;
    font-family: 1rem;
    font-weight: 600;
    cursor: pointer;
}

input[type="submit"]:hover, input[type="submit"] :active{
    background-color: hsl(206, 31%, 28%);
}

/* Heading */

h1 {
    font-size: 3.125rem; /* 50px */
    color: hsl(0, 0%, 98%);
}

h2 {
    font-size: 2.5rem; /* 40px */
    color: hsl(204, 97%, 15%); 
}

h3 {
    font-size: 2rem; /* 32px */
    color: hsl(206, 31%, 28%);
}

.content-container h2, .service-container h3  {
    color: hsl(0, 0%, 100%);
}

h4 {
    font-size: 1.125rem; /* 18px */
    color: hsl(204, 97%, 15%);
}

.card h4 {
    color: hsl(0, 0%, 0%);
}

#footer-container h4 {
    color: hsl(0, 0%, 100%);
    margin: 2rem 0;
}
   
h5 {
    font-size: 1rem; /* 16px */
}

h6 {
    font-size: 0.625rem; /* 10px */
}

/* Links */

main a:link, main a:visited {
   color: hsl(212, 56%, 15%);
}

main a:hover, main a:active {
  color: hsl(201, 29%, 47%);
}

#footer-container a:link, #footer-container a:visited {
    color:hsl(0, 0%, 100%);
}

#footer-container a:hover,#footer-container a:active {
    color: hsl(201, 29%, 47%);
}

/* Highlight text selection */

::selection {
    background-color: hsl(206, 31%, 28%);
    color: #fafafa;
}


/* Background colours for sections */
.black {
    background-color: hsl(0, 0%, 0%);
}

.darkgrey {
    background-color: hsl(220, 4%, 14%);
}

.orange {
    background-color: hsl(27, 98%, 43%);
}

.red {
    background-color: hsl(359, 97%, 37%);
}

.lightblue {
    background-color: hsl(205, 100%, 38%);
}

.darkblue {
    background-color: hsl(215, 98%, 22%);
}

.purple {
    background-color: hsl(269, 70%, 37%);
}

.green {
    background-color: hsl(121, 71%, 27%);
}

.yellow {
    background-color: hsl(45, 99%, 48%);
}

.white {
    background-color: hsl(0, 0%, 98%);
}

.fa {
    font-weight: 800;
}

.spacer {
    margin: 2rem 0;
}
.error {
    color: hsl(359, 97%, 37%);
    text-align: center;
}

.error ul {
    list-style-type: none;
    border-right: 3px solid hsl(0, 100%, 50%);
    font-size: 0.85rem;
}

.wp-block-button__link.wp-element-button {
    margin: 1rem 0;
}

/* Back to the top link  */

.back-to-top {
    display: none;
    position: fixed;
    bottom: 40px;
    right: 20px;
    padding: 10px;
    background-color: hsl(212, 56%, 15%);
    color: hsl(0, 0%, 100%);
    text-decoration: none;
    border-radius: 5px;
    z-index: 1;
}

a.back-to-top:link, a.back-to-top:visited {
    color: hsl(0, 0%, 100%);
}