/*
Theme Name: Altus Science v2.0
Description: Modern PHP 8.3 compatible theme for Altus Science with enhanced quote system, advanced security, and performance optimizations.
Author: Altus Science Development Team
Version: 2.0.0
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 8.0
License: Private
Text Domain: altus

Enhanced Features:
- PHP 8.3 fully compatible
- Modern quote system with persistent cart
- Advanced security with CSRF protection
- Performance optimized with caching
- Responsive mobile-first design
- Admin dashboard for quote management
- Professional email templates
- Real-time form validation
*/

/**
 * Table of Contents:
 *
 * 1.0 - Universal Rules
 * 2.0 - Home Template
 * 3.0 - Quality Policy Template
 * 4.0 - News Template
 * 5.0 - Testimonials
 * 6.0 - C of A Template
 * 7.0 - MSDS Template
 * 8.0 - Contact Us
 * 9.0 - Products
 * 10.0 - Channel Partners Template
 * 11.0 - Footer
 * 12.0 - International Pages
 * -----------------------------------------------------------------------------

/**
 * 1.0 Universal Rules
 *
 * Rules that are used throughout the website
 *
 * -----------------------------------------------------------------------------
 */
body {
  max-width: 1280px;
  margin: 0 auto;
  background: #ffffff; }

.body-when-menu {
  overflow: hidden; }

p, h1, h2, h3, h4, h5, h6 {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 300; }

button {
  font-family: 'Ubuntu', sans-serif; }

header .logo {
  padding: 2.5em 1em 2em;
  float: left;
  width: 130px; }
header .nav-list {
  padding-top: 1.5em;
  padding-left: 0;
  list-style-type: none; }
  header .nav-list li {
    border-bottom: 1px #428bca solid;
    font-family: 'Ubuntu', sans-serif;
    font-weight: 300;
    padding: 0.1em 0 0.1em 0;
    white-space: nowrap;
    text-overflow: ellipsis; }
  header .nav-list .current-menu-item {
    border-bottom: 2px #428bca solid;
    font-weight: 500; }
  header .nav-list .menu-item-log-out {
    border-bottom: 1px red solid;
    color: red;
    cursor: pointer; }
header .flags-container {
  margin-top: 1em; }
  header .flags-container .flag-home {
    float: right;
    width: 2em;
    margin-right: 0.75em; }

h2 {
  color: #2761a0;
  font-family: 'Ubuntu', sans-serif; }

h3 {
  opacity: 0.5;
  color: gray;
  font-family: 'Ubuntu', sans-serif; }

h4 {
  font-family: 'Ubuntu', sans-serif; }

p {
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.85em; }

.main-container {
  margin-bottom: 2em; }

.content-container {
  background: #fff; }
  .content-container .content-header {
    margin-bottom: 1em; }
  .content-container .content-block-text {
    text-align: justify;
    padding: 1em 0 1em 0; }
    .content-container .content-block-text .accreditation-logo {
      width: 100%;
      padding: 1em; }
    .content-container .content-block-text ul li {
      font-family: 'Ubuntu', sans-serif;
      font-weight: 300;
      font-size: 0.85em; }

.no-hero {
  margin-top: 0; }

.summary-widget {
  background: #ebf3f5;
  padding: 1em;
  margin-bottom: 1em;
  text-align: justify; }

.summary-widget2 {
  background: #e2f0a0;
  padding: 1em;
  margin-bottom: 1em;
  text-align: justify; }

.hidden {
  display: none; }

.mobile-menu-open {
  z-index: 999;
  margin-top: 3.25em; }
  .mobile-menu-open hr {
    border-top: 4px solid #333;
    width: 30px;
    margin: 0.4em 0 0.5em 0; }

.mobile-menu {
  height: 100%;
  width: 100%;
  background: #ebf3f5;
  position: fixed;
  z-index: 999999;
  margin-left: 100%;
  -webkit-transition: margin-left 0.5s; }
  .mobile-menu .logo-mobile {
    width: 100px;
    margin: 2.25em 0; }
  .mobile-menu ul {
    margin: 0 1em; }
  .mobile-menu #menu-header-menu-1 {
    margin-top: 3em; }
  .mobile-menu .nav-list {
    padding-left: 0;
    list-style-type: none; }
    .mobile-menu .nav-list li {
      padding: 0.1em 0 0.1em 0;
      margin: 0.5em 0;
      border-bottom: 1px #428bca solid;
      font-family: 'Ubuntu', sans-serif;
      font-weight: 300;
      font-size: 1.5em; }
    .mobile-menu .nav-list .menu-item-log-out {
      border-bottom: 1px red solid;
      color: red; }

.mobile-menu-close {
  font-size: 2em;
  margin: 1.75em 0.5em 0 0.5em; }

.mobile-menu-active {
  margin-left: 0%;
  overflow: scroll;
  padding-bottom: 2em; }

.searchwp-live-search-results {
  display: none; }

.search-results-container .searchwp-live-search-results {
  display: block !important;
  width: 100% !important; }

.searchwp-live-search-no-results {
  text-align: center; }

/**
 * 2.0 
 *
 * Home Template
 *
 * -----------------------------------------------------------------------------
 */
.hero-image {
  width: 100%; }

.slider-container {
  padding: 0; }

/**
 * 3.0 
 *
 * Quality Policy Template
 *
 * -----------------------------------------------------------------------------
 */
.signature .pen-signature {
  text-align: center; }
.signature img {
  width: 100%;
  padding: 1em; }

/**
 * 4.0 
 *
 * News Template
 *
 * -----------------------------------------------------------------------------
 */
.news-container {
  padding: 0; }

.blog-banner-container li {
  list-style-type: none; }
.blog-banner-container h1 {
  position: absolute;
  top: 0;
  padding: 0.5em;
  text-shadow: 1px 1px 5px black; }
.blog-banner-container h3 {
  position: absolute;
  top: 10%;
  width: 60%;
  padding: 0.75em 0.5em; }
.blog-banner-container .blog-title-white {
  color: #fff;
  text-shadow: 1px 1px 5px black;
  opacity: 1; }
.blog-banner-container .blog-title-black {
  color: #000;
  text-shadow: 1px 1px 5px white;
  opacity: 1; }

.blog-list a {
  color: #333;
  text-decoration: none; }
.blog-list li {
  margin: 1em;
  list-style-type: none; }
  .blog-list li img {
    width: 100%; }

/**
 * 5.0 
 *
 * Testimonals
 *
 * -----------------------------------------------------------------------------
 */
.testimonial .logo-left {
  width: 100%;
  margin: 1em 0em 0em 1em; }
.testimonial .logo-right {
  width: 100%;
  margin: 1em 0em 0em -1em; }
.testimonial footer {
  padding: 0; }

/**
 * 6.0 
 *
 * C of A Template
 *
 * -----------------------------------------------------------------------------
 */
.cofa-container {
  min-height: 600px; }
  .cofa-container .search-results-container {
    padding-top: 2em; }
  .cofa-container .search-criteria {
    font-family: 'Ubuntu', sans-serif;
    font-weight: 300; }
    .cofa-container .search-criteria h6 {
      font-weight: 500;
      margin-top: 2px; }
    .cofa-container .search-criteria ul li {
      font-family: 'Ubuntu', sans-serif;
      font-size: 0.85em; }
  .cofa-container .category-header {
    background-color: #ebf3f5;
    padding: 1em;
    margin-bottom: 1em; }
    .cofa-container .category-header p {
      margin: 0; }
  .cofa-container .cofa-search {
    width: 100%;
    color: #2761a0;
    background: transparent;
    font-size: 2em;
    font-family: 'Ubuntu', sans-serif;
    font-weight: 300;
    text-align: center;
    border: 0px;
    border-bottom: 1px solid #2761a0;
    outline: none;
    border-radius: 0;
    box-sizing: border-box !important;
    -webkit-appearance: none !important; }
  .cofa-container .cofa-search::-webkit-input-placeholder {
    font-weight: 300;
    color: #ddd;
    -webkit-transition: all 0.2s linear;
    /* Ch, Saf  3.2 */
    -moz-transition: all 0.2s linear;
    /* 4 < Fx <16 */
    transition: all 0.2s linear;
    /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
  .cofa-container .cofa-search:focus::-webkit-input-placeholder {
    color: transparent !important; }

/**
 * 7.0 
 *
 * MSDS Template
 *
 * -----------------------------------------------------------------------------
 */
.modal input {
  width: 100%;
  padding: 0.4em;
  color: #2761a0;
  background: transparent;
  font-size: 2em;
  font-weight: 300;
  text-align: center;
  border: 0px;
  border-bottom: 1px solid #2761a0;
  outline: none; }
.modal .login-error {
  display: none;
  color: red; }

.modal-footer {
  background: white; }

.msds-table thead tr th {
  padding: 0.2em 0.5em 0.2em 0.5em;
  color: #333;
  border-bottom: none; }
.msds-table .category {
  background-color: #ebf3f5; }
  .msds-table .category td {
    border: none; }
.msds-table td {
  text-align: left; }
.msds-table a {
  text-decoration: none;
  color: inherit; }

/**
 * 8.0 
 *
 * Contact Us
 *
 * -----------------------------------------------------------------------------
 */
.contact-container input:not([type='radio']) {
  width: 100%;
  padding: 0.1em;
  color: #2761a0;
  background: transparent;
  font-size: 2em;
  font-weight: 300;
  text-align: center;
  border: 0px;
  border-bottom: 1px solid #2761a0;
  outline: none;
  border-radius: 0;
  box-sizing: border-box !important;
  -webkit-appearance: none !important; }
.contact-container input[type=radio] {
  margin: 1.5em 0;
  margin-right: 0.5em; }
.contact-container textarea {
  width: 100%;
  color: #2761a0;
  border: 0px;
  border-bottom: 1px solid #2761a0;
  font-size: 2em;
  font-weight: 300;
  background: transparent;
  outline: none;
  border-radius: 0;
  box-sizing: border-box !important;
  -webkit-appearance: none !important; }
.contact-container .wpcf7-list-item-label {
  margin-right: 1em; }
.contact-container input[type=submit] {
  color: #5cb85c;
  padding: 0.25em 0.75em 0.25em 0.75em;
  border: 2px solid #5cb85c;
  border-radius: 25px;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  .contact-container input[type=submit]:hover {
    background-color: #5cb85c !important;
    border: 2px solid #5cb85c !important;
    color: #fff !important;
    cursor: pointer; }
.contact-container .content-block-text {
  padding: 0; }
.contact-container .contact-form-container {
  margin-top: 2em; }
.contact-container .contact-details {
  margin-top: 1em; }
.contact-container .find-us {
  margin-top: 2em; }

/**
 * 9.0 
 *
 * Products
 *
 * -----------------------------------------------------------------------------
 */
.products-container {
  min-height: 540px; }

.product-title {
  color: #2761a0; }

.filter-active {
  background-color: #2761a0;
  color: #fff; }

.products-search {
  width: 100%;
  color: #2761a0;
  background: transparent;
  font-size: 2em;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 300;
  text-align: center;
  border: 0px;
  border-bottom: 1px solid #2761a0;
  outline: none;
  border-radius: 0;
  box-sizing: border-box !important;
  -webkit-appearance: none !important; }

.products-search::-webkit-input-placeholder {
  font-weight: 300;
  color: #ddd;
  -webkit-transition: all 0.2s linear;
  /* Ch, Saf  3.2 */
  -moz-transition: all 0.2s linear;
  /* 4 < Fx <16 */
  transition: all 0.2s linear;
  /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }

.products-search:focus::-webkit-input-placeholder {
  color: transparent !important; }

.message {
  float: left;
  display: inline-block; }

.tablet-message {
  float: right; }

.reset-filters {
  float: left; }
  .reset-filters p {
    opacity: 0.5;
    padding: 0.25em 0.75em 0.25em 0.75em;
    border: 2px solid gray;
    border-radius: 25px;
    -webkit-transition: all 0.2s linear;
    /* Ch, Saf  3.2 */
    -moz-transition: all 0.2s linear;
    /* 4 < Fx <16 */
    transition: all 0.2s linear;
    /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
    .reset-filters p:hover {
      background-color: gray;
      color: #fff;
      cursor: pointer; }

.view-quote {
  float: left;
  padding-right: 1em; }
  .view-quote p {
    color: #5cb85c;
    padding: 0.25em 0.75em 0.25em 0.75em;
    border: 2px solid #5cb85c;
    border-radius: 25px;
    -webkit-transition: all 0.2s linear;
    /* Ch, Saf  3.2 */
    -moz-transition: all 0.2s linear;
    /* 4 < Fx <16 */
    transition: all 0.2s linear;
    /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
    .view-quote p:hover {
      background-color: #5cb85c;
      color: #fff;
      cursor: pointer; }

.product-filter-container {
  padding: 0 1em; }
  .product-filter-container .filter-group-model {
    opacity: 0; }
  .product-filter-container .filter-visible {
    opacity: 1 !important; }
  .product-filter-container .filter-group-category {
    width: 100%; }
  .product-filter-container .filter-group h4 {
    padding: 0 0 0 0.5em; }
  .product-filter-container .filter-group ul.product-filters {
    padding: 0 0.25em 0 0.25em; }
    .product-filter-container .filter-group ul.product-filters li {
      padding: 0.25em;
      color: #2761a0;
      list-style-type: none;
      display: inline-block;
      -webkit-transition: all 0.2s linear;
      /* Ch, Saf  3.2 */
      -moz-transition: all 0.2s linear;
      /* 4 < Fx <16 */
      transition: all 0.2s linear;
      /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
      .product-filter-container .filter-group ul.product-filters li p {
        padding: 0.25em 0.75em 0.25em 0.75em;
        border: 2px solid #2761a0;
        border-radius: 25px;
        font-size: 1em;
        -webkit-transition: all 0.2s linear;
        /* Ch, Saf  3.2 */
        -moz-transition: all 0.2s linear;
        /* 4 < Fx <16 */
        transition: all 0.2s linear;
        /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
        .product-filter-container .filter-group ul.product-filters li p:hover {
          background-color: #2761a0;
          color: #fff;
          cursor: pointer; }

.products-table thead tr th {
  padding: 0.2em 0.5em 0.2em 0.5em;
  color: white !important;
  background: #2761a0 !important;
  border-bottom: none; }

.products-table thead tr th p {
  color: white !important; }

.products-quote-table thead tr th {
  padding: 0.2em 0.5em 0.2em 0.5em;
  color: white !important;
  background: #2761a0 !important;
  border-bottom: none; }

.products-quote-table thead tr th p {
  color: white !important; }
.products-table tbody tr td {
  text-align: left; }
  .products-table tbody tr td .quantity-input {
    width: 100%;
    color: #2761a0;
    background: transparent;
    font-size: 1.5em;
    text-align: center;
    font-family: 'Ubuntu', sans-serif;
    font-weight: 300;
    border: 0px;
    border-bottom: 1px solid #2761a0;
    outline: none;
    border-radius: 0;
    box-sizing: border-box !important;
    -webkit-appearance: none !important; }
  .products-table tbody tr td .quantity-input::-webkit-input-placeholder {
    font-weight: 300;
    color: #ddd;
    -webkit-transition: all 0.2s linear;
    /* Ch, Saf  3.2 */
    -moz-transition: all 0.2s linear;
    /* 4 < Fx <16 */
    transition: all 0.2s linear;
    /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
  .products-table tbody tr td .quantity-input:focus::-webkit-input-placeholder {
    color: transparent !important; }
.products-table .add-to-quote p {
  padding: 0.25em 0.75em 0.25em 0.75em;
  border: 2px solid #2761a0;
  border-radius: 25px;
  color: #2761a0;
  -webkit-transition: all 0.2s linear;
  /* Ch, Saf  3.2 */
  -moz-transition: all 0.2s linear;
  /* 4 < Fx <16 */
  transition: all 0.2s linear;
  /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */
  cursor: pointer; }
  .products-table .add-to-quote p:active {
    background-color: #2761a0;
    color: #fff; }
.products-table .in-quote p {
  background-color: #5cb85c !important;
  border: 2px solid #5cb85c !important;
  color: #fff !important; }
  .products-table .in-quote p:hover {
    background-color: #5cb85c !important;
    border: 2px solid #5cb85c !important;
    color: #fff !important;
    cursor: pointer; }
.products-table .category-header {
  background-color: #ebf3f5; }
  .products-table .category-header td {
    border: none; }
.products-table a {
  text-decoration: none;
  color: inherit; }

.products-quote-table {
  margin-bottom: 4em; }
  .products-quote-table .remove-from-quote p {
    opacity: 0.5;
    margin-right: 1em;
    padding: 0.25em 0.75em 0.25em 0.75em;
    border: 2px solid gray;
    border-radius: 25px;
    -webkit-transition: all 0.2s linear;
    /* Ch, Saf  3.2 */
    -moz-transition: all 0.2s linear;
    /* 4 < Fx <16 */
    transition: all 0.2s linear;
    /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
    .products-quote-table .remove-from-quote p:hover {
      opacity: 1.0;
      border: 2px solid red;
      background-color: red;
      color: #fff;
      cursor: pointer; }

.quote-tick {
  font-size: 15em;
  color: #5cb85c;
  text-shadow: 0px 10px #4cae4c; }

.person {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 300; }
  .person input::-webkit-input-placeholder {
    font-weight: 300;
    color: #ddd;
    -webkit-transition: all 0.2s linear;
    /* Ch, Saf  3.2 */
    -moz-transition: all 0.2s linear;
    /* 4 < Fx <16 */
    transition: all 0.2s linear;
    /* IE 10, Ch 26+, Fx 16+, Op 12.1+ */ }
  .person input:focus::-webkit-input-placeholder {
    color: transparent !important; }

.person-form-wrong {
  border-bottom: 1px solid #a94442 !important; }

.form-group {
  min-height: 96px; }
  .form-group small {
    font-family: 'Ubuntu', sans-serif;
    font-size: 1em; }

/**
 * 10.0 
 *
 * Channel Partners Template
 *
 * -----------------------------------------------------------------------------
 */
.flag {
  width: 2em;
  float: left;
  margin-right: 0.75em; }

.country-title {
  padding-top: 0.5em; }

table .country-spacer td {
  border-top: none !important; }

/**
 * 11.0 
 *
 * Footer
 *
 * -----------------------------------------------------------------------------
 */
footer .social-icons {
  display: none;
  font-size: 2em; }
  footer .social-icons i {
    padding: 0.5em; }
footer .footer-link {
  padding-top: 2em;
  text-align: left; }
  footer .footer-link a {
    color: #333;
    padding: 0.5em 1em 0.5em 1em; }
footer .footer-info {
  text-align: right; }
footer .footer-info-mobile, footer .footer-link-mobile {
  text-align: center; }
  footer .footer-info-mobile a, footer .footer-link-mobile a {
    color: #333;
    padding: 0.5em 1em 0.5em 1em; }
footer .attr {
  text-decoration: none; }

/**
 * 12.0 
 *
 * International Pages
 *
 * -----------------------------------------------------------------------------
 */
.int-content-container .about-image {
  width: 100%; }
.int-content-container input {
  width: 100%;
  padding: 0.1em;
  color: #2761a0;
  background: transparent;
  font-size: 2em;
  font-weight: 300;
  text-align: center;
  border: 0px;
  border-bottom: 1px solid #2761a0;
  outline: none;
  border-radius: 0;
  box-sizing: border-box !important;
  -webkit-appearance: none !important; }
.int-content-container textarea {
  width: 100%;
  color: #2761a0;
  border: 0px;
  border-bottom: 1px solid #2761a0;
  font-size: 2em;
  font-weight: 300;
  background: transparent;
  outline: none;
  border-radius: 0;
  box-sizing: border-box !important;
  -webkit-appearance: none !important; }
.int-content-container input[type=submit] {
  color: #5cb85c;
  padding: 0.25em 0.75em 0.25em 0.75em;
  border: 2px solid #5cb85c;
  border-radius: 25px;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  .int-content-container input[type=submit]:hover {
    background-color: #5cb85c !important;
    border: 2px solid #5cb85c !important;
    color: #fff !important;
    cursor: pointer; }

/*# sourceMappingURL=style.css.map */
