.module-template-base-1 {
    padding: var(--spacing-30);
    border-radius: var(--radius-15);
    transition: var(--transition-medium);
    position: relative;
    overflow: hidden;
}

.module-template-base-1 p {
    color: var(--text-70);
    font-size: var(--font-p1);
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
}

.module-template-base-1.directions {
    padding: var(--spacing-20);
    min-height: auto;
    height: var(--max-post-height);
}

.module-template-base-1.directions p {
    color: var(--text);
}

.module-template-base-1 a {
    font-size: var(--font-h5);
    text-decoration: underline;
}

.module-template-base-1 a:hover {
    opacity: 0.6;
}

.module-template-base-1 h3 a {
    color: var(--text);
    text-decoration: none;
}

.module-template-base-1::after,
.module-template-base-1::before {
    content: '';
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: var(--transition-medium);
}

.module-template-base-1::before {
    background: var(--gradient-bg-overlay-2);
    opacity: 1;
}

.module-template-base-1::after {
    background: var(--gradient-bg-overlay-3);
}


.module-template-base-1:hover::after {
    opacity: 1;
}

.module-template-base-1 h3,
.module-template-base-1 a,
.module-template-base-1 p,
.module-template-base-1 .tag {
    transition: var(--transition-medium);
}

.module-template-base-1:hover h3,
.module-template-base-1:hover a,
.module-template-base-1:hover p,
.module-template-base-1:hover .tag {
    color: var(--white);
}

.module-template-base-1:hover .tag {
    background: var(--blue-100-25);
}


/* Red */
.module-component-base .grid > div:nth-child(even) > .module-template-base-1::before {
    background: var(--gradient-bg-overlay-red);
}

.module-component-base .grid > div:nth-child(even) > .module-template-base-1::after {
    background: var(--gradient-red-overlay);
}

.module-component-base .grid > div:nth-child(even) > .module-template-base-1:hover::before,
.module-component-base .grid > div:nth-child(even) > .module-template-base-1:hover::after {
    opacity: 1;
}

.module-component-base .grid > div:nth-child(even) > .module-template-base-1 .tag {
    background: var(--red-100-20);
    color: var(--red-100);
}

.module-component-base .grid > div:nth-child(even) > .module-template-base-1:hover .tag {
    background: var(--red-100);
    color: var(--white);
}






.module-template-base-1.parents-card {
    min-height: calc(410 * var(--rpx));
}

.module-template-base-1.parents-card .h-h3 {
    position:relative;
	z-index:1;
}

.module-template-base-1.parents-card .h-icon {
    position: absolute;
    width: 80%;
    height: auto;
    max-height: 90%;
	bottom:var(--spacing-20);
    opacity: 0.2!important;
}

.module-template-base-1.parents-card .h-icon img {
    width: 40%;
    height: auto;
	transition: var(--transition-medium);
}

.module-template-base-1.parents-card:hover .h-icon {
    opacity: 0.1!important;
}
.module-template-base-1.parents-card:hover .h-icon img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(179deg) brightness(108%) contrast(103%);
}

.module-template-base-1.children-card {
    height: 100%;
}

.module-template-base-1.children-card p{
    font: var(--font-h5);
    color: var(--text);
}

.module-template-base-1.children-card:hover p{
    color: var(--white);
}


.module-template-base-1.library-card{
    height: 100%;
}
.module-template-base-1.library-card:hover a:not(:has(:hover)){
    opacity: 0.6;
}
.module-template-base-1.library-card a:hover{
    opacity: 1 !important;
}


@media (max-width: 1023px) {
    .module-template-base-1 {
        padding: 13px;
        padding-bottom: 30px;
        gap: 20px !important;
        height: auto !important;
        min-height: 120px !important;
    }

    .module-template-base-1 h3 {
        font: var(--font-h4);
    }

    .module-template-base-1 p {
        -webkit-line-clamp: 4;
    }
	
	.module-template-base-1.parents-card .h-icon {
		right: var(--spacing-20);
		bottom: var(--spacing-10);
		width: fit-content;
	}
	
	.module-template-base-1.parents-card .h-icon img {
		width:auto;
		max-height: 70px;
	}
}