/*

Letter Template 


*/

body {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 24px;
	font-weight: 300;
	overflow-x: hidden;
	
}

a, button {
	transition: all 0.3s ease;
	color: #FFFFFF;
}

button:focus {
    outline: none;
}

a:hover {
	color: #FFFF00;
	text-decoration: underline;
}
a:focus {
	text-decoration: none;
	outline: none;
}

h1 {
	color: #FFFFFF;
	font-size: 4rem;	
}

p {
	color: #FFFFFF;	
}

#particles-js {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 99%;
}

.cb-slideshow-text-container {
    height: 100vh;
    display: flex;
    align-items: center;
}

.tm-content {
    z-index: 1001;
}

.form-control::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: white;
}
.form-control::-moz-placeholder { /* Firefox 19+ */
  color: white;
}
.form-control:-ms-input-placeholder { /* IE 10+ */
  color: white;
}
.form-control:-moz-placeholder { /* Firefox 18- */
  color: white;
}

.form-control::placeholder {
    color: white;
}

.form-control {  
    color: #FFFFFF;
    border-radius: .5rem;
    background-color: transparent;
    border: 1px solid #FFFFFF;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1.4rem;
    font-weight: 300;
    padding: 0.75rem 1.2rem;
}

.form-section {  
    color: #FFFFFF;
    background-color: transparent;
    margin-bottom: 100px;
    
}

.contact_email {
	color: #FFFFFF;
}
.tm-btn-subscribe {
	background-color: #006699;
	border-radius: .5rem;
    border-color: white;
	padding: 0.75rem 1.6rem;
    font-weight: 300;
    font-size: 1.4rem;
    cursor: pointer;
}

.tm-btn-subscribe:hover {
    background-color: #055278;
}

.tm-social-icons-container {
    margin: 10px;
}

.tm-social-link {
    border-color: #FFFFFF;
    color: black;
    display: inline-block;
    width: 50px;
    height: 50px;
    text-align: center;
}

.fa {
    color: #FFFFFF;
}

.footer-link {
    margin: 20px;
	font-size: 18px;
    position: absolute;
    bottom: 0;
    left: 0;
    color: white;
    text-align:center;
    width:100%;
    z-index: 1001;
}

/* Animation */
.cb-slideshow,
.cb-slideshow:after {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 0;
}

.cb-slideshow li {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    -webkit-backface-visibility: hidden;
    -webkit-animation: imageAnimation 72s linear infinite 0s;
    -moz-animation: imageAnimation 72s linear infinite 0s;
    -o-animation: imageAnimation 72s linear infinite 0s;
    -ms-animation: imageAnimation 72s linear infinite 0s;
    animation: imageAnimation 72s linear infinite 0s;

}


.cb-slideshow li:nth-child(1) { 
    background-image: url(../img/letter_bg_01.jpg)
}
.cb-slideshow li:nth-child(2) { 
    background-image: url(../img/letter_bg_02.jpg);
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s; 
}
.cb-slideshow li:nth-child(3) { 
    background-image: url(../img/letter_bg_03.jpg);
    -webkit-animation-delay: 24s;
    -moz-animation-delay: 24s;
    -o-animation-delay: 24s;
    -ms-animation-delay: 24s;
    animation-delay: 24s; 
}
.cb-slideshow li:nth-child(4) { 
    background-image: url(../img/letter_bg_01.jpg);
    animation-delay: 36s; 
}
.cb-slideshow li:nth-child(5) { 
    background-image: url(../img/letter_bg_02.jpg);
    animation-delay: 48s; 
}
.cb-slideshow li:nth-child(6) { 
    background-image: url(../img/letter_bg_03.jpg);
    animation-delay: 60s; 
}


@keyframes imageAnimation { 
	0% {
	    opacity: 0;
	    animation-timing-function: ease-in;
	}
	8% {
	    opacity: 1;
	    transform: scale(1.15);
	    animation-timing-function: ease-out;
	}
	17% {
	    opacity: 1;
	    transform: scale(1.20);
	}
	25% {
	    opacity: 0;
	    transform: scale(1.40);
	}
	100% { opacity: 0 }
}


@media screen and (max-width: 1140px) { 
    .cb-slideshow li div h3 { font-size: 140px }
}
@media screen and (max-width: 600px) { 
    .cb-slideshow li div h3 { font-size: 80px }
	.tm-content {
		margin-top: 80px;
	}
}

@media screen and (max-width: 576px) { 
    .cb-slideshow li div h3 { font-size: 80px }
	
	.tm-btn-subscribe {
		margin-top: 20px;
	}
}

.discover-btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 34px;
    margin-top: 25px;

    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fff;

    border: 2px solid rgba(255,80,0,0.8);
    border-radius: 50px;

    background: rgba(255,80,0,0.08);
    backdrop-filter: blur(10px);

    box-shadow:
        0 0 10px rgba(255,80,0,0.5),
        0 0 25px rgba(255,0,0,0.3);

    overflow: hidden;
    transition: all 0.4s ease;

    text-decoration: none;
}

.discover-btn span{
    transition: transform 0.4s ease;
}

.discover-btn:hover{
    background: linear-gradient(90deg,#ff3c00,#ff6a00);
    transform: translateY(-3px) scale(1.03);

    box-shadow:
        0 0 20px rgba(255,80,0,0.9),
        0 0 50px rgba(255,0,0,0.6);
}

.discover-btn:hover span{
    transform: translateX(6px);
}

/* pulse siren effect */
.discover-btn::before{
    content:'';
    position:absolute;
    inset:0;
    border-radius:50px;
    border:2px solid rgba(255,100,0,0.7);

    animation:pulse 2s infinite;
}

@keyframes pulse{
    0%{
        transform:scale(1);
        opacity:1;
    }
    100%{
        transform:scale(1.2);
        opacity:0;
    }
}

.siren-img{
    animation:float 5s ease-in-out infinite;
}

@keyframes float{
    0%{transform:translateY(0);}
    50%{transform:translateY(-10px);}
    100%{transform:translateY(0);}
	}

	.discover-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 30px;
    background:linear-gradient(90deg,#ff2d00,#ff6a00);
    color:#fff !important;
    border-radius:40px;
    font-weight:600;
    letter-spacing:1px;
    text-decoration:none !important;
    box-shadow:0 0 20px rgba(255,80,0,.5);
    transition:.3s ease;
}

.discover-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 0 50px rgba(255,80,0,.9);
}

.discover-btn span{
    transition:.5s ease;
}

.discover-btn:hover span{
    transform:translateX(6px);
}

.discover-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    margin-top:28px;
    padding:14px 34px;

    min-width:260px;
    height:20px;

    color:#ffffff !important;
    text-decoration:none !important;

    font-size:17px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;

    border-radius:14px;

    background:rgba(5,10,18,0.55);
    border:1px solid rgba(255,80,45,0.9);

    box-shadow:
        inset 0 0 18px rgba(255,80,45,0.18),
        0 0 18px rgba(255,40,20,0.35),
        0 0 45px rgba(255,40,20,0.18);

    overflow:hidden;
    transition:all .35s ease;
}

.discover-btn::before{
    content:"";
    position:absolute;
    inset:4px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,0.08);
    pointer-events:none;
}

.discover-btn::after{
    content:"";
    position:absolute;
    top:0;
    left:-80%;
    width:40%;
    height:110%;

    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.35),
        transparent
    );

    transform:skewX(-25deg);
    transition:.6s;
}

.discover-btn:hover::after{
    left:130%;
}

.discover-btn:hover{
    color:#ffffff !important;
    background:linear-gradient(90deg,#b91808,#ff4b12);
    border-color:#ff6a2a;

    transform:translateY(-4px);

    box-shadow:
        0 0 22px rgba(255,70,25,0.8),
        0 0 65px rgba(255,35,20,0.35);
}

.btn-text{
    position:relative;
    z-index:2;
}

.btn-arrow{
    position:relative;
    z-index:2;

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,0.12);
    box-shadow:inset 0 0 12px rgba(255,255,255,0.12);

    transition:.35s ease;
}

.discover-btn:hover .btn-arrow{
    transform:translateX(6px);
    background:rgba(0,0,0,0.25);
}

.radar-ring{
    position:absolute;
    width:500px;
    height:500px;

    border-radius:50%;
    border:2px solid rgba(255,0,0,0.15);

    animation:radarPulse 4s linear infinite;
}

@keyframes radarPulse{
    0%{
        transform:scale(.5);
        opacity:1;
    }

    100%{
        transform:scale(1.6);
        opacity:0;
    }
}

@keyframes lightningFlash{
    0%,95%,100%{
        opacity:1;
    }

    96%{
        opacity:.7;
    }

    97%{
        opacity:1;
    }

    98%{
        opacity:.5;
    }
}

.hero{
    animation:lightningFlash 8s infinite;
}

.hero::after{
    content:'';
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at center,
        rgba(255,0,0,0.12),
        transparent 70%
    );
}

#preloader{
    position:fixed;
    inset:0;
    z-index:99999;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        radial-gradient(circle at center, rgba(255,50,20,0.18), transparent 35%),
        linear-gradient(135deg,#02050a,#06111f,#02050a);

    color:#fff;
    transition:opacity .8s ease, visibility .8s ease;
}

#preloader.hide{
    opacity:0;
    visibility:hidden;
}

.loader-box{
    text-align:center;
    width:380px;
}

.radar-loader{
    width:150px;
    height:150px;
    margin:0 auto 25px;

    border-radius:50%;
    border:2px solid rgba(255,80,40,0.25);

    background:
        radial-gradient(circle, rgba(255,80,40,0.9) 0 4px, transparent 5px),
        repeating-radial-gradient(circle, transparent 0 22px, rgba(255,80,40,0.18) 23px 24px),
        conic-gradient(from 0deg, rgba(255,80,40,0.9), transparent 35%);

    box-shadow:
        0 0 20px rgba(255,60,30,0.6),
        inset 0 0 30px rgba(255,60,30,0.15);

    animation:radarSpin 1.8s linear infinite;
}

@keyframes radarSpin{
    to{
        transform:rotate(360deg);
    }
}

.loader-box h2{
    font-size:42px;
    letter-spacing:2px;
    margin-bottom:8px;
}

.loader-box p{
    font-size:13px;
    letter-spacing:2px;
    color:#ff6a35;
    margin-bottom:22px;
}

.loading-bar{
    width:100%;
    height:8px;

    border-radius:20px;
    overflow:hidden;

    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.08);
}

.loading-bar span{
    display:block;
    height:100%;
    width:0%;

    background:linear-gradient(90deg,#ff2d00,#ff7a18);
    box-shadow:0 0 18px rgba(255,80,20,0.8);

    animation:loadingMove 3s ease forwards;
}

@keyframes loadingMove{
    to{
        width:100%;
    }
}

.loader-box small{
    display:block;
    margin-top:18px;

    font-size:11px;
    letter-spacing:2px;
    color:rgba(255,255,255,0.65);
}

.hero-subtitle{

    position:relative;

    display:inline-block;

    margin-top:12px;
    margin-bottom:28px;

    padding-left:85px;

    color:#ff5a1f;

    font-size:24px;
    font-weight:600;

    letter-spacing:4px;
    text-transform:uppercase;

    text-shadow:
        0 0 10px rgba(255,80,30,0.45);

}

/* line kiri */
.hero-subtitle::before{

    content:'';

    position:absolute;

    left:0;
    top:50%;

    width:65px;
    height:2px;

    background:
    linear-gradient(
        90deg,
        #ff2d00,
        #ff7a18
    );

    transform:translateY(-50%);

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

}

/* glow dot */
.hero-subtitle::after{

    content:'';

    position:absolute;

    left:62px;
    top:50%;

    width:8px;
    height:8px;

    border-radius:50%;

    background:#ff5a1f;

    transform:translateY(-50%);

    box-shadow:
        0 0 12px rgba(255,80,20,0.9),
        0 0 25px rgba(255,80,20,0.5);

}

.visitor-stats{
    position: fixed;
    bottom: 18px;
    right: 20px;
    display: flex;
    gap: 8px;
    z-index: 9999;
    font-family: Arial, sans-serif;
}

.stat-box{
    background: rgba(0,0,0,0.55);
    border: 1px solid #ff5a1f;
    border-radius: 10px;
    padding: 6px 10px;
    min-width: 82px;
    text-align: center;
    backdrop-filter: blur(6px);
    box-shadow: 0 0 10px rgba(255,90,31,0.25);
}

.stat-title{
    font-size: 9px;
    color: #ff6b2c;
    margin-bottom: 2px;
    font-weight: bold;
    letter-spacing: 1px;
}

.stat-number{
    color: white;
    font-size: 15px;
    font-weight: bold;
}

.touch-wrapper{
    position: relative;
    display: inline-block;
    text-align: center;
}

.touch-title{
    font-size: 90px;
    color: white;
    letter-spacing: 4px;
    cursor: pointer;
    transition: 0.4s;
}

.touch-title:hover{
    color: #ff6b2c;
    text-shadow: 0 0 20px rgba(255,107,44,0.8);
}

.contact-popup{
    position: absolute;
    top: 120%;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    width: 420px;
    background: rgba(0,0,0,0.38);
    border: 1px solid rgba(255,107,44,0.45);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    padding: 25px;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 0 30px rgba(255,107,44,0.35);
}

/* AUTO FADE IN / OUT */
.touch-wrapper:hover .contact-popup{
    visibility: visible;
    animation: popupAutoFade 5s ease forwards;
}

@keyframes popupAutoFade{
    0%{
        opacity: 0;
        transform: translateX(-50%) translateY(25px);
    }
    15%{
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    75%{
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    100%{
        opacity: 0;
        transform: translateX(-50%) translateY(25px);
        visibility: hidden;
    }
}

.contact-item{
    color: white;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.contact-item:last-child{
    margin-bottom: 0;
}

.touch-wrapper{
    position: relative;
    display: inline-block;
    text-align: center;
}

.touch-title{
    font-size: 90px;
    color: white;
    letter-spacing: 4px;
    cursor: pointer;
    transition: 0.4s;
}

.touch-title:hover{
    color: #ff6b2c;
    text-shadow: 0 0 20px rgba(255,107,44,0.8);
}

.contact-popup{
    position: absolute;
    top: 120%;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    width: 420px;
    background: rgba(0,0,0,0.38);
    border: 1px solid rgba(255,107,44,0.45);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    padding: 25px;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 0 30px rgba(255,107,44,0.35);
}

/* AUTO FADE IN / OUT */
.touch-wrapper:hover .contact-popup{
    visibility: visible;
    animation: popupAutoFade 5s ease forwards;
}

@keyframes popupAutoFade{
    0%{
        opacity: 0;
        transform: translateX(-50%) translateY(25px);
    }
    15%{
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    75%{
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    100%{
        opacity: 0;
        transform: translateX(-50%) translateY(25px);
        visibility: hidden;
    }
}

.contact-item{
    color: white;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.contact-item:last-child{
    margin-bottom: 0;
}