body {
    font-family: Arial, Helvetica, sans-serif;
}

.hero-section {
    padding: 80px 0px 20px 0px;
    background:
    linear-gradient(
        120deg,
        #f5f7ff,
        #ffffff
    );
}

.step-number {
    width:60px;
    height:60px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#0d6efd;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:bold;
}

.icon-image {
    width:100px;
    height:100px;
    object-fit:contain;
}

.card img {
    height:250px;
    object-fit:contain;
    padding:20px;
}

.order-btn {
    width:80%;
}

.dot-preview {
    max-height:250px;
    object-fit:contain;
}




.package-ribbon{
    position:absolute;
    top:15px;
    right:-35px;
    width:140px;
    text-align:center;
    background:#0d6efd;
    color:white;
    font-weight:bold;
    transform:rotate(45deg);
    padding:4px 0;
    font-size:14px;
}

/* this sets a vertical offset when clicking a navigation link */
section {
    scroll-margin-top: 60px;
}

/* navigation dots animation */
.nav-dot {
    opacity: 0;
    animation: dotAppear 0.5s ease forwards;
}
.nav-dot:nth-child(1){ animation-delay: 0s; }
.nav-dot:nth-child(2){ animation-delay: 0.2s; }
.nav-dot:nth-child(3){ animation-delay: 0.4s; }
.nav-dot:nth-child(4){ animation-delay: 0.6s; }
@keyframes dotAppear {
    from{ opacity: 0; transform: scale(0); }
    to {  opacity: 1; transform: scale(1); }
}
@keyframes dotAppear { 
	0% {   opacity: 0; transform: scale(0); }
    70% {  opacity: 1; transform: scale(1.15); }
    100% { opacity: 1; transform: scale(1); }
}

/* image carousel */
.carousel-item.main-page img {
    height: 400px;
    width: 100%;
    object-fit: contain;
}
.carousel-item.learn-more img {
    width: 100%;
    object-fit: contain;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    padding: 20px;
    background-size: 60% 60%;
}