.card-icon {
  margin-bottom: 30px;
  padding: 10px 28px; }
  .card-icon h3 {
    font-size: 35rem;
    margin-top: 0;
    color: var(--element1-color);
    margin-bottom: 20px; }
  .card-icon p {
    font-size: 29rem;
    color: var(--dark-bg2);
    margin-bottom: 0;
    flex: 1;
    width: 430px;
    max-width: 100%; }
  .card-icon a.wrapper {
    overflow: hidden;
    position: relative; }
    .card-icon a.wrapper::after {
      content: "";
      display: block;
      height: 2px;
      width: 0%;
      background-color: #FFBE15;
      position: absolute;
      left: 0;
      bottom: 0;
      transition: 0.3s;
      border-radius: 3px; }
    .card-icon a.wrapper:hover::after {
      width: 100%;
      right: 0; }
  .card-icon .wrapper {
    border: 1px solid var(--light-bg2);
    border-radius: 30px;
    padding: 3.5vw 25px;
    display: block;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%; }
  .card-icon .photo {
    width: 77px;
    min-height: 77px;
    height: 77px;
    background-color: var(--dark-bg2);
    border-radius: 50%;
    margin-bottom: 2vw;
    display: flex; }
    .card-icon .photo .image {
      display: flex;
      justify-content: center;
      align-items: center; }
    .card-icon .photo img {
      max-width: 40px;
      max-height: 40px; }
  .card-icon .text {
    height: 100%;
    max-width: 100%; }
  .card-icon .text-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%; }

@media (max-width: 575.5px) {
  .card-icon {
    padding: 10px 8px;
    margin: 0 auto;
    max-width: 380px; }
    .card-icon .photo {
      width: 60px;
      min-height: 60px;
      height: 75px; }
      .card-icon .photo img {
        max-width: 25px;
        max-height: 25px; }
    .card-icon .wrapper {
      padding: 5.5vw 20px; }
    .card-icon p {
      font-size: 20rem;
      width: 320px; } }
@media (min-width: 576px) and (max-width: 767.5px) {
  .card-icon {
    padding: 10px 8px;
    margin: 0; }
    .card-icon .photo {
      width: 60px;
      min-height: 60px;
      height: 75px; }
      .card-icon .photo img {
        max-width: 25px;
        max-height: 25px; }
    .card-icon .wrapper {
      padding: 1.5vw 20px; }
    .card-icon p {
      font-size: 20rem;
      width: 320px; } }
@media (min-width: 768px) and (max-width: 991.5px) {
  .card-icon {
    padding: 10px 8px;
    margin: 0; }
    .card-icon .photo {
      width: 65px;
      min-height: 65px;
      height: 75px; }
      .card-icon .photo img {
        max-width: 30px;
        max-height: 30px; }
    .card-icon .wrapper {
      padding: 1.5vw 20px; }
    .card-icon p {
      font-size: 20rem;
      width: 320px; } }
@media (min-width: 992px) and (max-width: 1199.5px) {
  .card-icon {
    padding: 10px 8px; }
    .card-icon .photo {
      width: 65px;
      min-height: 65px;
      height: 75px; }
      .card-icon .photo img {
        max-width: 30px;
        max-height: 30px; }
    .card-icon .wrapper {
      padding: 1.5vw 20px; }
    .card-icon p {
      font-size: 20rem;
      width: 320px; } }
@media (min-width: 1200px) and (max-width: 1579.5px) {
  .card-icon {
    padding: 10px 8px; }
    .card-icon .wrapper {
      padding: 3.5vw 25px; }
    .card-icon p {
      font-size: 23rem;
      width: 320px; } }
@media (min-width: 1580px) {
  .card-icon {
    padding: 10px 11px; }
    .card-icon .wrapper {
      padding: 2.4vw 25px; } }

/*# sourceMappingURL=card_icons.css.map */
