/* ============================================================
   IAQ (Indoor Air Quality) — stili completi
   Porting da Laravel app.css, URL adattati al tema Drupal
   ============================================================ */

/* Wrapper */
.indoor-air-quality {
  padding: 0;
}

/* ---- HERO PARALLAX ---- */
.indoor-air-quality [class*="parallax__"] {
  min-height: 85vh;
  background-position: center center;
  background-size: cover;
  position: relative;
}

.indoor-air-quality [class*="parallax__"] h1,
.indoor-air-quality [class*="parallax__"] h2,
.indoor-air-quality [class*="parallax__"] p {
  position: relative;
  z-index: 100;
}

.parallax__iaq {
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/indoor-air-quality_bg.jpg");
  color: #ffffff;
}

.parallax__iaq .content {
  z-index: 10;
  margin: 0 auto;
  width: 98%;
  padding: 15px;
  padding-top: 100px;
}

/* ---- PARTICLES ---- */
.parallax__iaq .particles {
  position: absolute;
  width: 98%;
  height: 100%;
  margin-top: -100px;
}

.parallax__iaq .particle {
  position: absolute;
  z-index: 0;
}

.parallax__iaq .particle-1 {
  width: 140px; height: 140px;
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/particles/particle-1.png");
}
.parallax__iaq .particle-1.a {
  bottom: 40%; left: 10%;
  transform: scale(0.3, 0.3); opacity: 0.4;
  animation: 12s ease-in-out 1s infinite animate-particle-1-a;
}
.parallax__iaq .particle-1.b {
  bottom: 60%; right: 30%;
  transform: scale(0.2, 0.2); opacity: 0.6;
  animation: 8s ease-in-out 1s infinite animate-particle-1-b;
}
.parallax__iaq .particle-1.c {
  bottom: 40%; left: 20%;
  transform: scale(0.4, 0.4);
  animation: 10s ease-in-out 1s infinite animate-particle-1-c;
}

.parallax__iaq .particle-2 {
  width: 183px; height: 183px;
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/particles/particle-2.png");
}
.parallax__iaq .particle-2.a {
  bottom: 40%; left: 30%;
  transform: scale(0.2, 0.2);
  animation: 14s ease-in-out 1s infinite animate-particle-2-a;
}
.parallax__iaq .particle-2.b {
  top: 20%; left: 20%;
  transform: scale(0.1, 0.1);
  animation: 9s ease-in-out 1s infinite animate-particle-2-b;
}
.parallax__iaq .particle-2.c {
  top: 40%; right: 20%;
  transform: scale(0.2, 0.2);
  animation: 14s ease-in-out 1s infinite animate-particle-2-c;
}
.parallax__iaq .particle-2.d {
  bottom: 20%; right: 30%;
  transform: scale(0.1, 0.1);
  animation: 9s ease-in-out 1s infinite animate-particle-2-d;
}

.parallax__iaq .particle-3 {
  top: 40%; left: 30%;
  width: 407px; height: 407px;
  transform: scale(0.5, 0.5);
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/particles/particle-3.png");
  animation: 12s linear 1s infinite animate-particle-3;
}

.parallax__iaq .particle-4 {
  width: 37px; height: 37px;
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/particles/particle-4.png");
}
.parallax__iaq .particle-4.a {
  bottom: 80%; right: 10%;
  animation: 25s ease-in-out 1s infinite animate-particle-4-a;
}
.parallax__iaq .particle-4.b {
  top: 40%; left: 20%;
  animation: 20s ease-in-out 1s infinite animate-particle-4-b;
}
.parallax__iaq .particle-4.c {
  bottom: 60%; left: 30%;
  animation: 25s ease-in-out 1s infinite animate-particle-4-c;
}

.parallax__iaq .particle-5 {
  top: 20%; left: 10%;
  width: 328px; height: 328px;
  transform: scale(0.6, 0.6);
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/particles/particle-5.png");
  animation: 13s linear 1s infinite animate-particle-5;
}

.parallax__iaq .particle-6 {
  width: 187px; height: 187px;
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/particles/particle-6.png");
}
.parallax__iaq .particle-6.a {
  top: 20%; right: 30%;
  transform: scale(0.4, 0.4);
  animation: 25s linear 1s infinite animate-particle-6-a;
}
.parallax__iaq .particle-6.b {
  top: 30%; left: 30%;
  transform: scale(0.3, 0.3);
  animation: 20s linear 1s infinite animate-particle-6-b;
}

.parallax__iaq .particle-7 {
  width: 69px; height: 69px;
  background-image: url("/themes/custom/sabiana/images/indoor-air-quality/particles/particle-7.png");
}
.parallax__iaq .particle-7.a {
  bottom: 50%; right: 30%;
  animation: 25s linear 1s infinite animate-particle-7-a;
}
.parallax__iaq .particle-7.b {
  top: 50%; left: 30%;
  animation: 15s linear 1s infinite animate-particle-7-b;
}
.parallax__iaq .particle-7.c {
  bottom: 20%; left: 50%;
  animation: 22s linear 1s infinite animate-particle-7-c;
}

/* ---- READ MORE BUTTON ---- */
.indoor-air-quality div.read-position {
  margin-left: 50%;
  left: -40px;
  position: relative;
  margin-bottom: 180px;
  margin-top: 15px;
}

.indoor-air-quality a.read-more {
  position: relative;
  color: #ffffff;
  display: table-cell;
  width: 80px;
  height: 80px;
  text-align: center;
  margin-left: -40px;
  padding-top: 50px;
  background: url("/themes/custom/sabiana/images/cross.png") 50% top no-repeat;
  cursor: pointer;
  z-index: 100;
}

.indoor-air-quality a.read-more.collapsed {
  background: url("/themes/custom/sabiana/images/plus.png") 50% top no-repeat;
}

/* ---- ASIDE / EXPANDED CONTENT ---- */
.indoor-air-quality [class*="aside__"] {
  padding: 60px 50px 0;
}

.indoor-air-quality [class*="aside__"] img {
  margin-top: 32px;
  width: 100%;
}

.indoor-air-quality [class*="aside__"] h3 {
  color: #0063a3;
}

.indoor-air-quality [class*="aside__"] h4 {
  font-weight: 300;
}

/* ---- TYPOGRAPHY ---- */
.indoor-air-quality .dark {
  padding-bottom: 20px;
  color: #ffffff;
  background: #404041;
}

/* ---- 16-COL GRID (Bootstrap custom, old Laravel) ---- */
.col-md-16, .col-sm-16, .col-xs-16,
.col-lg-16, .col-md-15, .col-sm-15 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  box-sizing: border-box;
}
.col-md-16, .col-lg-16 { width: 100%; float: left; }
.col-sm-16 { width: 100%; float: left; }
.col-md-8 { width: 50%; float: left; padding-right: 15px; padding-left: 15px; box-sizing: border-box; }

/* ---- RESPONSIVE TYPOGRAPHY ---- */
@media only screen and (min-width: 320px) {
  .parallax__iaq .content { padding-top: 10%; }
  .indoor-air-quality h1 { margin: 0; padding: 0; line-height: 1.5; font-size: 30px; }
  .indoor-air-quality h2 { margin: 0; padding: 0; line-height: 1.5; font-size: 18px; text-transform: uppercase; font-weight: 700; }
  .indoor-air-quality p  { margin: 0; padding: 0; line-height: 1.4; font-size: 18px; }
  .indoor-air-quality div.read-position { margin-bottom: 180px; }
}

@media only screen and (min-width: 768px) {
  .indoor-air-quality h1 { font-size: 50px; line-height: 1.2; }
  .indoor-air-quality h2 { font-size: 30px; padding: 20px; }
  .indoor-air-quality p  { font-size: 22px; }
  .indoor-air-quality div.read-position { margin-bottom: 175px; }
}

@media only screen and (min-width: 992px) {
  .indoor-air-quality h1 { font-size: 60px; }
  .indoor-air-quality h2 { font-size: 40px; }
  .indoor-air-quality p  { font-size: 24px; }
  .indoor-air-quality div.read-position { margin-bottom: 220px; }
}

/* ---- KEYFRAMES ---- */
@keyframes animate-particle-1-a {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.3,0.3); opacity: 0.4; }
  50%  { transform: translate(30px,82px) rotate(180deg) scale(0.5,0.5); opacity: 1; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.3,0.3); opacity: 0.4; }
}
@keyframes animate-particle-1-b {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 0.6; }
  50%  { transform: translate(170px,40px) rotate(90deg) scale(0.3,0.3); opacity: 1; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 0.6; }
}
@keyframes animate-particle-1-c {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.4,0.4); opacity: 1; }
  50%  { transform: translate(80px,230px) rotate(270deg) scale(0.2,0.2); opacity: 0.7; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.4,0.4); opacity: 1; }
}
@keyframes animate-particle-2-a {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
  50%  { transform: translate(53px,157px) rotate(22deg) scale(0.1,0.1); opacity: 0.6; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
}
@keyframes animate-particle-2-b {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
  50%  { transform: translate(177px,53px) rotate(22deg) scale(0.1,0.1); opacity: 0.6; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
}
@keyframes animate-particle-2-c {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
  50%  { transform: translate(53px,157px) rotate(22deg) scale(0.1,0.1); opacity: 0.6; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
}
@keyframes animate-particle-2-d {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
  50%  { transform: translate(177px,53px) rotate(22deg) scale(0.1,0.1); opacity: 0.6; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.2,0.2); opacity: 1; }
}
@keyframes animate-particle-3 {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.5,0.5); }
  25%  { transform: translate(0,0) rotate(90deg) scale(0.5,0.5); }
  50%  { transform: translate(0,0) rotate(180deg) scale(0.5,0.5); }
  75%  { transform: translate(0,0) rotate(270deg) scale(0.5,0.5); }
  100% { transform: translate(0,0) rotate(360deg) scale(0.5,0.5); }
}
@keyframes animate-particle-4-a {
  0%   { transform: translate(0,0) rotate(0deg) scale(1,1); opacity: 1; }
  50%  { transform: translate(-750px,-750px) rotate(0deg) scale(0.7,0.7); opacity: 0.3; }
  100% { transform: translate(0,0) rotate(0deg) scale(1,1); opacity: 1; }
}
@keyframes animate-particle-4-b {
  0%   { transform: translate(0,0) rotate(0deg) scale(1,1); opacity: 1; }
  50%  { transform: translate(-250px,-750px) rotate(0deg) scale(0.4,0.4); opacity: 0.6; }
  100% { transform: translate(0,0) rotate(0deg) scale(1,1); opacity: 1; }
}
@keyframes animate-particle-4-c {
  0%   { transform: translate(0,0) rotate(0deg) scale(1,1); opacity: 1; }
  50%  { transform: translate(-550px,-150px) rotate(0deg) scale(0.2,0.2); opacity: 0.3; }
  100% { transform: translate(0,0) rotate(0deg) scale(1,1); opacity: 1; }
}
@keyframes animate-particle-5 {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.6,0.6); }
  25%  { transform: translate(0,0) rotate(-90deg) scale(0.6,0.6); }
  50%  { transform: translate(0,0) rotate(-180deg) scale(0.6,0.6); }
  100% { transform: translate(0,0) rotate(-360deg) scale(0.6,0.6); }
}
@keyframes animate-particle-6-a {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.4,0.4); opacity: 1; }
  33%  { transform: translate(0,0) rotate(90deg) scale(0.3,0.3); opacity: 0.8; }
  50%  { transform: translate(0,0) rotate(180deg) scale(0.2,0.2); opacity: 0.6; }
  67%  { transform: translate(0,0) rotate(270deg) scale(0.3,0.3); opacity: 0.8; }
  100% { transform: translate(0,0) rotate(360deg) scale(0.4,0.4); opacity: 1; }
}
@keyframes animate-particle-6-b {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.3,0.3); opacity: 1; }
  33%  { transform: translate(0,0) rotate(-90deg) scale(0.2,0.2); opacity: 0.6; }
  50%  { transform: translate(0,0) rotate(-180deg) scale(0.1,0.1); opacity: 0.4; }
  67%  { transform: translate(0,0) rotate(-270deg) scale(0.2,0.2); opacity: 0.6; }
  100% { transform: translate(0,0) rotate(-360deg) scale(0.3,0.3); opacity: 1; }
}
@keyframes animate-particle-7-a {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.5,0.5); opacity: 1; }
  50%  { transform: translate(-250px,-750px) rotate(0deg) scale(0.3,0.3); opacity: 0.7; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.5,0.5); opacity: 1; }
}
@keyframes animate-particle-7-b {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.5,0.5); opacity: 1; }
  50%  { transform: translate(550px,-750px) rotate(0deg) scale(0.6,0.6); opacity: 0.5; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.5,0.5); opacity: 1; }
}
@keyframes animate-particle-7-c {
  0%   { transform: translate(0,0) rotate(0deg) scale(0.5,0.5); opacity: 1; }
  50%  { transform: translate(-750px,400px) rotate(0deg) scale(0.2,0.2); opacity: 0.2; }
  100% { transform: translate(0,0) rotate(0deg) scale(0.5,0.5); opacity: 1; }
}

/* ---- SCROLL ANCHOR OFFSET ---- */
#more_iaq {
  scroll-margin-top: 100px;
}

/* ---- DOWNLOAD SECTION LINKS (Catalogo prodotti, Scheda tecnica, ecc.) ---- */
/* .dark wrapper ha background #404041 + color:#fff, ma <a> torna a colore browser default (poco contrasto). */
.indoor-air-quality .dark h2 {
  color: #ffffff;
  padding-top: 30px;
  padding-bottom: 20px;
}
.indoor-air-quality .dark a {
  color: #ffffff;
  text-decoration: none;
  display: inline-block;
  padding: 10px 5px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.indoor-air-quality .dark a:hover,
.indoor-air-quality .dark a:focus {
  color: #75c1e8;
  text-decoration: none;
  opacity: 0.9;
}
.indoor-air-quality .dark a i {
  display: inline-block;
  font-size: 32px;
  margin-bottom: 8px;
}
/* Link href vuoto (""): disabilita pointer per non ingannare l'utente */
.indoor-air-quality .dark a[href=""],
.indoor-air-quality .dark a:not([href]) {
  cursor: not-allowed;
  opacity: 0.55;
}
