
.imageWithTextGroupContainer img {
  width: 100%;
  display: block;
}

.imageWithTextGroupContainer figure {
  width: 100%;
  display: block;
}

.titleAndDescription.observer.onViewport {
    -webkit-animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s
    both;
    animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s both;
}

.imageWithTextGroupContainer img.observer.onViewport {
    -webkit-animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s
    both;
    animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s both;
}

.imageWithTextGroupContainer:hover figure{
animation: rotate 3s ease 0s 1 normal forwards;
}

.imageWithTextGroupContainer {
  float: left;
  position: relative;
  width: calc((var(--home-container) - (var(--home-gap) * (var(--home-items) - 1))) / var(--home-items));
  overflow: hidden;
  margin-right: var(--home-gap);
  margin-bottom: calc(calc(100% - var(--home-container)) / 4);
  margin-top: calc(calc(100% - var(--home-container)) / 4);
  border-radius: var(--border-radius);
}

@keyframes rotate {
	0%,
	100% {
		transform: rotate(0deg);
		transform-origin: 50% 50%;
	}

	10% {
		transform: rotate(8deg);
	}

	20%,
	40%,
	60% {
		transform: rotate(-10deg);
	}

	30%,
	50%,
	70% {
		transform: rotate(10deg);
	}

	80% {
		transform: rotate(-8deg);
	}

	90% {
		transform: rotate(8deg);
	}
}

.imageWithTextGroupContainer:first-of-type {
  margin-left: calc((100% - var(--home-container)) / 2);
}

/* margen derecho del “bloque contenido” = 3% */
.imageWithTextGroupContainer:last-of-type {
  margin-right: calc((100% - var(--home-container)) / 2);
}


.imageWithTextGroupContainer.observer.onViewport {
  -webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s
  both;
  animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s both;
}

.imageWithTextGroupContainer img {
  width: 100%;
  display: block;
  opacity: 0;
}

.imageWithTextGroupContainer img {
  width: 100%;
    display: block;
}

.imageWithTextGroupContainer:hover .groupTitleArrow {
  margin-left: 25px;
  transition: all 0.3s;
}

.titleAndDescription {
    width: 100%;
    margin-right: 3%;
    margin-left: 3%;
    -webkit-animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s both;
    animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s both;
}
    
    p.groupDescription {
    font-size: var(--base-font-size);
    line-height: var(--base-line-height);
}

.imageWithTextGroupContainer.firstImg {
    margin-left: 4%;
}

.imageWithTextGroupContainer.lastImg {
    margin-right: 4%;
}

.groupTitle {
    position: relative;
    width: 90%;
    display: flex;
    margin-top: 10px;
    font-size: var(--group-font-size);
    line-height: var(--group-line-height);
    font-weight: 600;
    margin-bottom: 20px;
}

.groupTitleArrow {
    width: 20px !important;
    margin-left: 10px;
}
      

  .imageWithTextGroupContainer figure {
    width: 100%;
    margin-top: 30px;
  }
  .titleAndDescription {
    width: 100%;
}
  a.groupTitle {
    margin-bottom: 23px;
  }

.imageWithTextGroupContainer
  img {
  width: 100%;
  display: block;
  border-radius: var(--border-radius);
}

.imageWithTextGroupContainer
  figure {
  width: 100%;
  display: block;
}
	
.imageWithTextGroupContainer:hover .groupTitleArrow {
  margin-left: 25px;
  transition: all 0.3s;
}

.titleAndDescription {
  width: 40%;
  margin-right: 3%;
  margin-left: 3%;
}
	
  p.groupDescription {
    font-size: var(--base-font-size);
  line-height: var(--base-line-height);
}

.imageWithTextGroupContainer.firstImg {
  margin-left: 4%;
}

.imageWithTextGroupContainer.lastImg {
  margin-right: 4%;
}

.groupTitle {
  position: relative;
  width: 90%;
  display: flex;
  margin-top: 10px;
  font-size: var(--group-font-size);
  line-height: var(--group-line-height);
  font-weight: 600;
  margin-bottom: 20px;
}

.groupTitleArrow {
  width: 20px !important;
  margin-left: 10px;
}

.imageWithTextGroupContainer:hover .groupTitleArrow {
  margin-left: 25px;
  transition: all 0.3s;
}

.titleAndDescription {
    width: 100%;
    margin: auto;
    opacity: 0;
}

p.groupDescription {
    font-size: var(--base-font-size);
    line-height: var(--base-line-height);
    display: none;
}

.imageWithTextGroupContainer.firstImg {
  margin-left: 4%;
}

.imageWithTextGroupContainer.lastImg {
  margin-right: 4%;
}

.groupTitle {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 22px;
  font-size: 16px;
  line-height: var(--group-line-height);
  font-weight: 700;
  margin-bottom: 20px;
  font-family: 'Quantico';
  text-transform: uppercase;
}

.groupTitleArrow {
  width: 20px !important;
  margin-left: 10px;
}

@media screen and (max-width: 1100px) {
.imageWithTextGroupContainer:nth-child(even) {
  margin-left: calc((100% - var(--home-container)) / 2);
}

.imageWithTextGroupContainer {
  float: left;
  position: relative;
  width: calc((var(--home-container) - (var(--home-gap) * (var(--home-items) - 1))) / var(--home-items));
  overflow: hidden;
  margin-right: var(--home-gap);
  margin-bottom: calc(calc(100% - var(--home-container)) / 4);
  margin-top: calc(calc(100% - var(--home-container)) / 4);
  border-radius: var(--border-radius);
}
	
  .imageWithTextGroupContainer figure {
    width: 100%;
    margin-top: 30px;
  }
  .titleAndDescription {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
}
  a.groupTitle {
  margin-bottom: 23px;
  }

}