:root {    
    
    /* -- Variables -- */
    /* --Colours-- */
    --main-color: #E0F0FA; /* Sets the main colour to use throughout the system. */
    --alt-color-dark: #2a4677; /* Dark colour to complement the main colour. */
    --alt-color-light: #fff; /* Light colour to complement the main colour. */
    --alt-mode: #2a4677; /* Sets what alt mode to use primarily */
    --alt-mode-2: var(
      --alt-color-dark
    ); /* Sets what alt mode to use secondarily, this should be the opposite of the variable above. */
  
    --nav-text-color: rgb(0, 0, 0);
    --nav-text-color-hover: white;
  
    --standard-link-color: #2980b9;
  
    --heading-bg-color: var(--main-color);
    --heading-text-color: rgb(255, 255, 255);
    --heading-border-width: 0px;
    --heading-border-color: transparent;
  
    --footer-bg: #333;
    --footer-text: white;
    --footer-links: #6fabfe;
    --transition-time: 0.25s; /* General animation length. */
  }

  
  /* --Navigation Styles-- */
  .wjps-nav {
    background-color: var(--main-color);
  }
  
  .wjps-nav .nav-link {
    border-radius: 0.25rem;
    transition: var(--transition-time);
  }
  .wjps-nav .nav-link:not(.wjps-nav-button):not(.tab-link):not(.wjps-tabs) {
    color: var(--nav-text-color) !important;
  }
  .wjps-nav .nav-link:hover:not(.wjps-nav-button):not(.tab-link):not(.wjps-tabs) {
    color: var(--nav-text-color-hover) !important;
    background-color: var(--alt-mode);
  }
  .dropdown-menu {
    background-color: var(--alt-color-light);
  }
  .dropdown-item:hover {
    background-color: var(--main-color);
    color: var(--nav-text-color);
  }
  .wjps-toggler {
    color: var(--nav-text-color) !important;
  }
  .wjps-toggler > i {
    font-size: 30px;
  }
  /* --End of Navigation Styles-- */
  
  /* --General Styles-- */
  a:link:not(.btn, .dropdown-item) {
    color: var(--standard-link-color);
  }
  a:visited:not(.btn, .dropdown-item) {
    color: var(--standard-link-color);
  }
  .wrap-title {
    background-color: #34495e !important;
    color: var(--heading-text-color);
    border-width: var(--heading-border-width);
    border-color: var(--heading-border-color);
  }

  @media only screen and (max-width: 768px) {
    .col-12 {
      display: unset;
    }
  }
  
  .navbar-brand img {
      max-height: 100px !important;
  }
  .btn-outline-light.nav-link {
    color: var(--nav-text-color) !important;
}

.btn-outline-light {
    border-color: var(--nav-text-color);
}

#latestnews .card-img-top h5 {
  font-size: 1.65rem;
  color: #34495e!important;
}

.news-date {
  font-size: 0.8rem;
  color: #676262;
}

#navbar-header .social-link {
  color: #2a4677 !important;
}

  /* --End of General Styles-- */
  
  /* --Footer Styles-- */
  html {
    background-color: var(--footer-bg);
  }
  footer {
    background-color: var(--footer-bg);
    color: var(--footer-text);
  }
  #footer a {
    color: var(--footer-links);
    text-decoration: none;
  }
  .social-link {
    color: var(--footer-text) !important;
  }
  /* --End of Footer Styles-- */
  
  /* --SQCL Custom Logo Styling-- */
  .wjpslogo {
    margin-top: 15px;    
  }
  /* --End of SQCL Custom Logo Styling-- */
  .second-logo-nav {
    height: 150px;
    background: var(--alt-mode);
  }

  #header-title{    
    padding-top: 10px;
  }

  #header-title > h1 {
    padding-top:30px;    
  }

  #header-title > h1 > a {
    color: #d9d9d9;
    font-family: "Times New Roman";
  }
  
  
  /* XS BREAKPOINT */
  @media only screen and (max-width: 576px) {
    #intro .card-title {
      font-size: 3rem;
    }
  
    #intro .card-text {
      font-size: 1rem;
    }
  
    .product-home-card {
      margin-top: 3rem;
      text-align: center;
      padding-top: 1rem;
      padding-bottom: 1.3rem;
    }
  
    .logo {
      margin-bottom: 2rem;
    }
  
    .product-home-decor-wrapper {
      padding-left: 0;
    }
  
    /* Create col-xs bootstrap class that doesn't exist for some reason */
    .col-xs-6 {
      flex: 0 0 50%;
      max-width: 50%;
    }
  
    .newsitem {
      margin-top: 3rem;
    }
  
  }
  
  /* SMALL BREAKPOINT */
  @media only screen and (min-width: 576px) {
    .product-home-card .screenshot {
      transform: translateX(10%);
    }
  
    .product-home-decor-wrapper {
      padding-left: 1.25rem;
  }
  
    .newsitem:not(:first-of-type) {
      margin-top: 3rem;
    }
  
  }
  
  
  
  /* MED BREAKPOINT */
  @media only screen and (min-width: 768px) {
    #intro .card-title {
      font-size: 4rem;
    }
  
    #intro .card-text {
      font-size: 1.5rem;
    }
    #mrs p:not(.blockquote) {
      font-size: 1rem;
    }
  
    .product-intro h2 {
      font-size: 2rem;
    }
  
    .blockquote {
      font-size: 1.25rem;
    }
  
    .heroimg-offset {
      transform: translateX(20%);
      height: 400px;
      width: auto;
    }
  
    .hero-content-align {
      text-align: left;
    }
  
    .product-logo {
      padding-right: 1rem;
      padding-bottom: 0;
    }
  
    .product-description {
      margin-top: 50px;
    }
  
    .product-intro img {
      max-width: 250px !important;
    }
  
    .card-feature {
      padding-left: 1rem;
      padding-right: 1rem;
    }
  
    .card-feature:not(:last-of-type) {
      margin-bottom: 0;
    }
  
    #testimonials .nav-link, #features-orgspecific .nav-link {
      font-size: 1rem;
    }
  
    .pillnav-menu > h2 {
      margin-right: 1rem;
    }
  
    .testimonial-nav-justify {
      justify-content: left;
    }
  
    .newsitem:not(:first-of-type) {
      margin-top: 0rem;
    }
  }
  
  
  /* LARGE BREAKPOINT */
  @media only screen and (min-width: 992px) {
    .product-logo {
      width: 110px;
      height: auto;
    }
    .product-title {
      font-size: 2.5rem;
      letter-spacing: -1px;
    }
  
    .product-version h5 {
      font-size: 1rem;
    }
  
    .product-intro h2 {
      font-size: 2.5rem;
    }
  
    .btn-group-product {
      margin-bottom: 0;
    }
    .heroimg-offset {
      transform: translateX(20%);
      height: 500px;
      width: auto;
    }
  
    .product-feature-card img {
      width: 200px;
    }
  
    .testimonials .nav-link {
      color: var(--mrsgradient-fallback);
      font-weight: 500;
      font-size: 1.1rem;
    }
  
  
    #features-orgspecific .nav-link {
      color: var(--wcsgradient-fallback);
      font-weight: 500;
      font-size: 1.1rem;
    }
    #wcs-pricing .pricing-card-wrapper {
      margin-top: 0;
      margin-bottom: 0;
    }
  }
  
  /* X-LARGE BREAKPOINT */
  @media only screen and (min-width: 1200px) {
    .product-logo {
      width: 135px;
      height: auto;
    }
    .product-title {
      font-size: 3.5rem;
      letter-spacing: -2px;
    }
    .product-description {
      font-size: 1.35rem;
    }
  
    .btn-product {
      font-size: 1.15rem;
    }
  
    .product-version h5 {
      font-size: 1.1rem;
    }
  }
  
  /* PRODUCT PAGE DOWN ICON ANIM */
  .down-icon-mrs:before {
    font-size: 3rem;
    background: var(--mrsgradient-fallback);
    background: var(--mrsgradient-webkit);
    background: var(--mrsgradient-moz);
    background: var(--mrsgradient);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  
  .down-icon-ewt:before {
    font-size: 3rem;
    background: var(--ewtgradient-fallback);
    background: var(--ewtgradient-webkit);
    background: var(--ewtgradient-moz);
    background: var(--ewtgradient);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  
  .down-icon-wcs:before {
    font-size: 3rem;
    background: var(--wcsgradient-fallback);
    background: var(--wcsgradient-webkit);
    background: var(--wcsgradient-moz);
    background: var(--wcsgradient);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  
  .bounce {
      -moz-animation: bounce 3s infinite;
      -webkit-animation: bounce 3s infinite;
      animation: bounce 3s infinite;
  }
  @-moz-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      -moz-transform: translateY(0);
      transform: translateY(0);
    }
    40% {
      -moz-transform: translateY(-15px);
      transform: translateY(-15px);
    }
    60% {
      -moz-transform: translateY(-5px);
      transform: translateY(-5px);
    }
  }
  @-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
    40% {
      -webkit-transform: translateY(-15px);
      transform: translateY(-15px);
    }
    60% {
      -webkit-transform: translateY(-5px);
      transform: translateY(-5px);
    }
  }
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
    40% {
      -moz-transform: translateY(-15px);
      -ms-transform: translateY(-15px);
      -webkit-transform: translateY(-15px);
      transform: translateY(-15px);
    }
    60% {
      -moz-transform: translateY(-5px);
      -ms-transform: translateY(-5px);
      -webkit-transform: translateY(-5px);
      transform: translateY(-5px);
    }
  }
  
  /* MRS SPECIFIC */
  .mrs-bg {
    background: var(--mrsgradient-fallback);
    background: var(--mrsgradient-webkit);
    background: var(--mrsgradient-moz);
    background: var(--mrsgradient);
  }
  
  .btn-mrs {
    color: var(--mrsgradient-fallback);
    border: 2px solid var(--mrsgradient-fallback);
    background: none;
  }
  
  .btn-mrs:hover {
    color: var(--alt-color-light);
    background: var(--mrsgradient-fallback);
  }
  
  .btn-mrs:active {
    background: var(--mrsgradient-darkstop);
  }
  
  /* EWT SPECIFIC */
  .ewt-bg {
    background: var(--ewtgradient-fallback);
    background: var(--ewtgradient-webkit);
    background: var(--ewtgradient-moz);
    background: var(--ewtgradient);
  }
  
  .btn-ewt {
    color: var(--ewtgradient-fallback);
    border: 2px solid var(--ewtgradient-fallback);
    background: none;
  }
  
  .btn-ewt:hover {
    color: var(--alt-color-light);
    background: var(--ewtgradient-fallback);
  }
  
  .btn-ewt:active {
    background: var(--ewtgradient-darkstop);
  }
  
  
  /* WCS SPECIFIC */
  
  #wcs p {
    font-size: 1.085rem;
  }
  
  .wcs-bg {
    background: var(--wcsgradient-fallback);
    background: var(--wcsgradient-webkit);
    background: var(--wcsgradient-moz);
    background: var(--wcsgradient);
  }
  
  .btn-wcs {
    color: var(--wcsgradient-fallback);
    border: 2px solid var(--wcsgradient-fallback);
    background: none;
  }
  
  .btn-wcs:hover {
    color: var(--alt-color-light);
    background: var(--wcsgradient-fallback);
  }
  
  .btn-wcs:active {
    background: var(--wcsgradient-darkstop);
  }
  
  
  #features-orgspecific a, #wcs-allfeatures a, #wcs-testimonials a {
    color: var(--wcsgradient-fallback);
    font-weight: 500;
  }
  
  #features-orgspecific .nav-link.active, #wcs-testimonials .nav-link.active  {
    background: var(--wcsgradient-webkit);
    background: var(--wcsgradient-moz);
    background: var(--wcsgradient);
    border-radius: 50px;
    color: #fff;
  }
  
  #features-orgspecific a:hover, #wcs-allfeatures a:hover, #wcs-testimonials a:hover {
    color: var(--wcsgradient-darkstop);
    text-decoration: none;
  }
  
  .price {
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: -0.11rem;
  }
  
  #wcs-testimonials .ext-site-link {
    font-size: 1.25rem;
  }
  
  #pricing .fa-li {
    color: var(--wcsgradient-darkstop);
  }
  
  #pricing .pricing-card-wrapper:not(:first-of-type) {
    margin-top: 2rem;
  }
  
  /* WJPS Homepage */
  .wjpsintro-heading {
    color: var(--mrsgradient-fallback);
    line-height: 0.9;
  }
  
  #services a {
    color: var(--wcsgradient-fallback);
    font-weight: 500;
  }
  
  #services .nav-link.active {
    background: var(--wcsgradient-fallback);
    background: var(--wcsgradient-webkit);
    background: var(--wcsgradient-moz);
    background: var(--wcsgradient);
    border-radius: 50px;
    color: #fff;
  }
  
  #services a:hover {
    color: var(--wcsgradient-darkstop);
    text-decoration: none;
  }
  
  #intro img {
    width: inherit;
  }
  
  
  #intro span {
    font-weight: 600;
  }
  
  #intro .card-title {
    letter-spacing: -0.2rem;
    font-weight: 700;
  }
  
  #intro .card-text {
    font-weight: 400;
  }
  
  
  .product-home-card {
    color: rgba(255,255,255,0.9);
    transition: 0.1s ease-in-out;
  }
  
  .product-home-card a{ /* Fix for when ckeditor poo's itself (technical term) */
    color: rgba(255,255,255,0.9)!important;
  }
  
  .product-home-card .logo {
    width: 100px;
  }
  
  .product-home-card .screenshot {
    max-width: 400px;
    
    max-height: 200px;
  }
  
  .product-home-card .card-title {
      font-size: 2.5rem;
      letter-spacing: -0.03rem;
      font-weight: 600;
      text-shadow: 0px 0px 4px rgb(0 0 0 / 30%);
  }
  
  .product-home-card .card-text {
    font-size: 1.15rem;
    text-shadow: 0px 0px 4px rgb(0 0 0 / 30%);
  }
  
  
  #products a:hover {
    text-decoration: none !important;
    
  }
  
  .product-home-card:hover {
    transform: translateY(-10%);
    filter: saturate(1.8);
    transition: 0.1s ease-in-out;
  
  }
  
  
  .orglogo {
    height: 150px;
  }
  .orglogo img {
    max-width: 50%;
    max-height: 100px;
  }
  
  /* -- Text Mask for gradients - must be at bottom of file! -- */
  .text-mask {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  