a { text-decoration: none; } .background-color { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); box-shadow: inset 0 4px 8px rgba(0, 0, 0, 0.2); } /* Body: Flexbox layout for better vertical alignment */ body { display: flex; flex-direction: column; min-height: 100vh; box-sizing: border-box; } /* Navbar: Adjust margins and padding for small screens */ .navbar { padding: 10px 20px; } /* Ensure home content and services adapt to screen width */ .content-home { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 50px; padding: 30px 10px; color: #1d3fa1; } .home-row { display: flex; gap: 30px; align-items: center; justify-content: center; flex-wrap: wrap; } /* Left section in home content for proper spacing */ .home-left { position: relative; max-width: 600px; padding: 20px; text-align: center; } .home-right img { max-width: 100%; height: auto; } /* Flexbox for service items */ .service { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; } .service-items { background-color: #e0f7ff; padding: 20px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; width: 250px; text-align: center; } .service-items:hover { transform: scale(1.05); background-color: #fff7ff; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); } footer { background-color: #f8f9fa; text-align: center; padding: 10px 0; margin-top: auto; } /* Responsive Adjustments */ @media (max-width: 768px) { .content-home { padding: 20px; gap: 30px; } .home-row { flex-direction: column; gap: 20px; } .home-left { padding: 10px; } .service-items { width: 100%; max-width: 300px; } } @media (max-width: 500px) { .navbar-brand img { width: 75px; height: 75px; } .home-row { gap: 15px; } .home-right img { max-width: 100%; height: auto; } .service-items { width: 90%; } } .logo { width: 100px; /* Increase the width */ height: auto; /* Adjust height proportionally */ } /*--------------------------------------------------------------------------------------*/ /* Global Styles */ body { box-sizing: border-box; margin: 0; padding: 0; font-family: 'IBM Plex Sans Thai', sans-serif; } /* Content Layout */ .content { display: flex; flex-wrap: wrap; /* Enable wrapping for responsiveness */ justify-content: space-between; padding: 1rem; } /* Left section styling */ .left { flex: 1 1 50%; /* Takes up 50% of the width */ padding: 20px; } .left .form { max-width: 500px; padding: 20px; background-color: #f9f9f9; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .button-layout { display: flex; justify-content: center; padding: 10px; } /* Checkbox styling */ .symptoms { font-size: 19px; margin-right: 10px; } input[type="checkbox"] { margin-bottom: 10px; transform: scale(0.9); } /* Add hover effects */ input[type="checkbox"]:hover { cursor: pointer; transform: scale(1.1); transition: transform 0.2s ease-in-out; } .left, .right { flex: 1 1 100%; /* Stack the sections on top of each other */ padding: 10px; } .content { flex-direction: column; align-items: center; } .form, .right-top { width: 100%; } input[type="checkbox"] { margin-bottom: 10px; transform: scale(1.5); /* Make checkboxes smaller for mobile */ } /* From Uiverse.io by zjssun */ .button { position: relative; padding: 10px 22px; border-radius: 6px; border: none; color: #fff; cursor: pointer; background-color: #7d2ae8; transition: all 0.2s ease; } .button:active { transform: scale(0.96); } .button:before, .button:after { position: absolute; content: ""; width: 150%; left: 50%; height: 100%; transform: translateX(-50%); z-index: -1000; background-repeat: no-repeat; } .button:hover:before { top: -70%; background-image: radial-gradient(circle, #7d2ae8 20%, transparent 20%), radial-gradient(circle, transparent 20%, #7d2ae8 20%, transparent 30%), radial-gradient(circle, #7d2ae8 20%, transparent 20%), radial-gradient(circle, #7d2ae8 20%, transparent 20%), radial-gradient(circle, transparent 10%, #7d2ae8 15%, transparent 20%), radial-gradient(circle, #7d2ae8 20%, transparent 20%), radial-gradient(circle, #7d2ae8 20%, transparent 20%), radial-gradient(circle, #7d2ae8 20%, transparent 20%), radial-gradient(circle, #7d2ae8 20%, transparent 20%); background-size: 10% 10%, 20% 20%, 15% 15%, 20% 20%, 18% 18%, 10% 10%, 15% 15%, 10% 10%, 18% 18%; background-position: 50% 120%; animation: greentopBubbles 0.6s ease; } @keyframes greentopBubbles { 0% { background-position: 5% 90%, 10% 90%, 10% 90%, 15% 90%, 25% 90%, 25% 90%, 40% 90%, 55% 90%, 70% 90%; } 50% { background-position: 0% 80%, 0% 20%, 10% 40%, 20% 0%, 30% 30%, 22% 50%, 50% 50%, 65% 20%, 90% 30%; } 100% { background-position: 0% 70%, 0% 10%, 10% 30%, 20% -10%, 30% 20%, 22% 40%, 50% 40%, 65% 10%, 90% 20%; background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%; } } .button:hover:after { bottom: -70%; background-image: radial-gradient(circle, #e82a2a 20%, transparent 20%), radial-gradient(circle, #e82a2a 20%, transparent 20%), radial-gradient(circle, transparent 10%, #e82a2a 15%, transparent 20%), radial-gradient(circle, #e82a2a 20%, transparent 20%), radial-gradient(circle, #e82a2a 20%, transparent 20%), radial-gradient(circle, #e82a2a 20%, transparent 20%), radial-gradient(circle, #e82a2a 20%, transparent 20%); background-size: 15% 15%, 20% 20%, 18% 18%, 20% 20%, 15% 15%, 20% 20%, 18% 18%; background-position: 50% 0%; animation: greenbottomBubbles 0.6s ease; } @keyframes greenbottomBubbles { 0% { background-position: 10% -10%, 30% 10%, 55% -10%, 70% -10%, 85% -10%, 70% -10%, 70% 0%; } 50% { background-position: 0% 80%, 20% 80%, 45% 60%, 60% 100%, 75% 70%, 95% 60%, 105% 0%; } 100% { background-position: 0% 90%, 20% 90%, 45% 70%, 60% 110%, 75% 80%, 95% 70%, 110% 10%; background-size: 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%; } } /*เส้นบน----------------------------------------------------------------------------------------------------------*/ /* Navbar links hover animation */ .navbar-nav .nav-link { position: relative; color: #000; padding: 10px; font-size: 1rem; transition: color 0.3s ease-in-out, transform 0.3s ease-in-out; } .navbar-nav .nav-link:hover { color: #007bff; /* Change the color on hover */ } /* Underline effect: starts from center and expands outward */ .navbar-nav .nav-link::after { content: ''; position: absolute; width: 0; height: 2px; bottom: -5px; left: 50%; background-color: #007bff; transform: translateX(-50%); transition: width 0.4s ease-in-out; /* Smooth expansion */ } .navbar-nav .nav-link:hover::after { width: 100%; /* Expand to full width */ left: 50%; transform: translateX(-50%); } /*เส้นล่าง-----------------------------------------------------------------------------------------------------------------------------*/ /* Add a color-changing line at the top of the navbar */ .navbar { position: relative; z-index: 1; } .navbar::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 6px; /* Set the height of the color line */ background: linear-gradient(90deg, #71C9CE 0%, #A6E3E9 25%, #CBF1F5 75%, #E3FDFD 100%); background-size: 600%; animation: colorChange 6s linear infinite; /* Infinite animation */ } /* Keyframes to animate the gradient colors */ @keyframes colorChange { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .footer { position: relative; z-index: 1; padding: 20px 0; /* Adjust padding as needed */ text-align: center; /* Center the footer text */ } .footer::after { /* Use ::after to place the gradient at the bottom */ content: ""; position: absolute; bottom: 0; /* Align it to the bottom */ left: 0; width: 100%; height: 6px; /* Set the height of the color line */ background: linear-gradient(90deg, #71C9CE 0%, #A6E3E9 25%, #CBF1F5 75%, #E3FDFD 100%); background-size: 600%; animation: colorChange 6s linear infinite; /* Infinite animation */ } /* Keyframes to animate the gradient colors */ @keyframes colorChange { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /*-----------------------------------------------------------------------------------------------------------------------------*/ /*animate background*/ .circles { position: absolute; top: 100px; left: 0; width: 100%; height: 1200px; } .circles li { position: absolute; display: block; list-style: none; width: 20px; height: 70px; background: rgba(255, 255, 255, 0.5); animation: animate 25s linear infinite; bottom: 0px; } .circles li:nth-child(1) { left: 25%; width: 80px; height: 80px; animation-delay: 0s; } .circles li:nth-child(2) { left: 10%; width: 20px; height: 20px; animation-delay: 2s; animation-duration: 12s; } .circles li:nth-child(3) { left: 70%; width: 20px; height: 20px; animation-delay: 4s; } .circles li:nth-child(4) { left: 40%; width: 60px; height: 60px; animation-delay: 0s; animation-duration: 18s; } .circles li:nth-child(5) { left: 65%; width: 20px; height: 20px; animation-delay: 0s; } .circles li:nth-child(6) { left: 75%; width: 110px; height: 110px; animation-delay: 3s; } .circles li:nth-child(7) { left: 35%; width: 150px; height: 150px; animation-delay: 7s; } .circles li:nth-child(8) { left: 50%; width: 25px; height: 25px; animation-delay: 15s; animation-duration: 45s; } .circles li:nth-child(9) { left: 20%; width: 15px; height: 15px; animation-delay: 2s; animation-duration: 35s; } .circles li:nth-child(10) { left: 85%; width: 150px; height: 150px; animation-delay: 0s; animation-duration: 11s; } @keyframes animate { 0% { transform: translateY(500) rotate(0deg); opacity: 1; border-radius: 0; } 100% { transform: translateY(-1500px) rotate(720deg); opacity: 0; border-radius: 50%; } } .footer { background-color: #333; color: #fff; padding: 20px 10%; } .footer-container { display: flex; flex-wrap: wrap; justify-content: space-between; } .footer-section { flex: 1; margin: 10px; min-width: 200px; } .footer-section h3 { margin-bottom: 10px; font-size: 18px; color: #f2f2f2; } .footer-section p, .footer-section a { color: #ccc; text-decoration: none; margin-bottom: 8px; display: block; } .footer-section a:hover { color: #fff; } .footer-section img { width: 100%; max-width: 300px; border-radius: 8px; margin-top: 10px; } .social-links a { display: inline-block; margin: 5px 10px 5px 0; color: #ccc; font-size: 20px; } .social-links a:hover { color: #fff; } .footer-bottom { text-align: center; margin-top: 20px; border-top: 1px solid #444; padding-top: 10px; font-size: 14px; } @media (max-width: 768px) { .footer-container { flex-direction: column; text-align: center; } .footer-section img { margin: 10px auto; } } /*new css detect*/ .detect-section { background-color: #f4f6f9; padding: 3rem 0; } .input-card { background-color: white; border-radius: 12px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); padding: 2rem; transition: transform 0.3s ease; } .input-card:hover { transform: translateY(-5px); } .custom-checkbox .form-check-input:checked { background-color: var(--primary-color); border-color: var(--primary-color); } .btn-submit { background-color: var(--primary-color); color: white; transition: all 0.3s ease; } .btn-submit:hover { background-color: var(--secondary-color); transform: translateY(-3px); } .loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.8); display: flex; justify-content: center; align-items: center; z-index: 1050; } .spinner-container { text-align: center; } .spinner { width: 50px; height: 50px; animation: rotate 2s linear infinite; } .spinner .path { stroke: #007bff; /* Customize the color */ stroke-linecap: round; animation: dash 1.5s ease-in-out infinite; } @keyframes rotate { 100% { transform: rotate(360deg); } } @keyframes dash { 0% { stroke-dasharray: 1, 150; stroke-dashoffset: 0; } 50% { stroke-dasharray: 90, 150; stroke-dashoffset: -35; } 100% { stroke-dasharray: 90, 150; stroke-dashoffset: -124; } }