/*====================================================
    GUERREROS DE DIOS
    STYLE.CSS
    PARTE 1
====================================================*/

/*=============================
    GOOGLE FONTS
=============================*/

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=MedievalSharp&family=Cormorant+Garamond:wght@300;400;500;600;700&display=swap');

/*=============================
    VARIABLES
=============================*/

:root{

--gold:#d4af37;
--gold-light:#f4d76d;

--dark:#0f0f0f;
--dark2:#1b1b1b;
--dark3:#262626;

--stone:#2c2c2c;

--parchment:#efe4c7;

--silver:#c6c6c6;

--red:#5f1111;

--white:#ffffff;

--shadow:0 20px 60px rgba(0,0,0,.55);

}

/*=============================
    RESET
=============================*/

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Cormorant Garamond',serif;

background:#111;

color:#f2f2f2;

overflow-x:hidden;

line-height:1.7;

}

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

::-webkit-scrollbar{

width:12px;

}

::-webkit-scrollbar-track{

background:#111;

}

::-webkit-scrollbar-thumb{

background:linear-gradient(var(--gold),#7b5b13);

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:#f5d96f;

}

/*=============================
    LINKS
=============================*/

a{

text-decoration:none;

transition:.35s;

}

img{

max-width:100%;

display:block;

}

/*=============================
    LOADER
=============================*/

#loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#050505;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

transition:1s;

}

.loader-content{

text-align:center;

}

.loader-content h2{

font-family:'Cinzel',serif;

font-size:34px;

letter-spacing:6px;

color:var(--gold);

margin-top:25px;

}

.loader-content p{

letter-spacing:4px;

color:#999;

}

.loader-shield{

width:140px;

animation:rotateShield 5s linear infinite;

filter:drop-shadow(0 0 20px rgba(212,175,55,.5));

}

/*=============================
    NAVBAR
=============================*/

.navbar{

background:rgba(0,0,0,.35);

backdrop-filter:blur(12px);

padding:18px 0;

transition:.4s;

border-bottom:1px solid rgba(212,175,55,.2);

}

.navbar.scrolled{

background:#090909;

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

}

.navbar-brand{

display:flex;

align-items:center;

gap:15px;

font-family:'Cinzel';

font-size:28px;

font-weight:700;

color:var(--gold)!important;

}

.navbar-brand img{

filter:drop-shadow(0 0 12px rgba(212,175,55,.5));

}

.navbar-nav{

gap:20px;

}

.navbar-nav a{

font-family:'Cinzel';

font-size:16px;

letter-spacing:2px;

color:#ddd;

padding:10px 18px;

position:relative;

}

.navbar-nav a::after{

content:"";

position:absolute;

bottom:0;

left:50%;

width:0;

height:2px;

background:var(--gold);

transition:.4s;

transform:translateX(-50%);

}

.navbar-nav a:hover{

color:var(--gold);

}

.navbar-nav a:hover::after{

width:80%;

}

/*=============================
    HERO
=============================*/

header{

position:relative;

height:100vh;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

overflow:hidden;

background:

linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.88)),

url("../img/castle.jpg");

background-size:cover;

background-position:center;

}

.overlay{

position:absolute;

width:100%;

height:100%;

background:

radial-gradient(circle at center,
transparent 0%,
rgba(0,0,0,.55) 60%,
rgba(0,0,0,.9) 100%);

}

.hero-content{

position:relative;

z-index:2;

width:90%;

max-width:1000px;

}

.hero-sword{

width:120px;

margin:auto;

margin-bottom:30px;

animation:floatSword 4s ease-in-out infinite;

filter:drop-shadow(0 0 25px rgba(212,175,55,.7));

}

.hero-content h1{

font-family:'Cinzel';

font-size:55px;

font-weight:900;

color:var(--gold);

text-shadow:

0 0 10px #000,

0 0 25px rgba(212,175,55,.35),

4px 4px 15px #000;

letter-spacing:5px;

margin-bottom:30px;

}

.hero-content p{

font-size:28px;

max-width:900px;

margin:auto;

color:#ddd;

}

.hero-content .verse{

margin-top:20px;

font-size:22px;

font-style:italic;

color:var(--gold-light);

}

.btn-gold{

display:inline-block;

margin-top:45px;

padding:18px 48px;

font-family:'Cinzel';

font-size:18px;

letter-spacing:2px;

color:#111;

background:linear-gradient(var(--gold-light),var(--gold));

border-radius:60px;

font-weight:700;

box-shadow:

0 10px 30px rgba(212,175,55,.4);

transition:.4s;

}

.btn-gold:hover{

transform:translateY(-5px);

box-shadow:

0 20px 45px rgba(212,175,55,.6);

}

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

section{

padding:120px 0;

position:relative;

}

section h2{

font-family:'Cinzel';

font-size:54px;

color:var(--gold);

text-align:center;

margin-bottom:70px;

text-shadow:2px 2px 10px #000;

}

/*=============================
    ANIMACIONES
=============================*/

@keyframes rotateShield{

0%{

transform:rotateY(0deg);

}

100%{

transform:rotateY(360deg);

}

}

@keyframes floatSword{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0);

}

}

/*=============================
    EFECTO DE FONDO
=============================*/

body::before{

content:"";

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:url("../img/parchment.jpg");

opacity:.04;

pointer-events:none;

z-index:-1;

}

/*====================================================
        STYLE.CSS
        PARTE 2
====================================================*/


/******************************************************
            LA ORDEN
******************************************************/

#orden{

background:
linear-gradient(rgba(18,18,18,.92),
rgba(18,18,18,.92)),
url("../img/stone.jpg");

background-size:cover;

background-attachment:fixed;

}

#orden .row{

align-items:center;

}

#orden p{

font-size:22px;

color:#d9d9d9;

margin-bottom:30px;

text-align:justify;

line-height:1.9;

}

.section-image{

width:350px;

margin:auto;

filter:

drop-shadow(0 0 25px rgba(212,175,55,.45));

animation:shieldGlow 6s infinite ease-in-out;

}



/******************************************************
            ARMADURA
******************************************************/

#armadura{

background:

linear-gradient(rgba(6,6,6,.94),
rgba(6,6,6,.94)),
url("../img/parchment.jpg");

background-size:cover;

}

.armor-card{

background:

linear-gradient(#252525,#181818);

border:1px solid rgba(212,175,55,.25);

border-radius:12px;

padding:45px;

margin-bottom:35px;

text-align:center;

transition:.45s;

box-shadow:

0 10px 35px rgba(0,0,0,.5);

position:relative;

overflow:hidden;

}

.armor-card::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:100%;

height:100%;

background:

linear-gradient(120deg,
transparent,
rgba(255,255,255,.08),
transparent);

transition:.7s;

}

.armor-card:hover::before{

left:120%;

}

.armor-card:hover{

transform:

translateY(-15px)
scale(1.03);

border-color:var(--gold);

box-shadow:

0 0 40px rgba(212,175,55,.28);

}

.armor-card i{

font-size:75px;

color:var(--gold);

margin-bottom:30px;

text-shadow:

0 0 18px rgba(212,175,55,.45);

}

.armor-card h4{

font-family:'Cinzel';

font-size:30px;

margin-bottom:20px;

color:var(--gold-light);

}

.armor-card p{

font-size:20px;

color:#d4d4d4;

}



/******************************************************
            TIMELINE
******************************************************/

#entrenamiento{

background:#151515;

}

.timeline{

position:relative;

max-width:900px;

margin:auto;

padding-left:50px;

}

.timeline::before{

content:"";

position:absolute;

left:18px;

top:0;

bottom:0;

width:4px;

background:linear-gradient(

var(--gold),

#664800,

var(--gold)

);

}

.timeline-item{

position:relative;

padding:35px 40px;

margin-bottom:45px;

background:#202020;

border-left:5px solid var(--gold);

border-radius:12px;

box-shadow:

0 10px 30px rgba(0,0,0,.45);

transition:.4s;

}

.timeline-item:hover{

transform:translateX(12px);

background:#2a2a2a;

}

.timeline-item::before{

content:"";

position:absolute;

left:-52px;

top:45px;

width:22px;

height:22px;

border-radius:50%;

background:var(--gold);

box-shadow:

0 0 18px rgba(212,175,55,.6);

}

.timeline-item h3{

font-family:'Cinzel';

font-size:28px;

color:var(--gold);

margin-bottom:15px;

}

.timeline-item p{

font-size:20px;

color:#ddd;

}



/******************************************************
                GALERIA
******************************************************/

#galeria{

background:

linear-gradient(rgba(8,8,8,.94),
rgba(8,8,8,.94)),

url("img/shield.png");

background-size:cover;

background-position:center;

}

.gallery{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.gallery img{

width:100%;

height:100%;

object-fit:cover;

border:4px solid #3b3b3b;

border-radius:8px;

transition:.5s;

cursor:pointer;

box-shadow:

0 15px 35px rgba(0,0,0,.6);

}

.gallery img:hover{

transform:

scale(1.08)
rotate(-1deg);

border-color:var(--gold);

box-shadow:

0 0 35px rgba(212,175,55,.45);

}



/******************************************************
            VERSICULO
******************************************************/

#versiculo{

padding:180px 30px;

text-align:center;

background:

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

url("../img/cathedral.jpg");

background-size:cover;

background-position:center;

background-attachment:fixed;

}

#versiculo blockquote{

font-family:'MedievalSharp';

font-size:58px;

max-width:1000px;

margin:auto;

color:var(--gold);

text-shadow:

0 0 18px rgba(212,175,55,.45);

line-height:1.4;

}

#versiculo h3{

margin-top:40px;

font-size:34px;

font-family:'Cinzel';

letter-spacing:3px;

color:#fff;

}



/******************************************************
            TITULOS
******************************************************/

h2{

position:relative;

display:inline-block;

left:50%;

transform:translateX(-50%);

padding-bottom:18px;

}

h2::after{

content:"";

position:absolute;

left:50%;

bottom:0;

transform:translateX(-50%);

width:160px;

height:3px;

background:

linear-gradient(

transparent,

var(--gold),

transparent

);

}



/******************************************************
        EFECTOS
******************************************************/

@keyframes shieldGlow{

0%{

transform:scale(1);

filter:

drop-shadow(0 0 10px rgba(212,175,55,.35));

}

50%{

transform:scale(1.06);

filter:

drop-shadow(0 0 35px rgba(212,175,55,.75));

}

100%{

transform:scale(1);

filter:

drop-shadow(0 0 10px rgba(212,175,55,.35));

}

}

/*====================================================
        STYLE.CSS
        PARTE 3
====================================================*/


/******************************************************
                CONTACTO
******************************************************/

#contacto{

background:
linear-gradient(rgba(12,12,12,.95),
rgba(12,12,12,.95)),
url("../img/parchment-dark.jpg");

background-size:cover;

}

#contacto form{

max-width:850px;

margin:auto;

padding:55px;

background:rgba(18,18,18,.90);

border:2px solid rgba(212,175,55,.25);

border-radius:15px;

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

backdrop-filter:blur(6px);

}

#contacto input,
#contacto textarea{

width:100%;

padding:18px 22px;

margin-bottom:22px;

background:#1c1c1c;

border:1px solid #444;

border-radius:8px;

color:#fff;

font-size:18px;

transition:.35s;

font-family:'Cormorant Garamond',serif;

}

#contacto input:focus,
#contacto textarea:focus{

outline:none;

border-color:var(--gold);

box-shadow:0 0 15px rgba(212,175,55,.35);

}

#contacto textarea{

resize:vertical;

min-height:180px;

}

#contacto button{

background:linear-gradient(var(--gold-light),var(--gold));

border:none;

padding:18px 50px;

font-family:'Cinzel';

font-weight:bold;

font-size:18px;

border-radius:60px;

cursor:pointer;

transition:.35s;

color:#111;

}

#contacto button:hover{

transform:translateY(-4px);

box-shadow:0 10px 30px rgba(212,175,55,.45);

}



/******************************************************
                FOOTER
******************************************************/

footer{

background:#090909;

border-top:3px solid rgba(212,175,55,.25);

padding:80px 20px 40px;

text-align:center;

}

footer h3{

font-family:'Cinzel';

font-size:36px;

color:var(--gold);

margin-top:25px;

margin-bottom:15px;

}

footer p{

color:#cfcfcf;

font-size:18px;

margin-bottom:10px;

}

.social{

margin:35px 0;

display:flex;

justify-content:center;

gap:18px;

}

.social a{

width:55px;

height:55px;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

border:1px solid rgba(212,175,55,.25);

color:var(--gold);

font-size:22px;

transition:.35s;

background:#181818;

}

.social a:hover{

background:var(--gold);

color:#111;

transform:translateY(-6px);

box-shadow:0 0 20px rgba(212,175,55,.45);

}



/******************************************************
            BOTÓN VOLVER ARRIBA
******************************************************/

#topButton{

position:fixed;

bottom:35px;

right:35px;

width:58px;

height:58px;

border:none;

border-radius:50%;

background:linear-gradient(var(--gold-light),var(--gold));

color:#111;

font-size:22px;

cursor:pointer;

display:none;

z-index:999;

box-shadow:0 10px 25px rgba(0,0,0,.45);

transition:.35s;

}

#topButton:hover{

transform:translateY(-5px);

}



/******************************************************
            EFECTO SELECCIÓN
******************************************************/

::selection{

background:var(--gold);

color:#111;

}



/******************************************************
            APARICIÓN SUAVE
******************************************************/

.fade-up{

opacity:0;

transform:translateY(70px);

transition:all .8s ease;

}

.fade-up.show{

opacity:1;

transform:translateY(0);

}



/******************************************************
            RESPONSIVE
******************************************************/

@media(max-width:1200px){

.hero-content h1{

font-size:70px;

}

section h2{

font-size:46px;

}

}

@media(max-width:992px){

.hero-content h1{

font-size:58px;

}

.hero-content p{

font-size:22px;

}

.timeline{

padding-left:25px;

}

.timeline::before{

left:8px;

}

.timeline-item::before{

left:-38px;

}

.section-image{

width:270px;

margin-top:40px;

}

}

@media(max-width:768px){

.navbar-brand{

font-size:22px;

}

.hero-content h1{

font-size:46px;

letter-spacing:2px;

}

.hero-content p{

font-size:19px;

}

.btn-gold{

padding:15px 34px;

font-size:16px;

}

section{

padding:90px 20px;

}

section h2{

font-size:38px;

}

.armor-card{

padding:35px;

}

.gallery{

grid-template-columns:1fr;

}

#versiculo{

padding:120px 25px;

}

#versiculo blockquote{

font-size:36px;

}

#contacto form{

padding:35px;

}

}

@media(max-width:576px){

.hero-content h1{

font-size:34px;

}

.hero-sword{

width:80px;

}

.hero-content p{

font-size:17px;

}

.section-image{

width:220px;

}

.timeline-item{

padding:25px;

}

.timeline-item h3{

font-size:22px;

}

.timeline-item p{

font-size:18px;

}

footer h3{

font-size:28px;

}

.social{

flex-wrap:wrap;

}

}



/******************************************************
            ANIMACIONES EXTRA
******************************************************/

@keyframes flicker{

0%{opacity:.9;}
25%{opacity:1;}
50%{opacity:.7;}
75%{opacity:1;}
100%{opacity:.9;}

}

@keyframes glow{

0%{

box-shadow:0 0 15px rgba(212,175,55,.25);

}

50%{

box-shadow:0 0 40px rgba(212,175,55,.55);

}

100%{

box-shadow:0 0 15px rgba(212,175,55,.25);

}

}

.btn-gold{

animation:glow 4s infinite;

}

.hero-content h1{

animation:flicker 6s infinite;

}



/******************************************************
            FIN DEL STYLE.CSS
******************************************************/

/*==========================
        LIGHTBOX
==========================*/

#lightbox{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.92);
justify-content:center;
align-items:center;
z-index:99999;
}

#lightbox-content{
position:relative;
max-width:90%;
max-height:90%;
}

#lightbox img{
max-width:100%;
max-height:90vh;
border:5px solid #d4af37;
box-shadow:0 0 40px rgba(212,175,55,.4);
}

#lightbox-close{
position:absolute;
top:-20px;
right:-20px;
font-size:42px;
cursor:pointer;
color:#fff;
}

/*==========================
    PARTÍCULAS
==========================*/

#particles{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
pointer-events:none;
overflow:hidden;
z-index:1;
}

#particles span{
position:absolute;
bottom:-20px;
background:#ffffff66;
border-radius:50%;
animation:floatParticle linear forwards;
}

.ember{
position:absolute;
bottom:-20px;
width:4px;
height:4px;
background:#ffae00;
border-radius:50%;
box-shadow:0 0 10px #ffae00;
animation:floatParticle linear forwards;
}

.fog{
position:absolute;
inset:0;
background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);
pointer-events:none;
transition:opacity 4s;
opacity:.2;
}

@keyframes floatParticle{
0%{
transform:translateY(0);
opacity:0;
}
10%{
opacity:1;
}
100%{
transform:translateY(-110vh);
opacity:0;
}
}

/*==================================
        CANVAS ESTRELLAS
==================================*/

#stars{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

pointer-events:none;

z-index:-2;

}

/*==================================
        CURSOR
==================================*/

#cursor{

position:fixed;

width:18px;

height:18px;

border:2px solid gold;

border-radius:50%;

pointer-events:none;

transform:translate(-50%,-50%);

z-index:999999;

box-shadow:0 0 15px gold;

transition:transform .08s;

}

