/* ==========================================================
   Hardiyanto Theme v1.0
   BASE CSS
========================================================== */

/* ==========================
   RESET
========================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==========================
   ROOT
========================== */

:root{

    --primary:#0F766E;
    --primary-hover:#115E59;

    --heading:#111827;
    --text:#4B5563;
    --light:#6B7280;

    --border:#E5E7EB;
    --background:#FAFAFA;
    --white:#FFFFFF;

    --radius:16px;

    --shadow:0 8px 24px rgba(0,0,0,.05);

    --transition:.25s ease;

}

/* ==========================
   HTML
========================== */

html{

    scroll-behavior:smooth;

    -webkit-text-size-adjust:100%;

}

/* ==========================
   BODY
========================== */

body{

    background:var(--background);

    color:var(--text);

    font-family:'Source Serif 4',serif;

    font-size:20px;

    line-height:1.9;

    font-weight:400;

    text-rendering:optimizeLegibility;

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

}

/* ==========================
   IMAGE
========================== */

img{

    max-width:100%;

    height:auto;

    display:block;

    border:0;

}

/* ==========================
   LINK
========================== */

a{

    color:var(--primary);

    text-decoration:none;

    transition:var(--transition);

}

a:hover{

    color:var(--primary-hover);

}

/* ==========================
   TYPOGRAPHY
========================== */

h1,
h2,
h3,
h4,
h5,
h6{

    font-family:'Plus Jakarta Sans',sans-serif;

    color:var(--heading);

    font-weight:700;

    line-height:1.25;

    margin-bottom:18px;

}

h1{

    font-size:48px;

}

h2{

    font-size:38px;

}

h3{

    font-size:30px;

}

h4{

    font-size:24px;

}

h5{

    font-size:20px;

}

h6{

    font-size:18px;

}

p{

    margin-bottom:22px;

}

/* ==========================
   LIST
========================== */

ul,
ol{

    margin:0;

    padding:0;

}

li{

    list-style:none;

}

/* ==========================
   TABLE
========================== */

table{

    width:100%;

    border-collapse:collapse;

}

th,
td{

    padding:12px;

    border:1px solid var(--border);

}

/* ==========================
   FORM
========================== */

input,
textarea,
select,
button{

    font:inherit;

}

input,
textarea,
select{

    width:100%;

    padding:12px 14px;

    border:1px solid var(--border);

    border-radius:10px;

    background:#fff;

    outline:none;

}

input:focus,
textarea:focus,
select:focus{

    border-color:var(--primary);

}

button{

    cursor:pointer;

    border:none;

}

/* ==========================
   BUTTON
========================== */

.button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 24px;

    background:var(--primary);

    color:#fff;

    border-radius:10px;

    font-family:'Inter',sans-serif;

    font-size:15px;

    font-weight:600;

    transition:var(--transition);

}

.button:hover{

    background:var(--primary-hover);

    color:#fff;

}

/* ==========================
   SELECTION
========================== */

::selection{

    background:var(--primary);

    color:#fff;

}

/* ==========================
   HR
========================== */

hr{

    border:none;

    border-top:1px solid var(--border);

    margin:40px 0;

}

/* ==========================================
   SCREEN READER
========================================== */

.screen-reader-text{

    position:absolute;

    width:1px;

    height:1px;

    padding:0;

    margin:-1px;

    overflow:hidden;

    clip:rect(0,0,0,0);

    white-space:nowrap;

    border:0;

}