/*====================================================
 PART 3
 FOOTER • UTILITIES • RESPONSIVE • PRINT
======================================================*/


/*====================================================
41. FOOTER
=====================================================*/

footer{

background:#0D47A1;

color:#fff;

padding:40px 20px;

margin-top:50px;

border-radius:18px 18px 0 0;

text-align:center;

}

footer a{

color:#FFD54F;

}

footer a:hover{

color:#ffffff;

}

footer small{

font-size:15px;

letter-spacing:.5px;

}


/*====================================================
42. FOOTER COLUMNS
=====================================================*/

.footer-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-top:25px;

}

.footer-grid h3{

color:#fff;

margin-bottom:15px;

}

.footer-grid ul{

list-style:none;

padding:0;

}

.footer-grid li{

margin:10px 0;

}


/*====================================================
43. SOCIAL ICONS
=====================================================*/

.social{

display:inline-flex;

gap:12px;

margin-top:15px;

}

.social a{

width:42px;

height:42px;

border-radius:50%;

background:#fff;

display:flex;

justify-content:center;

align-items:center;

font-size:18px;

transition:var(--transition);

color:var(--primary);

}

.social a:hover{

background:var(--accent);

transform:translateY(-4px);

}


/*====================================================
44. TABLES
=====================================================*/

table{

width:100%;

border-collapse:collapse;

margin:25px 0;

background:#fff;

box-shadow:var(--shadow);

}

th{

background:var(--primary);

color:#fff;

padding:14px;

text-align:left;

}

td{

padding:12px;

border-bottom:1px solid #ddd;

}

tr:nth-child(even){

background:#f7f9fc;

}

tr:hover{

background:#E3F2FD;

}


/*====================================================
45. FORMS
=====================================================*/

input,
select,
textarea{

width:100%;

padding:12px;

margin:10px 0;

border:1px solid #ccc;

border-radius:8px;

font-size:15px;

font-family:'Poppins',sans-serif;

}

textarea{

resize:vertical;

min-height:140px;

}

input:focus,
textarea:focus,
select:focus{

outline:none;

border-color:var(--primary);

box-shadow:0 0 8px rgba(21,101,192,.25);

}


/*====================================================
46. DROPDOWN ANIMATION
=====================================================*/

.w3-dropdown-content{

animation:dropMenu .35s ease;

}

@keyframes dropMenu{

from{

opacity:0;

transform:translateY(-15px);

}

to{

opacity:1;

transform:translateY(0);

}

}


/*====================================================
47. SMOOTH SCROLL
=====================================================*/

html{

scroll-behavior:smooth;

}


/*====================================================
48. SCROLLBAR
=====================================================*/

::-webkit-scrollbar{

width:12px;

}

::-webkit-scrollbar-track{

background:#eeeeee;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:10px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--primary-dark);

}


/*====================================================
49. LOADING SPINNER
=====================================================*/

.loader{

border:6px solid #eee;

border-top:6px solid var(--primary);

width:60px;

height:60px;

border-radius:50%;

animation:spin 1s linear infinite;

margin:auto;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}


/*====================================================
50. BADGES
=====================================================*/

.badge{

display:inline-block;

padding:5px 12px;

background:var(--accent);

border-radius:30px;

font-size:13px;

font-weight:600;

}


/*====================================================
51. ALERT BOXES
=====================================================*/

.alert{

padding:18px;

border-radius:10px;

margin:20px 0;

}

.alert-info{

background:#E3F2FD;

border-left:5px solid #1976D2;

}

.alert-success{

background:#E8F5E9;

border-left:5px solid #43A047;

}

.alert-warning{

background:#FFF8E1;

border-left:5px solid #FFA000;

}

.alert-danger{

background:#FFEBEE;

border-left:5px solid #E53935;

}


/*====================================================
52. GLASS CARD
=====================================================*/

.glass{

background:rgba(255,255,255,.30);

backdrop-filter:blur(8px);

border-radius:15px;

padding:25px;

}


/*====================================================
53. HOVER EFFECTS
=====================================================*/

.zoom:hover{

transform:scale(1.05);

}

.rotate:hover{

transform:rotate(2deg);

}

.lift:hover{

transform:translateY(-8px);

}


/*====================================================
54. WIDTH UTILITIES
=====================================================*/

.w-25{width:25%;}

.w-50{width:50%;}

.w-75{width:75%;}

.w-100{width:100%;}


/*====================================================
55. FLEX UTILITIES
=====================================================*/

.flex{

display:flex;

}

.flex-center{

display:flex;

justify-content:center;

align-items:center;

}

.flex-between{

display:flex;

justify-content:space-between;

align-items:center;

}

.flex-column{

display:flex;

flex-direction:column;

}


/*====================================================
56. BORDER UTILITIES
=====================================================*/

.round{

border-radius:10px;

}

.round-lg{

border-radius:20px;

}

.border{

border:1px solid #ddd;

}


/*====================================================
57. LARGE DESKTOP
=====================================================*/

@media(min-width:1400px){

body{

font-size:18px;

}

header{

padding:50px;

}

.hero{

padding:90px;

}

.w3-container{

max-width:1350px;

margin:auto;

}

}


/*====================================================
58. TABLET
=====================================================*/

@media(max-width:992px){

.w3-bar .w3-button{

display:block;

width:100%;

text-align:left;

}

.footer-grid{

grid-template-columns:1fr;

}

}


/*====================================================
59. MOBILE
=====================================================*/

@media(max-width:600px){

body{

font-size:15px;

}

h1{

font-size:28px;

}

h2{

font-size:24px;

}

h3{

font-size:20px;

}

footer{

padding:25px 15px;

}

.social{

justify-content:center;

}

iframe{

height:220px;

}

}


/*====================================================
60. PRINT STYLE
=====================================================*/

@media print{

body{

background:#fff;

color:#000;

font-size:12pt;

}

header,
footer,
.w3-sidebar,
button,
iframe{

display:none!important;

}

img{

max-width:100%;

}

a{

color:#000;

text-decoration:none;

}

}


/*====================================================
 END OF STYLESHEET
=====================================================*/