146 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% set title_1 = title_1 | default(value="") %}
 | 
						|
{% set subtitle_1 = subtitle_1 | default(value="") %}
 | 
						|
{% set point_1_1 = point_1_1 | default(value="") %}
 | 
						|
{% set point_1_2 = point_1_2 | default(value="") %}
 | 
						|
{% set point_1_3 = point_1_3 | default(value="") %}
 | 
						|
{% set title_2 = title_2 | default(value="") %}
 | 
						|
{% set subtitle_2 = subtitle_2 | default(value="") %}
 | 
						|
{% set point_2_1 = point_2_1 | default(value="") %}
 | 
						|
{% set point_2_2 = point_2_2 | default(value="") %}
 | 
						|
{% set point_2_3 = point_2_3 | default(value="") %}
 | 
						|
{% set point_2_4 = point_2_4 | default(value="") %}
 | 
						|
{% set point_2_5 = point_2_5 | default(value="") %}
 | 
						|
{% set point_2_6 = point_2_6 | default(value="") %}
 | 
						|
{% set paragraph_2_1 = paragraph_2_1 | default(value="") %}
 | 
						|
{% set title_3 = title_3 | default(value="") %}
 | 
						|
{% set subtitle_3 = subtitle_3 | default(value="") %}
 | 
						|
{% set point_3_1 = point_3_1 | default(value="") %}
 | 
						|
{% set point_3_2 = point_3_2 | default(value="") %}
 | 
						|
{% set point_3_3 = point_3_3 | default(value="") %}
 | 
						|
{% set paragraph_3_1 = paragraph_3_1 | default(value="") %}
 | 
						|
{% set paragraph_3_2 = paragraph_3_2 | default(value="") %}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<div class="space-y-8 pt-12 mx-auto max-w-7xl relative before:absolute before:inset-0 before:ml-5 before:-translate-x-px md:before:mx-auto md:before:translate-x-0 before:h-full before:w-0.5 before:bg-gradient-to-b before:from-transparent before:via-slate-300 before:to-transparent">
 | 
						|
 | 
						|
    <!-- Item #1 -->
 | 
						|
    <div class="fade-in relative flex items-center justify-between md:justify-normal md:odd:flex-row-reverse group is-active">
 | 
						|
        <div class="flex items-center justify-center w-10 h-10 rounded-full border border-white bg-slate-300 group-[.is-active]:bg-emerald-500 text-slate-500 group-[.is-active]:text-emerald-50 shadow shrink-0 md:order-1 md:group-odd:-translate-x-1/2 md:group-even:translate-x-1/2">
 | 
						|
            <svg class="fill-current" xmlns="http://www.w3.org/2000/svg" width="12" height="10">
 | 
						|
                <path fill-rule="nonzero" d="M10.422 1.257 4.655 7.025 2.553 4.923A.916.916 0 0 0 1.257 6.22l2.75 2.75a.916.916 0 0 0 1.296 0l6.415-6.416a.916.916 0 0 0-1.296-1.296Z" />
 | 
						|
            </svg>
 | 
						|
        </div>
 | 
						|
        <div class="fade-in w-[calc(100%-4rem)] md:w-[calc(50%-2.5rem)] bg-white/5 p-4 rounded-2xl shadow visible">
 | 
						|
            <div class="flex items-center justify-between space-x-2 mb-1">
 | 
						|
                <div class="font-medium">{{ subtitle_1 }}</div>
 | 
						|
            </div>
 | 
						|
            <div class="font-semibold text-lg mb-2">{{ title_1 }}</div>
 | 
						|
            <div class="text-gray-900 font-light">
 | 
						|
                <ul style="list-style: disc;">
 | 
						|
                    <li>{{ point_1_1 }}</li>
 | 
						|
                    <li>{{ point_1_2 }}</li>
 | 
						|
                    <li>{{ point_1_3 }}</li>
 | 
						|
                </ul>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <!-- Item #2 -->
 | 
						|
    <div class="fade-in relative flex items-center justify-between md:justify-normal md:odd:flex-row-reverse group is-active">
 | 
						|
        <div class="flex items-center justify-center w-10 h-10 rounded-full border border-white bg-slate-300 group-[.is-active]:bg-emerald-500 text-slate-500 group-[.is-active]:text-emerald-50 shadow shrink-0 md:order-1 md:group-odd:-translate-x-1/2 md:group-even:translate-x-1/2">
 | 
						|
            <svg class="fill-current" xmlns="http://www.w3.org/2000/svg" width="12" height="10">
 | 
						|
                <path fill-rule="nonzero" d="M10.422 1.257 4.655 7.025 2.553 4.923A.916.916 0 0 0 1.257 6.22l2.75 2.75a.916.916 0 0 0 1.296 0l6.415-6.416a.916.916 0 0 0-1.296-1.296Z" />
 | 
						|
            </svg>
 | 
						|
        </div>
 | 
						|
        <div class="fade-in w-[calc(100%-4rem)] md:w-[calc(50%-2.5rem)] bg-white/5 p-4 rounded-2xl shadow visible">
 | 
						|
            <div class="flex items-center justify-between space-x-2 mb-1">
 | 
						|
                <div class="font-medium">{{ subtitle_2 }}</div>
 | 
						|
            </div>
 | 
						|
            <div class="font-semibold text-lg mb-2">{{ title_2 }}</div>
 | 
						|
            <div class="text-gray-900 font-light">
 | 
						|
                <ul style="list-style: disc;">
 | 
						|
                    <li>{{ point_2_1 }}</li>
 | 
						|
                    <li>{{ point_2_2 }}</li>
 | 
						|
                    <li>{{ point_2_3 }}</li>
 | 
						|
                    <li>{{ point_2_4 }}</li>
 | 
						|
                    <li>{{ point_2_5 }}</li>
 | 
						|
                    <li>{{ point_2_6 }}</li>              
 | 
						|
                </ul>
 | 
						|
                <p class="text-base font-semibold mt-4">{{ paragraph_2_1 }}</p>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <!-- Item #3 -->
 | 
						|
    <div class="fade-in relative flex items-center justify-between md:justify-normal md:odd:flex-row-reverse group is-active">
 | 
						|
        <div class="flex items-center justify-center w-10 h-10 rounded-full border border-white bg-slate-300 group-[.is-active]:bg-emerald-500 text-slate-500 group-[.is-active]:text-emerald-50 shadow shrink-0 md:order-1 md:group-odd:-translate-x-1/2 md:group-even:translate-x-1/2">
 | 
						|
            <svg class="fill-current" xmlns="http://www.w3.org/2000/svg" width="12" height="10">
 | 
						|
                <path fill-rule="nonzero" d="M10.422 1.257 4.655 7.025 2.553 4.923A.916.916 0 0 0 1.257 6.22l2.75 2.75a.916.916 0 0 0 1.296 0l6.415-6.416a.916.916 0 0 0-1.296-1.296Z" />
 | 
						|
            </svg>
 | 
						|
        </div>
 | 
						|
        <div class="fade-in w-[calc(100%-4rem)] md:w-[calc(50%-2.5rem)] bg-white/5 p-4 rounded-2xl shadow visible">
 | 
						|
            <div class="flex items-center justify-between space-x-2 mb-1">
 | 
						|
                <div class="font-medium">{{ subtitle_3 }}</div>
 | 
						|
            </div>
 | 
						|
            <div class="font-semibold text-lg mb-2">{{ title_3 }}</div>
 | 
						|
            <div class="text-gray-900 font-light">
 | 
						|
               
 | 
						|
                <ul style="list-style: disc;">
 | 
						|
                    <li>{{ point_3_1 }}</li>
 | 
						|
                    <li>{{ point_3_2 }}</li>
 | 
						|
                    <li>{{ point_3_3 }}</li>
 | 
						|
                </ul>
 | 
						|
               
 | 
						|
                <div class="text-base mt-8">
 | 
						|
                    <p class="text-base">{{ paragraph_3_1 }}</p>
 | 
						|
                    <p class="text-base font-semibold mt-4">{{ paragraph_3_2 }}</p>
 | 
						|
                </div>    
 | 
						|
                
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<style>
 | 
						|
    /* Initial state: elements are invisible */
 | 
						|
.fade-in {
 | 
						|
  opacity: 0;
 | 
						|
  transition: opacity 1s ease-out;
 | 
						|
}
 | 
						|
 | 
						|
/* State when element is in view */
 | 
						|
.fade-in.visible {
 | 
						|
  opacity: 1;
 | 
						|
}
 | 
						|
 | 
						|
</style>
 | 
						|
 | 
						|
<script>
 | 
						|
    // Get all the elements that need to be faded in
 | 
						|
    document.addEventListener('DOMContentLoaded', function() {
 | 
						|
  // Target all elements with the 'fade-in' class
 | 
						|
  const fadeInElements = document.querySelectorAll('.fade-in');
 | 
						|
 | 
						|
  const observer = new IntersectionObserver((entries, observer) => {
 | 
						|
    entries.forEach(entry => {
 | 
						|
      if (entry.isIntersecting) {
 | 
						|
        // Add 'visible' class to the element when it's in view
 | 
						|
        entry.target.classList.add('visible');
 | 
						|
        observer.unobserve(entry.target); // Stop observing after it fades in
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }, {
 | 
						|
    threshold: 0.1 // Trigger when 10% of the element is in view
 | 
						|
  });
 | 
						|
 | 
						|
  fadeInElements.forEach(element => {
 | 
						|
    observer.observe(element);
 | 
						|
  });
 | 
						|
});
 | 
						|
</script>
 | 
						|
 |