/*======================================================
UBND PHƯỜNG TRẦN NHÂN TÔNG
Website tuyên truyền PCCC
Version 1.0
======================================================*/

:root{

--red:#b60000;
--red-dark:#8b0000;
--orange:#ff7a00;
--yellow:#ffd000;
--blue:#005baa;
--green:#13a34a;

--white:#ffffff;

--black:#1b1b1b;

--gray:#666;

--light:#f5f7fb;

--border:#e7e7e7;

--shadow:0 10px 30px rgba(0,0,0,.08);

--radius:16px;

}

*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:"Be Vietnam Pro",sans-serif;

background:#fafafa;

color:#222;

line-height:1.8;

}

img{

width:100%;

display:block;

}

a{

text-decoration:none;

transition:.3s;

}

ul{

list-style:none;

}

.container{

width:1200px;

margin:auto;

}

/*==================================================
TOP HEADER
==================================================*/

.top-header{

background:var(--red);

color:#fff;

font-size:14px;

}

.top-header .container{

display:flex;

justify-content:space-between;

align-items:center;

padding:10px 0;

}

.top-header a{

color:white;

}

/*==================================================
HEADER
==================================================*/

header{

background:white;

position:sticky;

top:0;

z-index:999;

box-shadow:0 3px 15px rgba(0,0,0,.08);

}

.main-header{

padding:15px 0;

}

.main-header .container{

display:flex;

align-items:center;

justify-content:space-between;

}

.logo{

display:flex;

align-items:center;

gap:15px;

}

.logo img{

width:72px;

}

.logo h1{

font-size:28px;

color:var(--red);

font-weight:800;

}

.logo h2{

font-size:17px;

color:#444;

}

.logo p{

font-size:13px;

color:#777;

}

/*==================================================
MENU
==================================================*/

nav ul{

display:flex;

gap:32px;

}

nav a{

font-weight:600;

color:#333;

position:relative;

}

nav a:hover{

color:var(--red);

}

nav a.active{

color:var(--red);

}

nav a::after{

content:"";

position:absolute;

bottom:-8px;

left:0;

width:0;

height:3px;

background:var(--red);

transition:.4s;

}

nav a:hover::after{

width:100%;

}

/*==================================================
SEARCH
==================================================*/

.search{

display:flex;

align-items:center;

}

.search input{

height:45px;

width:220px;

padding:0 15px;

border:1px solid #ddd;

border-radius:50px 0 0 50px;

outline:none;

}

.search button{

width:55px;

height:45px;

border:none;

background:var(--red);

color:white;

border-radius:0 50px 50px 0;

cursor:pointer;

}

/*==================================================
BANNER
==================================================*/

.hero{

position:relative;

padding:90px 0;

background:

linear-gradient(rgba(0,0,0,.45),

rgba(0,0,0,.45)),

url("banner.jpg");

background-size:cover;

background-position:center;

overflow:hidden;

}

.hero .container{

display:grid;

grid-template-columns:

260px

1fr

360px;

gap:40px;

align-items:center;

}

.hero-left img{

animation:float 3s infinite ease-in-out;

}

.hero-center{

color:white;

}

.sub-title{

display:inline-block;

background:rgba(255,255,255,.15);

padding:12px 25px;

border-radius:50px;

backdrop-filter:blur(5px);

margin-bottom:25px;

font-weight:600;

}

.hero-center h1{

font-size:56px;

font-weight:800;

line-height:1.1;

margin-bottom:15px;

}

.hero-center h2{

font-size:40px;

margin-bottom:20px;

color:#ffe082;

}

.hero-center p{

font-size:19px;

margin-bottom:35px;

max-width:700px;

}

/*==================================================
BUTTON
==================================================*/

.hero-button{

display:flex;

gap:20px;

margin-bottom:40px;

}

.btn-red{

display:inline-flex;

align-items:center;

justify-content:center;

height:55px;

padding:0 35px;

background:var(--red);

color:white;

border-radius:50px;

font-weight:700;

box-shadow:var(--shadow);

}

.btn-red:hover{

background:var(--red-dark);

transform:translateY(-4px);

}

.btn-yellow{

display:inline-flex;

align-items:center;

justify-content:center;

height:55px;

padding:0 35px;

background:var(--yellow);

color:black;

font-weight:800;

border-radius:50px;

}

.btn-yellow:hover{

transform:translateY(-4px);

}

/*==================================================
HIGHLIGHT
==================================================*/

.hero-highlight{

display:flex;

gap:20px;

margin-top:30px;

}

.hero-highlight div{

background:rgba(255,255,255,.12);

backdrop-filter:blur(6px);

padding:20px;

border-radius:15px;

width:180px;

text-align:center;

}

.hero-highlight h3{

font-size:28px;

color:#ffd54f;

margin-bottom:10px;

}

/*==================================================
PHONE
==================================================*/

.phone{

width:280px;

margin:auto;

filter:drop-shadow(0 20px 30px rgba(0,0,0,.4));

animation:float 4s infinite;

}

.qr-box{

margin-top:30px;

background:white;

padding:20px;

border-radius:20px;

text-align:center;

box-shadow:var(--shadow);

}

.qr-box img{

width:170px;

margin:auto;

margin-bottom:15px;

}

/*==================================================
SECTION
==================================================*/

section{

padding:90px 0;

}

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title span{

display:inline-block;

background:#ffe9e9;

padding:10px 25px;

border-radius:50px;

color:var(--red);

font-weight:700;

margin-bottom:20px;

}

.section-title h2{

font-size:42px;

font-weight:800;

color:#222;

margin-bottom:20px;

}

.section-title p{

max-width:950px;

margin:auto;

font-size:18px;

color:#666;

}

/*==================================================
CARD
==================================================*/

.card,

.policy-box,

.guide-card,

.warning-card,

.document-card,

.contact-card,

.law-card{

background:white;

border-radius:20px;

box-shadow:var(--shadow);

transition:.35s;

overflow:hidden;

}

.card:hover,

.policy-box:hover,

.guide-card:hover,

.warning-card:hover,

.document-card:hover,

.contact-card:hover,

.law-card:hover{

transform:translateY(-10px);

}

/*==================================================
GRID
==================================================*/

.quick-menu .container,

.policy-grid,

.guide-grid,

.warning-grid,

.document-grid,

.contact-grid,

.law-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

/*==================================================
FOOTER
==================================================*/

footer{

background:#850000;

color:white;

padding:70px 0 20px;

}

.footer-grid{

display:grid;

grid-template-columns:

2fr

1fr

1fr;

gap:50px;

}

footer h3{

margin-bottom:20px;

font-size:22px;

}

footer p{

color:#f3f3f3;

}

footer ul li{

margin-bottom:12px;

}

footer hr{

margin:40px 0;

border:none;

height:1px;

background:rgba(255,255,255,.15);

}

.copyright{

text-align:center;

font-size:14px;

}

/*==================================================
ANIMATION
==================================================*/

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}
/*======================================================
VERSION 2
CARD - QUICK MENU - POLICY - VIDEO
======================================================*/

/*========================
QUICK MENU
=========================*/

.quick-menu{

margin-top:-80px;

position:relative;

z-index:20;

}

.quick-menu .container{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}

.quick-card{

background:#fff;

border-radius:22px;

padding:35px 25px;

text-align:center;

box-shadow:0 12px 35px rgba(0,0,0,.08);

transition:.35s;

cursor:pointer;

}

.quick-card:hover{

transform:translateY(-12px);

box-shadow:0 20px 45px rgba(182,0,0,.18);

}

.quick-card i{

font-size:55px;

color:var(--red);

margin-bottom:20px;

}

.quick-card h3{

font-size:22px;

margin-bottom:15px;

}

.quick-card p{

color:#666;

font-size:15px;

line-height:1.7;

}

/*========================
ABOUT
=========================*/

.about{

background:white;

}

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.about-image{

position:relative;

}

.about-image img{

border-radius:25px;

box-shadow:0 20px 50px rgba(0,0,0,.15);

}

.about-content h2{

font-size:42px;

margin-bottom:25px;

color:#b60000;

}

.about-content p{

margin-bottom:20px;

font-size:17px;

color:#555;

text-align:justify;

}

.about-list{

margin-top:30px;

}

.about-list li{

margin-bottom:18px;

padding-left:40px;

position:relative;

}

.about-list li::before{

content:"✔";

position:absolute;

left:0;

color:#0aa54d;

font-size:22px;

font-weight:bold;

}

/*========================
POLICY
=========================*/

.policy-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.policy-box{

padding:40px;

text-align:center;

}

.policy-box img{

height:90px;

width:90px;

margin:auto;

margin-bottom:25px;

}

.policy-box h3{

font-size:24px;

margin-bottom:20px;

color:#b60000;

}

.policy-box p{

color:#666;

line-height:1.8;

}

.policy-box a{

display:inline-block;

margin-top:25px;

font-weight:700;

color:#b60000;

}

.policy-box:hover{

background:#b60000;

color:white;

}

.policy-box:hover h3,

.policy-box:hover p,

.policy-box:hover a{

color:white;

}

/*========================
GUIDE
=========================*/

.guide-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.guide-card{

overflow:hidden;

}

.guide-card img{

height:240px;

object-fit:cover;

transition:.5s;

}

.guide-card:hover img{

transform:scale(1.08);

}

.guide-card h3{

padding:25px;

font-size:24px;

color:#b60000;

}

.guide-card ol,

.guide-card ul{

padding:0 35px 35px;

}

.guide-card li{

margin-bottom:12px;

color:#555;

line-height:1.7;

}

/*========================
WARNING
=========================*/

.warning-card img{

height:240px;

object-fit:cover;

}

.warning-card .content{

padding:30px;

}

.warning-card h3{

margin-bottom:20px;

font-size:24px;

color:#b60000;

}

.warning-card strong{

display:block;

margin-top:20px;

margin-bottom:10px;

color:#ff6a00;

}

.warning-card ul{

margin:20px 0;

padding-left:18px;

list-style:disc;

}

.warning-card li{

margin-bottom:12px;

}

/*========================
VIDEO
=========================*/

.video-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.video-card{

background:white;

border-radius:20px;

overflow:hidden;

box-shadow:var(--shadow);

transition:.35s;

}

.video-card:hover{

transform:translateY(-8px);

}

.video-card iframe{

width:100%;

height:240px;

border:none;

}

.video-card h3{

padding:25px 25px 10px;

font-size:22px;

color:#b60000;

}

.video-card p{

padding:0 25px 30px;

color:#666;

line-height:1.8;

}

/*========================
DOCUMENT
=========================*/

.document-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}

.document-card{

padding:35px;

text-align:center;

}

.pdf-icon{

font-size:65px;

margin-bottom:25px;

}

.document-card h3{

font-size:22px;

margin-bottom:18px;

color:#b60000;

}

.document-card p{

color:#666;

margin-bottom:25px;

}

.document-card a{

display:inline-block;

padding:12px 28px;

border-radius:40px;

background:#b60000;

color:white;

font-weight:700;

}

.document-card a:hover{

background:#850000;

}

/*========================
CONTACT
=========================*/

.contact-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.contact-card{

padding:40px;

text-align:center;

}

.contact-card i{

font-size:60px;

color:#b60000;

margin-bottom:25px;

}

.contact-card h3{

font-size:24px;

margin-bottom:20px;

}

.contact-card p{

margin-bottom:15px;

color:#666;

}

.hotline-number{

font-size:80px;

font-weight:900;

color:#ff0000;

margin:20px 0;

}

/*========================
NUMBER COUNTER
=========================*/

.counter-section{

background:

linear-gradient(rgba(182,0,0,.92),

rgba(182,0,0,.92)),

url("bg-counter.jpg");

background-size:cover;

color:white;

}

.counter-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.counter-box{

text-align:center;

}

.counter-box i{

font-size:60px;

margin-bottom:20px;

}

.counter-box h2{

font-size:60px;

margin-bottom:10px;

}

.counter-box p{

font-size:18px;

}

/*========================
RESPONSIVE 1200
=========================*/

@media(max-width:1200px){

.container{

width:95%;

}

.hero .container{

grid-template-columns:1fr;

text-align:center;

}

.hero-left,

.hero-right{

display:none;

}

.quick-menu .container,

.policy-grid,

.guide-grid,

.video-grid,

.contact-grid,

.warning-grid{

grid-template-columns:repeat(2,1fr);

}

.document-grid{

grid-template-columns:repeat(2,1fr);

}

.counter-grid{

grid-template-columns:repeat(2,1fr);

}

.about-grid{

grid-template-columns:1fr;

}

}
/*======================================================
VERSION 3
FAQ - TIMELINE - NEWS - GALLERY - FLOAT BUTTON
======================================================*/

/*=========================
FAQ
=========================*/

.faq{
max-width:1100px;
margin:auto;
}

.faq-item{
background:#fff;
border-radius:18px;
margin-bottom:18px;
overflow:hidden;
box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.faq-question{
width:100%;
padding:24px 30px;
background:white;
border:none;
cursor:pointer;
text-align:left;
font-size:20px;
font-weight:700;
color:#b60000;
display:flex;
justify-content:space-between;
align-items:center;
}

.faq-question::after{
content:"+";
font-size:30px;
transition:.3s;
}

.faq-item.active .faq-question::after{
content:"−";
}

.faq-answer{
display:none;
padding:0 30px 25px;
color:#555;
line-height:1.9;
}

.faq-item.active .faq-answer{
display:block;
}

/*=========================
TIMELINE
=========================*/

.timeline{
position:relative;
margin:50px auto;
max-width:900px;
}

.timeline::before{
content:"";
position:absolute;
left:40px;
top:0;
bottom:0;
width:4px;
background:#d90000;
}

.step{
position:relative;
margin-left:90px;
background:#fff;
padding:25px;
margin-bottom:35px;
border-radius:18px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.step span{
position:absolute;
left:-74px;
top:18px;
width:45px;
height:45px;
background:#d90000;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
border-radius:50%;
}

.step h3{
margin-bottom:10px;
color:#b60000;
font-size:22px;
}

.step p{
color:#666;
line-height:1.8;
}

/*=========================
CHECK TABLE
=========================*/

.table-responsive{
overflow:auto;
}

.check-table{
width:100%;
border-collapse:collapse;
background:#fff;
box-shadow:0 10px 30px rgba(0,0,0,.08);
border-radius:20px;
overflow:hidden;
}

.check-table th{
background:#b60000;
color:white;
padding:18px;
font-size:17px;
}

.check-table td{
padding:18px;
border-bottom:1px solid #eee;
}

.check-table tr:hover{
background:#fff8f8;
}

.check-table input{
width:22px;
height:22px;
cursor:pointer;
}

/*=========================
NEWS
=========================*/

.news-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.news article{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s;
}

.news article:hover{
transform:translateY(-10px);
}

.news article img{
height:240px;
object-fit:cover;
}

.news article div{
padding:25px;
}

.news article h3{
margin-bottom:15px;
color:#b60000;
font-size:22px;
}

.news article p{
color:#666;
}

/*=========================
GALLERY
=========================*/

.gallery-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.gallery-grid img{
height:240px;
object-fit:cover;
border-radius:18px;
transition:.4s;
cursor:pointer;
}

.gallery-grid img:hover{
transform:scale(1.05);
}

/*=========================
INFOGRAPHIC
=========================*/

.info-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.info-card{
background:white;
padding:35px;
text-align:center;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.circle{
width:80px;
height:80px;
margin:auto;
border-radius:50%;
background:#b60000;
color:white;
display:flex;
align-items:center;
justify-content:center;
font-size:32px;
font-weight:800;
margin-bottom:20px;
}

/*=========================
FLOAT BUTTON
=========================*/

.float-contact{
position:fixed;
right:25px;
bottom:30px;
display:flex;
flex-direction:column;
gap:15px;
z-index:9999;
}

.float-contact a{
width:60px;
height:60px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
color:white;
box-shadow:0 8px 20px rgba(0,0,0,.25);
transition:.3s;
}

.float-contact .fire{
background:#d90000;
}

.float-contact .phone{
background:#0084ff;
}

.float-contact .zalo{
background:#0068ff;
}

.float-contact .top{
background:#222;
}

.float-contact a:hover{
transform:scale(1.12);
}

/*=========================
SCROLL ANIMATION
=========================*/

.fade-up{
opacity:0;
transform:translateY(40px);
transition:all .8s ease;
}

.fade-up.show{
opacity:1;
transform:none;
}

/*=========================
TABLET
=========================*/

@media(max-width:992px){

.news-grid,
.gallery-grid,
.info-grid{
grid-template-columns:repeat(2,1fr);
}

.timeline::before{
left:20px;
}

.step{
margin-left:60px;
}

.step span{
left:-54px;
}

}

/*=========================
MOBILE
=========================*/

@media(max-width:768px){

.hero-center h1{
font-size:36px;
}

.hero-center h2{
font-size:28px;
}

.section-title h2{
font-size:30px;
}

.quick-menu .container,
.policy-grid,
.guide-grid,
.warning-grid,
.video-grid,
.document-grid,
.contact-grid,
.counter-grid,
.news-grid,
.gallery-grid,
.info-grid,
.law-grid{
grid-template-columns:1fr;
}

nav ul{
flex-direction:column;
gap:15px;
}

.logo h1{
font-size:22px;
}

.logo h2{
font-size:14px;
}

.search{
display:none;
}

.hero-button{
flex-direction:column;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.float-contact{
right:15px;
bottom:15px;
}

.float-contact a{
width:52px;
height:52px;
font-size:22px;
}

}
/*======================================================
VERSION 4
ADVANCED UI
======================================================*/

/*=========================
CUSTOM SCROLLBAR
=========================*/

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#f2f2f2;
}

::-webkit-scrollbar-thumb{
background:#b60000;
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:#870000;
}

/*=========================
SELECTION
=========================*/

::selection{
background:#b60000;
color:white;
}

/*=========================
HEADER WHEN SCROLL
=========================*/

header.scrolled{

background:rgba(255,255,255,.97);

backdrop-filter:blur(15px);

box-shadow:0 15px 35px rgba(0,0,0,.12);

transition:.35s;

}

/*=========================
MARQUEE
=========================*/

.notice-bar{

background:#ffd100;

padding:10px 0;

overflow:hidden;

white-space:nowrap;

font-weight:700;

color:#850000;

}

.notice-text{

display:inline-block;

padding-left:100%;

animation:marquee 28s linear infinite;

}

@keyframes marquee{

0%{

transform:translateX(0);

}

100%{

transform:translateX(-150%);

}

}

/*=========================
GLASS EFFECT
=========================*/

.glass{

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.25);

backdrop-filter:blur(12px);

-webkit-backdrop-filter:blur(12px);

border-radius:20px;

}

/*=========================
IMAGE OVERLAY
=========================*/

.image-box{

position:relative;

overflow:hidden;

border-radius:20px;

}

.image-box::after{

content:"";

position:absolute;

left:0;

top:0;

right:0;

bottom:0;

background:linear-gradient(

transparent,

rgba(0,0,0,.45)

);

opacity:0;

transition:.35s;

}

.image-box:hover::after{

opacity:1;

}

.image-box img{

transition:.45s;

}

.image-box:hover img{

transform:scale(1.08);

}

/*=========================
BADGE
=========================*/

.badge{

display:inline-block;

padding:8px 18px;

background:#d90000;

color:white;

border-radius:50px;

font-size:14px;

font-weight:700;

}

/*=========================
TABLE STYLE
=========================*/

table{

border-collapse:collapse;

width:100%;

}

table td,

table th{

padding:15px;

border:1px solid #ececec;

}

table tr:nth-child(even){

background:#fafafa;

}

table tr:hover{

background:#fff3f3;

}

/*=========================
DOWNLOAD BUTTON
=========================*/

.btn-download{

display:inline-flex;

align-items:center;

gap:10px;

padding:14px 28px;

background:#005baa;

color:white;

font-weight:700;

border-radius:50px;

transition:.3s;

}

.btn-download:hover{

background:#00458b;

}

/*=========================
SOCIAL ICON
=========================*/

.social{

display:flex;

gap:15px;

}

.social a{

width:45px;

height:45px;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

background:white;

box-shadow:0 5px 15px rgba(0,0,0,.08);

transition:.3s;

}

.social a:hover{

background:#b60000;

color:white;

transform:translateY(-5px);

}

/*=========================
TITLE LINE
=========================*/

.title-line{

width:120px;

height:4px;

background:#d90000;

margin:20px auto;

border-radius:10px;

}

/*=========================
LOADING
=========================*/

.loader{

position:fixed;

left:0;

top:0;

width:100%;

height:100%;

background:white;

display:flex;

align-items:center;

justify-content:center;

z-index:99999;

}

.spinner{

width:70px;

height:70px;

border:6px solid #eee;

border-top:6px solid #b60000;

border-radius:50%;

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/*=========================
PULSE
=========================*/

.pulse{

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

box-shadow:0 0 0 0 rgba(255,0,0,.5);

}

70%{

box-shadow:0 0 0 20px rgba(255,0,0,0);

}

100%{

box-shadow:0 0 0 0 rgba(255,0,0,0);

}

}

/*=========================
TEXT GRADIENT
=========================*/

.gradient-text{

background:linear-gradient(

90deg,

#ffcc00,

#ff6a00,

#b60000

);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

/*=========================
CARD SHINE
=========================*/

.shine{

position:relative;

overflow:hidden;

}

.shine::before{

content:"";

position:absolute;

left:-100%;

top:0;

width:60%;

height:100%;

background:linear-gradient(

90deg,

transparent,

rgba(255,255,255,.45),

transparent

);

transform:skewX(-25deg);

transition:.8s;

}

.shine:hover::before{

left:150%;

}

/*=========================
FOOTER
=========================*/

footer{

background:

linear-gradient(

135deg,

#8b0000,

#b60000

);

}

footer a{

color:white;

}

footer a:hover{

color:#ffd54f;

}

/*=========================
PRINT
=========================*/

@media print{

header,

footer,

.float-contact,

.notice-bar{

display:none!important;

}

body{

background:white;

}

section{

padding:20px 0;

}

}

/*=========================
SMALL PHONE
=========================*/

@media(max-width:480px){

.hero{

padding:60px 0;

}

.hero-center h1{

font-size:30px;

}

.hero-center p{

font-size:16px;

}

.section-title{

margin-bottom:45px;

}

.section-title h2{

font-size:26px;

}

.btn-red,

.btn-yellow{

width:100%;

}

}
/*======================================================
VERSION 5
PREMIUM EFFECTS
======================================================*/

/*=========================
BACKGROUND DECORATION
=========================*/

.hero::before{
content:"";
position:absolute;
width:550px;
height:550px;
border-radius:50%;
background:rgba(255,255,255,.06);
left:-180px;
top:-180px;
filter:blur(5px);
animation:rotateSlow 40s linear infinite;
}

.hero::after{
content:"";
position:absolute;
width:420px;
height:420px;
border-radius:50%;
background:rgba(255,255,255,.05);
right:-120px;
bottom:-120px;
animation:rotateSlowReverse 35s linear infinite;
}

@keyframes rotateSlow{
from{
transform:rotate(0deg);
}
to{
transform:rotate(360deg);
}
}

@keyframes rotateSlowReverse{
from{
transform:rotate(360deg);
}
to{
transform:rotate(0deg);
}
}

/*=========================
CARD BORDER ANIMATION
=========================*/

.border-card{
position:relative;
overflow:hidden;
}

.border-card::before{
content:"";
position:absolute;
inset:0;
padding:2px;
border-radius:22px;
background:linear-gradient(
135deg,
#ffce00,
#ff5a00,
#b60000,
#ffce00
);
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite:xor;
mask-composite:exclude;
opacity:0;
transition:.4s;
}

.border-card:hover::before{
opacity:1;
}

/*=========================
SOFT SHADOW
=========================*/

.soft-shadow{
box-shadow:
0 5px 15px rgba(0,0,0,.05),
0 15px 45px rgba(182,0,0,.12);
}

/*=========================
IMAGE FLOAT
=========================*/

.float-image{
animation:floatImage 5s ease-in-out infinite;
}

@keyframes floatImage{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-12px);
}

100%{
transform:translateY(0);
}

}

/*=========================
ICON CIRCLE
=========================*/

.icon-circle{
width:90px;
height:90px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:#fff3f3;
margin:auto;
margin-bottom:25px;
transition:.35s;
}

.icon-circle i{
font-size:40px;
color:#b60000;
}

.icon-circle:hover{
background:#b60000;
transform:rotate(360deg);
}

.icon-circle:hover i{
color:white;
}

/*=========================
BUTTON GLOW
=========================*/

.btn-red{
position:relative;
overflow:hidden;
}

.btn-red::before{
content:"";
position:absolute;
left:-120%;
top:0;
width:80%;
height:100%;
background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.4),
transparent
);
transform:skewX(-20deg);
transition:.8s;
}

.btn-red:hover::before{
left:150%;
}

/*=========================
SECTION BACKGROUND
=========================*/

.bg-light{
background:#fafbfd;
}

.bg-red{
background:#b60000;
color:white;
}

.bg-red h2,
.bg-red h3,
.bg-red p{
color:white;
}

/*=========================
STAT BOX
=========================*/

.stat-box{
padding:35px;
background:white;
border-radius:20px;
text-align:center;
transition:.35s;
}

.stat-box:hover{
transform:translateY(-10px);
}

.stat-box h2{
font-size:60px;
font-weight:800;
color:#b60000;
margin-bottom:10px;
}

.stat-box span{
display:block;
font-size:17px;
color:#666;
}

/*=========================
NOTICE BOX
=========================*/

.notice-box{
display:flex;
gap:18px;
padding:25px;
background:#fff8e5;
border-left:6px solid #ff9800;
border-radius:15px;
margin-top:35px;
}

.notice-box i{
font-size:35px;
color:#ff9800;
}

.notice-box strong{
display:block;
margin-bottom:8px;
}

/*=========================
BLOCKQUOTE
=========================*/

blockquote{
padding:25px 35px;
background:#fff5f5;
border-left:6px solid #b60000;
font-size:20px;
font-style:italic;
border-radius:15px;
margin:25px 0;
}

/*=========================
LIST STYLE
=========================*/

.content ul li{
position:relative;
padding-left:28px;
margin-bottom:12px;
}

.content ul li::before{
content:"✔";
position:absolute;
left:0;
color:#0a9d4c;
font-weight:bold;
}

/*=========================
FORM
=========================*/

input,
textarea,
select{

width:100%;
padding:15px 18px;
border:1px solid #ddd;
border-radius:12px;
font-size:16px;
outline:none;
transition:.3s;

}

input:focus,
textarea:focus,
select:focus{

border-color:#b60000;
box-shadow:0 0 0 4px rgba(182,0,0,.12);

}

textarea{
resize:vertical;
min-height:160px;
}

/*=========================
MAP
=========================*/

.map{
overflow:hidden;
border-radius:25px;
box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.map iframe{
width:100%;
height:500px;
border:none;
}

/*=========================
SCROLL PROGRESS
=========================*/

.progress-bar{

position:fixed;

left:0;

top:0;

height:4px;

background:#ffcc00;

width:0;

z-index:999999;

}

/*=========================
HOVER LINK
=========================*/

a.text-link{

color:#b60000;
font-weight:700;

}

a.text-link:hover{

text-decoration:underline;

}

/*=========================
FOCUS ACCESSIBILITY
=========================*/

button:focus,
a:focus,
input:focus{
outline:3px solid rgba(255,204,0,.6);
outline-offset:2px;
}

/*=========================
REDUCED MOTION
=========================*/

@media (prefers-reduced-motion: reduce){

*{
animation:none!important;
transition:none!important;
scroll-behavior:auto!important;
}

}
