|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:root { |
|
|
|
|
|
--primary: #4a6fa5; |
|
|
--primary-dark: #345481; |
|
|
--primary-light: #6a8fc5; |
|
|
--secondary: #ff8b5e; |
|
|
--secondary-dark: #e67a4d; |
|
|
--secondary-light: #ff9f7a; |
|
|
--accent: #54d1bd; |
|
|
--text: #2e3a59; |
|
|
--text-light: #7988a3; |
|
|
--light: #f9fafc; |
|
|
--dark: #273149; |
|
|
--white: #ffffff; |
|
|
--background: #f5f7fa; |
|
|
--gray-100: #f6f8fb; |
|
|
--gray-200: #e9ecf3; |
|
|
--gray-300: #d2d9e5; |
|
|
--shadow: rgba(46, 58, 89, 0.1); |
|
|
} |
|
|
|
|
|
|
|
|
* { |
|
|
margin: 0; |
|
|
padding: 0; |
|
|
box-sizing: border-box; |
|
|
} |
|
|
|
|
|
html { |
|
|
scroll-behavior: smooth; |
|
|
} |
|
|
|
|
|
body { |
|
|
font-family: 'Poppins', sans-serif; |
|
|
background-color: var(--background); |
|
|
color: var(--text); |
|
|
line-height: 1.6; |
|
|
overflow-x: hidden; |
|
|
position: relative; |
|
|
min-height: 100vh; |
|
|
} |
|
|
|
|
|
h1, h2, h3, h4, h5, h6 { |
|
|
font-family: 'Nunito', sans-serif; |
|
|
font-weight: 700; |
|
|
line-height: 1.3; |
|
|
color: var(--dark); |
|
|
} |
|
|
|
|
|
a { |
|
|
text-decoration: none; |
|
|
transition: all 0.3s ease; |
|
|
color: var(--primary); |
|
|
} |
|
|
|
|
|
a:hover { |
|
|
color: var(--secondary); |
|
|
} |
|
|
|
|
|
.btn { |
|
|
font-weight: 600; |
|
|
padding: 10px 24px; |
|
|
border-radius: 8px; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.btn-primary { |
|
|
background-color: var(--primary); |
|
|
border-color: var(--primary); |
|
|
} |
|
|
|
|
|
.btn-primary:hover { |
|
|
background-color: var(--primary-dark); |
|
|
border-color: var(--primary-dark); |
|
|
transform: translateY(-2px); |
|
|
box-shadow: 0 6px 15px rgba(74, 111, 165, 0.25); |
|
|
} |
|
|
|
|
|
.btn i { |
|
|
margin-right: 8px; |
|
|
} |
|
|
|
|
|
img { |
|
|
max-width: 100%; |
|
|
} |
|
|
|
|
|
.rounded-4 { |
|
|
border-radius: 16px; |
|
|
} |
|
|
|
|
|
|
|
|
.animated-background { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
z-index: -1; |
|
|
overflow: hidden; |
|
|
pointer-events: none; |
|
|
} |
|
|
|
|
|
.particle-container { |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
} |
|
|
|
|
|
.particle { |
|
|
position: absolute; |
|
|
background-color: var(--primary-light); |
|
|
border-radius: 50%; |
|
|
opacity: 0.3; |
|
|
animation: float linear infinite; |
|
|
} |
|
|
|
|
|
.paw-prints { |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
} |
|
|
|
|
|
.paw { |
|
|
position: absolute; |
|
|
width: 20px; |
|
|
height: 20px; |
|
|
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%234a6fa5" opacity="0.1" d="M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm294.56 0c-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34-29.12-6.96-61.15 15.48-71.56 50.13z"/></svg>'); |
|
|
background-size: contain; |
|
|
background-repeat: no-repeat; |
|
|
opacity: 0.1; |
|
|
} |
|
|
|
|
|
@keyframes float { |
|
|
0% { |
|
|
transform: translateY(0) translateX(0) rotate(0deg); |
|
|
opacity: 0; |
|
|
} |
|
|
10% { |
|
|
opacity: 0.3; |
|
|
} |
|
|
90% { |
|
|
opacity: 0.2; |
|
|
} |
|
|
100% { |
|
|
transform: translateY(-100vh) translateX(20px) rotate(180deg); |
|
|
opacity: 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.app-wrapper { |
|
|
position: relative; |
|
|
z-index: 1; |
|
|
} |
|
|
|
|
|
|
|
|
.app-header { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
right: 0; |
|
|
z-index: 1000; |
|
|
padding: 15px 0; |
|
|
transition: all 0.3s ease; |
|
|
background-color: rgba(255, 255, 255, 0.9); |
|
|
backdrop-filter: blur(10px); |
|
|
box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05); |
|
|
} |
|
|
|
|
|
.navbar-brand { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
font-family: 'Nunito', sans-serif; |
|
|
font-weight: 800; |
|
|
font-size: 1.6rem; |
|
|
color: var(--primary); |
|
|
} |
|
|
|
|
|
.navbar-brand i { |
|
|
font-size: 1.8rem; |
|
|
margin-right: 10px; |
|
|
color: var(--secondary); |
|
|
} |
|
|
|
|
|
.navbar-toggler { |
|
|
border: none; |
|
|
color: var(--primary); |
|
|
font-size: 1.5rem; |
|
|
padding: 5px; |
|
|
} |
|
|
|
|
|
.navbar-nav .nav-link { |
|
|
font-weight: 600; |
|
|
color: var(--text); |
|
|
padding: 10px 15px; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.navbar-nav .nav-link:after { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
width: 0; |
|
|
height: 3px; |
|
|
background: var(--secondary); |
|
|
bottom: 0; |
|
|
left: 50%; |
|
|
transform: translateX(-50%); |
|
|
transition: width 0.3s ease; |
|
|
border-radius: 10px; |
|
|
} |
|
|
|
|
|
.navbar-nav .nav-link.active:after, |
|
|
.navbar-nav .nav-link:hover:after { |
|
|
width: 60%; |
|
|
} |
|
|
|
|
|
.navbar-nav .nav-link.active, |
|
|
.navbar-nav .nav-link:hover { |
|
|
color: var(--primary); |
|
|
} |
|
|
|
|
|
|
|
|
.hero-section { |
|
|
padding: 140px 0 80px; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.hero-content h1 { |
|
|
font-size: 3rem; |
|
|
margin-bottom: 1.5rem; |
|
|
color: var(--primary-dark); |
|
|
position: relative; |
|
|
display: inline-block; |
|
|
} |
|
|
|
|
|
.hero-content h1:after { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
width: 60px; |
|
|
height: 5px; |
|
|
background: var(--secondary); |
|
|
bottom: -15px; |
|
|
left: 0; |
|
|
border-radius: 10px; |
|
|
} |
|
|
|
|
|
.hero-content .lead { |
|
|
font-size: 1.2rem; |
|
|
color: var(--text-light); |
|
|
margin-bottom: 2rem; |
|
|
} |
|
|
|
|
|
.hero-image { |
|
|
position: relative; |
|
|
padding: 10px; |
|
|
} |
|
|
|
|
|
.hero-image img { |
|
|
border-radius: 16px; |
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1); |
|
|
transition: all 0.5s ease; |
|
|
} |
|
|
|
|
|
.hero-image:hover img { |
|
|
transform: translateY(-10px); |
|
|
box-shadow: 0 35px 60px rgba(0, 0, 0, 0.15); |
|
|
} |
|
|
|
|
|
.floating-icon { |
|
|
position: absolute; |
|
|
width: 50px; |
|
|
height: 50px; |
|
|
border-radius: 50%; |
|
|
background: var(--white); |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); |
|
|
animation: float-icon 3s ease-in-out infinite; |
|
|
} |
|
|
|
|
|
.floating-icon i { |
|
|
font-size: 1.3rem; |
|
|
} |
|
|
|
|
|
.icon-1 { |
|
|
top: -20px; |
|
|
left: 10%; |
|
|
background: var(--primary); |
|
|
color: var(--white); |
|
|
animation-delay: 0s; |
|
|
} |
|
|
|
|
|
.icon-2 { |
|
|
top: 20%; |
|
|
right: -15px; |
|
|
background: var(--secondary); |
|
|
color: var(--white); |
|
|
animation-delay: 1s; |
|
|
} |
|
|
|
|
|
.icon-3 { |
|
|
bottom: 10px; |
|
|
left: 20%; |
|
|
background: var(--accent); |
|
|
color: var(--white); |
|
|
animation-delay: 2s; |
|
|
} |
|
|
|
|
|
@keyframes float-icon { |
|
|
0%, 100% { |
|
|
transform: translateY(0); |
|
|
} |
|
|
50% { |
|
|
transform: translateY(-15px); |
|
|
} |
|
|
} |
|
|
|
|
|
.scan-animation { |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
background: linear-gradient(to bottom, |
|
|
rgba(255,255,255,0) 0%, |
|
|
rgba(74,111,165,0.15) 50%, |
|
|
rgba(255,255,255,0) 100%); |
|
|
pointer-events: none; |
|
|
animation: scan 3s linear infinite; |
|
|
} |
|
|
|
|
|
@keyframes scan { |
|
|
0% { |
|
|
transform: translateY(-100%); |
|
|
} |
|
|
100% { |
|
|
transform: translateY(100%); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.identifier-section { |
|
|
padding: 80px 0; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.identifier-card { |
|
|
background: var(--white); |
|
|
border-radius: 16px; |
|
|
box-shadow: 0 15px 40px var(--shadow); |
|
|
overflow: hidden; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.identifier-card:hover { |
|
|
transform: translateY(-5px); |
|
|
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12); |
|
|
} |
|
|
|
|
|
.card-header { |
|
|
padding: 25px 30px; |
|
|
background: var(--primary); |
|
|
color: var(--white); |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.card-header h2 { |
|
|
color: var(--white); |
|
|
font-weight: 700; |
|
|
margin-bottom: 5px; |
|
|
font-size: 1.8rem; |
|
|
} |
|
|
|
|
|
.card-header p { |
|
|
opacity: 0.9; |
|
|
margin: 0; |
|
|
} |
|
|
|
|
|
.card-body { |
|
|
padding: 30px; |
|
|
} |
|
|
|
|
|
|
|
|
.upload-container { |
|
|
margin-bottom: 25px; |
|
|
} |
|
|
|
|
|
.upload-area { |
|
|
border: 2px dashed var(--gray-300); |
|
|
border-radius: 12px; |
|
|
padding: 20px; |
|
|
text-align: center; |
|
|
transition: all 0.3s ease; |
|
|
background: var(--gray-100); |
|
|
position: relative; |
|
|
cursor: pointer; |
|
|
} |
|
|
|
|
|
.upload-area:hover { |
|
|
border-color: var(--primary); |
|
|
background: var(--gray-200); |
|
|
} |
|
|
|
|
|
.upload-area.drag-over { |
|
|
border-color: var(--secondary); |
|
|
background: rgba(255, 139, 94, 0.05); |
|
|
} |
|
|
|
|
|
.upload-area.file-selected { |
|
|
border-color: var(--accent); |
|
|
background: rgba(84, 209, 189, 0.05); |
|
|
} |
|
|
|
|
|
.upload-icon { |
|
|
font-size: 3rem; |
|
|
color: var(--primary); |
|
|
margin-bottom: 15px; |
|
|
} |
|
|
|
|
|
.upload-text { |
|
|
margin-bottom: 10px; |
|
|
} |
|
|
|
|
|
.upload-text span { |
|
|
display: block; |
|
|
margin-bottom: 10px; |
|
|
color: var(--text-light); |
|
|
} |
|
|
|
|
|
.browse-btn { |
|
|
background: none; |
|
|
border: none; |
|
|
color: var(--primary); |
|
|
font-weight: 600; |
|
|
cursor: pointer; |
|
|
padding: 0; |
|
|
} |
|
|
|
|
|
.browse-btn:hover { |
|
|
color: var(--secondary); |
|
|
text-decoration: underline; |
|
|
} |
|
|
|
|
|
.upload-info { |
|
|
font-size: 0.85rem; |
|
|
color: var(--text-light); |
|
|
margin: 10px 0 0; |
|
|
} |
|
|
|
|
|
.file-input { |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
opacity: 0; |
|
|
cursor: pointer; |
|
|
} |
|
|
|
|
|
.selected-file { |
|
|
margin-top: 15px; |
|
|
font-size: 0.9rem; |
|
|
color: var(--text); |
|
|
text-align: center; |
|
|
min-height: 24px; |
|
|
font-weight: 500; |
|
|
} |
|
|
|
|
|
|
|
|
.preview-container { |
|
|
display: none; |
|
|
position: relative; |
|
|
width: 100%; |
|
|
max-width: 300px; |
|
|
margin: 15px auto 0; |
|
|
border: 1px solid var(--gray-200); |
|
|
border-radius: 12px; |
|
|
overflow: hidden; |
|
|
background: var(--gray-100); |
|
|
box-shadow: 0 4px 10px rgba(0,0,0,0.05); |
|
|
min-height: 150px; |
|
|
} |
|
|
|
|
|
#image-preview { |
|
|
width: 100%; |
|
|
height: auto; |
|
|
display: none; |
|
|
} |
|
|
|
|
|
#preview-text { |
|
|
display: block; |
|
|
padding: 20px; |
|
|
color: var(--text-light); |
|
|
text-align: center; |
|
|
position: absolute; |
|
|
top: 50%; |
|
|
left: 50%; |
|
|
transform: translate(-50%, -50%); |
|
|
width: 100%; |
|
|
} |
|
|
|
|
|
|
|
|
.upload-error { |
|
|
margin-top: 15px; |
|
|
text-align: left; |
|
|
font-size: 0.9rem; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
animation: fadeIn 0.3s ease; |
|
|
} |
|
|
|
|
|
.upload-error i { |
|
|
margin-right: 8px; |
|
|
font-size: 1rem; |
|
|
} |
|
|
|
|
|
@keyframes fadeIn { |
|
|
from { opacity: 0; transform: translateY(-10px); } |
|
|
to { opacity: 1; transform: translateY(0); } |
|
|
} |
|
|
|
|
|
|
|
|
.loading-overlay { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
background: rgba(255, 255, 255, 0.8); |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
justify-content: center; |
|
|
align-items: center; |
|
|
z-index: 2000; |
|
|
opacity: 0; |
|
|
pointer-events: none; |
|
|
transition: opacity 0.3s ease; |
|
|
} |
|
|
|
|
|
.loading-overlay.active { |
|
|
opacity: 1; |
|
|
pointer-events: all; |
|
|
} |
|
|
|
|
|
.loading-spinner { |
|
|
width: 80px; |
|
|
height: 80px; |
|
|
border-radius: 50%; |
|
|
border: 8px solid var(--gray-200); |
|
|
border-top-color: var(--primary); |
|
|
animation: spin 1s linear infinite; |
|
|
margin-bottom: 20px; |
|
|
} |
|
|
|
|
|
.loading-message { |
|
|
font-weight: 600; |
|
|
color: var(--primary-dark); |
|
|
margin-top: 15px; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.loading-dog { |
|
|
width: 60px; |
|
|
height: 60px; |
|
|
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%234a6fa5" d="M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm294.56 0c-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34-29.12-6.96-61.15 15.48-71.56 50.13z"/></svg>'); |
|
|
background-repeat: no-repeat; |
|
|
background-position: center; |
|
|
margin: 0 auto; |
|
|
animation: bounce 1.5s ease infinite alternate; |
|
|
} |
|
|
|
|
|
@keyframes spin { |
|
|
to { transform: rotate(360deg); } |
|
|
} |
|
|
|
|
|
@keyframes bounce { |
|
|
0% { transform: translateY(0); } |
|
|
100% { transform: translateY(-15px); } |
|
|
} |
|
|
|
|
|
|
|
|
.result-section { |
|
|
margin-top: 40px; |
|
|
border-top: 1px solid var(--gray-200); |
|
|
padding-top: 30px; |
|
|
} |
|
|
|
|
|
.result-header { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: space-between; |
|
|
margin-bottom: 25px; |
|
|
} |
|
|
|
|
|
.result-header h3 { |
|
|
margin: 0; |
|
|
color: var(--primary-dark); |
|
|
font-size: 1.5rem; |
|
|
} |
|
|
|
|
|
.analysis-badge { |
|
|
display: inline-flex; |
|
|
align-items: center; |
|
|
padding: 6px 12px; |
|
|
border-radius: 8px; |
|
|
background: rgba(84, 209, 189, 0.15); |
|
|
color: var(--accent); |
|
|
font-weight: 600; |
|
|
font-size: 0.9rem; |
|
|
} |
|
|
|
|
|
.analysis-badge i { |
|
|
margin-right: 6px; |
|
|
} |
|
|
|
|
|
.result-content { |
|
|
background: var(--gray-100); |
|
|
border-radius: 12px; |
|
|
padding: 20px; |
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); |
|
|
} |
|
|
|
|
|
.result-image { |
|
|
position: relative; |
|
|
border-radius: 8px; |
|
|
overflow: hidden; |
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
|
|
|
.image-overlay { |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
background: linear-gradient(to bottom, |
|
|
rgba(74,111,165,0.1) 0%, |
|
|
rgba(255,255,255,0) 100%); |
|
|
pointer-events: none; |
|
|
} |
|
|
|
|
|
.scan-line { |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 2px; |
|
|
background: rgba(74,111,165,0.7); |
|
|
box-shadow: 0 0 10px rgba(74,111,165,0.5); |
|
|
animation: scan-result 2s linear infinite; |
|
|
} |
|
|
|
|
|
@keyframes scan-result { |
|
|
0% { |
|
|
top: 0; |
|
|
} |
|
|
100% { |
|
|
top: 100%; |
|
|
} |
|
|
} |
|
|
|
|
|
.result-details { |
|
|
padding: 10px; |
|
|
} |
|
|
|
|
|
.result-item { |
|
|
margin-bottom: 20px; |
|
|
} |
|
|
|
|
|
.item-label { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
font-size: 0.9rem; |
|
|
color: var(--text-light); |
|
|
margin-bottom: 8px; |
|
|
} |
|
|
|
|
|
.item-label i { |
|
|
margin-right: 8px; |
|
|
color: var(--primary); |
|
|
} |
|
|
|
|
|
.item-value { |
|
|
font-weight: 700; |
|
|
color: var(--dark); |
|
|
font-size: 1.1rem; |
|
|
} |
|
|
|
|
|
.prediction-tag { |
|
|
display: inline-block; |
|
|
padding: 6px 12px; |
|
|
background: var(--primary-light); |
|
|
color: var(--white); |
|
|
border-radius: 6px; |
|
|
font-size: 1rem; |
|
|
font-weight: 600; |
|
|
box-shadow: 0 3px 6px rgba(74, 111, 165, 0.2); |
|
|
} |
|
|
|
|
|
.progress { |
|
|
height: 6px; |
|
|
background-color: var(--gray-200); |
|
|
border-radius: 10px; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.progress-bar { |
|
|
background: linear-gradient(to right, var(--primary), var(--accent)); |
|
|
border-radius: 10px; |
|
|
animation: progress 1s ease-out forwards; |
|
|
} |
|
|
|
|
|
.progress-bar.high-confidence { |
|
|
background: linear-gradient(to right, var(--primary), var(--accent)); |
|
|
} |
|
|
|
|
|
.progress-bar.medium-confidence { |
|
|
background: linear-gradient(to right, var(--primary-light), var(--accent)); |
|
|
} |
|
|
|
|
|
.progress-bar.low-confidence { |
|
|
background: linear-gradient(to right, var(--secondary), var(--secondary-light)); |
|
|
} |
|
|
|
|
|
@keyframes progress { |
|
|
0% { |
|
|
width: 0; |
|
|
} |
|
|
} |
|
|
|
|
|
.other-predictions li { |
|
|
margin-bottom: 5px; |
|
|
padding-bottom: 5px; |
|
|
border-bottom: 1px dashed var(--gray-200); |
|
|
font-weight: 500; |
|
|
font-size: 0.95rem; |
|
|
} |
|
|
|
|
|
.other-predictions li:last-child { |
|
|
border-bottom: none; |
|
|
margin-bottom: 0; |
|
|
padding-bottom: 0; |
|
|
} |
|
|
|
|
|
|
|
|
.not-dog-icon { |
|
|
font-size: 3rem; |
|
|
position: relative; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
align-items: center; |
|
|
height: 100px; |
|
|
margin-bottom: 15px; |
|
|
} |
|
|
|
|
|
.not-dog-icon i.fa-paw { |
|
|
color: var(--text-light); |
|
|
position: relative; |
|
|
z-index: 1; |
|
|
} |
|
|
|
|
|
.not-dog-icon i.fa-ban { |
|
|
color: var(--secondary); |
|
|
position: absolute; |
|
|
font-size: 3.5rem; |
|
|
opacity: 0.8; |
|
|
} |
|
|
|
|
|
.prediction-text { |
|
|
font-size: 1.2rem; |
|
|
color: var(--text); |
|
|
margin-bottom: 10px; |
|
|
} |
|
|
|
|
|
|
|
|
.share-results { |
|
|
margin-top: 20px; |
|
|
text-align: center; |
|
|
padding-top: 15px; |
|
|
border-top: 1px solid var(--gray-200); |
|
|
} |
|
|
|
|
|
.share-text { |
|
|
font-size: 0.9rem; |
|
|
color: var(--text-light); |
|
|
margin-bottom: 10px; |
|
|
} |
|
|
|
|
|
.share-buttons { |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
gap: 10px; |
|
|
} |
|
|
|
|
|
.share-btn { |
|
|
width: 36px; |
|
|
height: 36px; |
|
|
padding: 0; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
border-radius: 50%; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.btn-facebook { |
|
|
background-color: #3b5998; |
|
|
border-color: #3b5998; |
|
|
color: white; |
|
|
} |
|
|
|
|
|
.btn-twitter { |
|
|
background-color: #1da1f2; |
|
|
border-color: #1da1f2; |
|
|
color: white; |
|
|
} |
|
|
|
|
|
.btn-pinterest { |
|
|
background-color: #bd081c; |
|
|
border-color: #bd081c; |
|
|
color: white; |
|
|
} |
|
|
|
|
|
.btn-email { |
|
|
background-color: #737373; |
|
|
border-color: #737373; |
|
|
color: white; |
|
|
} |
|
|
|
|
|
.share-btn:hover { |
|
|
transform: translateY(-3px); |
|
|
box-shadow: 0 5px 15px rgba(0,0,0,0.1); |
|
|
color: white; |
|
|
} |
|
|
|
|
|
|
|
|
.about-section { |
|
|
padding: 80px 0; |
|
|
background-color: var(--gray-100); |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.about-section h2 { |
|
|
font-size: 2.5rem; |
|
|
color: var(--primary-dark); |
|
|
margin-bottom: 15px; |
|
|
} |
|
|
|
|
|
.section-lead { |
|
|
font-size: 1.1rem; |
|
|
color: var(--text-light); |
|
|
max-width: 700px; |
|
|
margin: 0 auto; |
|
|
} |
|
|
|
|
|
.feature-card { |
|
|
background: var(--white); |
|
|
border-radius: 16px; |
|
|
padding: 30px; |
|
|
text-align: center; |
|
|
box-shadow: 0 10px 30px var(--shadow); |
|
|
height: 100%; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.feature-card:hover { |
|
|
transform: translateY(-10px); |
|
|
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
|
|
|
.feature-card:hover .feature-icon { |
|
|
background: var(--secondary); |
|
|
color: var(--white); |
|
|
} |
|
|
|
|
|
.feature-icon { |
|
|
width: 70px; |
|
|
height: 70px; |
|
|
background: var(--primary); |
|
|
color: var(--white); |
|
|
border-radius: 50%; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
margin: 0 auto 20px; |
|
|
font-size: 1.8rem; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.feature-card h3 { |
|
|
margin-bottom: 15px; |
|
|
font-size: 1.4rem; |
|
|
} |
|
|
|
|
|
.feature-card p { |
|
|
color: var(--text-light); |
|
|
margin-bottom: 0; |
|
|
} |
|
|
|
|
|
.tech-badge { |
|
|
display: inline-flex; |
|
|
align-items: center; |
|
|
background: var(--white); |
|
|
padding: 10px 20px; |
|
|
border-radius: 50px; |
|
|
box-shadow: 0 5px 15px var(--shadow); |
|
|
} |
|
|
|
|
|
.tech-badge span { |
|
|
margin: 0 10px; |
|
|
font-weight: 600; |
|
|
color: var(--text-light); |
|
|
} |
|
|
|
|
|
.tech-badge i { |
|
|
font-size: 1.5rem; |
|
|
color: var(--primary-dark); |
|
|
} |
|
|
|
|
|
|
|
|
.footer-section { |
|
|
background: var(--dark); |
|
|
color: rgba(255, 255, 255, 0.8); |
|
|
padding: 80px 0 30px; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.footer-section h4 { |
|
|
color: var(--white); |
|
|
margin-bottom: 25px; |
|
|
font-size: 1.4rem; |
|
|
position: relative; |
|
|
padding-bottom: 15px; |
|
|
} |
|
|
|
|
|
.footer-section h4:after { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
left: 0; |
|
|
bottom: 0; |
|
|
width: 40px; |
|
|
height: 3px; |
|
|
background: var(--secondary); |
|
|
border-radius: 3px; |
|
|
} |
|
|
|
|
|
.footer-logo { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
margin-bottom: 20px; |
|
|
} |
|
|
|
|
|
.footer-logo i { |
|
|
font-size: 2rem; |
|
|
color: var(--secondary); |
|
|
margin-right: 10px; |
|
|
} |
|
|
|
|
|
.footer-logo span { |
|
|
font-family: 'Nunito', sans-serif; |
|
|
font-weight: 800; |
|
|
font-size: 1.8rem; |
|
|
color: var(--white); |
|
|
} |
|
|
|
|
|
.footer-about p { |
|
|
margin-bottom: 20px; |
|
|
line-height: 1.7; |
|
|
} |
|
|
|
|
|
.tech-stack { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
flex-wrap: wrap; |
|
|
gap: 15px; |
|
|
margin-top: 15px; |
|
|
} |
|
|
|
|
|
.tech-stack span { |
|
|
opacity: 0.7; |
|
|
font-size: 0.9rem; |
|
|
} |
|
|
|
|
|
.tech-stack i { |
|
|
font-size: 1.3rem; |
|
|
opacity: 0.9; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.tech-stack i:hover { |
|
|
color: var(--secondary); |
|
|
transform: translateY(-3px); |
|
|
} |
|
|
|
|
|
.footer-links ul { |
|
|
list-style: none; |
|
|
padding: 0; |
|
|
margin: 0; |
|
|
} |
|
|
|
|
|
.footer-links li { |
|
|
margin-bottom: 12px; |
|
|
} |
|
|
|
|
|
.footer-links a { |
|
|
color: rgba(255, 255, 255, 0.8); |
|
|
transition: all 0.3s ease; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
} |
|
|
|
|
|
.footer-links a i { |
|
|
margin-right: 8px; |
|
|
font-size: 0.8rem; |
|
|
} |
|
|
|
|
|
.footer-links a:hover { |
|
|
color: var(--secondary); |
|
|
padding-left: 5px; |
|
|
} |
|
|
|
|
|
.developer-info { |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
border-radius: 12px; |
|
|
padding: 25px; |
|
|
} |
|
|
|
|
|
.dev-profile { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
margin-bottom: 20px; |
|
|
} |
|
|
|
|
|
.dev-avatar { |
|
|
width: 60px; |
|
|
height: 60px; |
|
|
border-radius: 50%; |
|
|
background: var(--primary); |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
margin-right: 15px; |
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.dev-avatar img { |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
object-fit: cover; |
|
|
} |
|
|
|
|
|
.dev-details { |
|
|
flex: 1; |
|
|
} |
|
|
|
|
|
.dev-details h5 { |
|
|
color: var(--white); |
|
|
margin-bottom: 5px; |
|
|
font-size: 1.1rem; |
|
|
} |
|
|
|
|
|
.dev-details p { |
|
|
margin: 0; |
|
|
font-size: 0.9rem; |
|
|
opacity: 0.7; |
|
|
} |
|
|
|
|
|
.social-links { |
|
|
display: flex; |
|
|
gap: 10px; |
|
|
} |
|
|
|
|
|
.social-links a { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
background: rgba(255, 255, 255, 0.1); |
|
|
border-radius: 50%; |
|
|
color: var(--white); |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.social-links a:hover { |
|
|
background: var(--secondary); |
|
|
transform: translateY(-5px); |
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); |
|
|
} |
|
|
|
|
|
.footer-bottom { |
|
|
border-top: 1px solid rgba(255, 255, 255, 0.1); |
|
|
padding-top: 30px; |
|
|
margin-top: 50px; |
|
|
font-size: 0.9rem; |
|
|
opacity: 0.7; |
|
|
} |
|
|
|
|
|
|
|
|
@media (max-width: 991px) { |
|
|
.hero-content { |
|
|
margin-top: 30px; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.hero-content h1:after { |
|
|
left: 50%; |
|
|
transform: translateX(-50%); |
|
|
} |
|
|
|
|
|
.hero-section { |
|
|
padding: 120px 0 60px; |
|
|
} |
|
|
|
|
|
.about-section h2, |
|
|
.section-lead { |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.feature-card { |
|
|
margin-bottom: 30px; |
|
|
} |
|
|
|
|
|
.footer-about, |
|
|
.footer-links, |
|
|
.developer-info { |
|
|
margin-bottom: 40px; |
|
|
} |
|
|
} |
|
|
|
|
|
@media (max-width: 768px) { |
|
|
.hero-content h1 { |
|
|
font-size: 2.5rem; |
|
|
} |
|
|
|
|
|
.card-header h2 { |
|
|
font-size: 1.5rem; |
|
|
} |
|
|
|
|
|
.result-header { |
|
|
flex-direction: column; |
|
|
align-items: flex-start; |
|
|
gap: 10px; |
|
|
} |
|
|
|
|
|
.result-image { |
|
|
margin-bottom: 20px; |
|
|
} |
|
|
|
|
|
.footer-section { |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.footer-section h4:after { |
|
|
left: 50%; |
|
|
transform: translateX(-50%); |
|
|
} |
|
|
|
|
|
.dev-profile { |
|
|
flex-direction: column; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.dev-avatar { |
|
|
margin-right: 0; |
|
|
margin-bottom: 15px; |
|
|
} |
|
|
|
|
|
.social-links { |
|
|
justify-content: center; |
|
|
} |
|
|
|
|
|
.footer-links a { |
|
|
justify-content: center; |
|
|
} |
|
|
|
|
|
.footer-bottom { |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.share-buttons { |
|
|
flex-wrap: wrap; |
|
|
} |
|
|
} |
|
|
|
|
|
@media (max-width: 576px) { |
|
|
.hero-content h1 { |
|
|
font-size: 2rem; |
|
|
} |
|
|
|
|
|
.hero-content .lead { |
|
|
font-size: 1rem; |
|
|
} |
|
|
|
|
|
.floating-icon { |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
} |
|
|
|
|
|
.floating-icon i { |
|
|
font-size: 1rem; |
|
|
} |
|
|
|
|
|
.card-body { |
|
|
padding: 20px; |
|
|
} |
|
|
|
|
|
.upload-icon { |
|
|
font-size: 2.5rem; |
|
|
} |
|
|
|
|
|
.footer-section { |
|
|
padding: 60px 0 30px; |
|
|
} |
|
|
|
|
|
.preview-container { |
|
|
max-width: 100%; |
|
|
} |
|
|
|
|
|
.loading-message { |
|
|
padding: 0 20px; |
|
|
} |
|
|
} |