:root {
    --bkg-clr: #ffffff;
    --hdr-bkg: linear-gradient(90deg,rgba(83, 217, 231, 1) 0%, rgba(24, 146, 168, 1) 100%);
    --hdr-title-clr: rgba(24, 146, 168, 1);
    --hdr-btn-bkg: rgba(83, 217, 231, 0.86);
    --hdr-btn-bkg-hov: rgba(63, 197, 211, 0.86);
    --hdr-btn-bkg-act: rgba(43, 177, 191, 0.86);
}

@font-face {
    font-family: Rubik;
    src: url("../fonts/Rubik-Regular.ttf"),
         url("../fonts/Rubik-Medium.ttf"),
         url("../fonts/Rubik-Italic.ttf"),
         url("../fonts/Rubik-Bold.ttf"),
         url("../fonts/Rubik-ExtraBold.ttf");
}

.w-1 {width: 8.33%;}
.w-2 {width: 16.66%;}
.w-3 {width: 25%;}
.w-4 {width: 33.33%;}
.w-5 {width: 41.66%;}
.w-6 {width: 50%;}
.w-7 {width: 58.33%;}
.w-8 {width: 66.66%;}
.w-9 {width: 75%;}
.w-10 {width: 83.33%;}
.w-11 {width: 91.66%;}
.w-12 {width: 100%;}

* {
    box-sizing: border-box;
}

.row::after {
  content: "";
  clear: both;
  display: table;
}

/*----------------------------------------------------------------------------*/

@media (max-aspect-ratio: 1/1.1), (max-width: 800px)
{
    .w-1 {width: 25%;}
    .w-2 {width: 25%;}
    .w-3 {width: 25%;}
    .w-4 {width: 50%;}
    .w-5 {width: 50%;}
    .w-6 {width: 50%;}
    .w-7 {width: 75%;}
    .w-8 {width: 75%;}
    .w-9 {width: 75%;}
    .w-10 {width: 100%;}
    .w-11 {width: 100%;}
    .w-12 {width: 100%;}
}

@media (max-aspect-ratio: 1/1.15), (max-width: 600px)
{
    .w-1 {width: 50%;}
    .w-2 {width: 50%;}
    .w-3 {width: 50%;}
    .w-4 {width: 66.66%;}
    .w-5 {width: 66.66%;}
    .w-6 {width: 66.66%;}
    .w-7 {width: 83.33%;}
    .w-8 {width: 83.33%;}
    .w-9 {width: 83.33%;}
    .w-10 {width: 100%;}
    .w-11 {width: 100%;}
    .w-12 {width: 100%;}
}

@media (max-aspect-ratio: 1/1.5), (max-width: 500px)
{
    [class *= "w-"]:not([class *="fw-"]) {
        width: 100%;
    }
}

/*----------------------------------------------------------------------------*/

.fw-1 {width: 8.33%;}
.fw-2 {width: 16.66%;}
.fw-3 {width: 25%;}
.fw-4 {width: 33.33%;}
.fw-5 {width: 41.66%;}
.fw-6 {width: 50%;}
.fw-7 {width: 58.33%;}
.fw-8 {width: 66.66%;}
.fw-9 {width: 75%;}
.fw-10 {width: 83.33%;}
.fw-11 {width: 91.66%;}
.fw-12 {width: 100%;}

/*----------------------------------------------------------------------------*/

.f-rw {
    display: flex;
    flex-flow: row wrap;
}

.f-cw {
    display: flex;
    flex-flow: column wrap;
}

/*----------------------------------------------------------------------------*/

.f-rd {
    display: flex;
    flex-direction: row;
}
.f-cd {
    display: flex;
    flex-direction: column;
}

/*----------------------------------------------------------------------------*/

.f-00 {
    flex: 0 0 auto;
}
.f-01 {
    flex: 0 1 auto;
}
.f-02 {
    flex: 0 2 auto;
}
.f-03 {
    flex: 0 3 auto;
}

.f-10 {
    flex: 1 0 auto;
}
.f-11 {
    flex: 1 1 auto;
}
.f-12 {
    flex: 1 2 auto;
}
.f-13 {
    flex: 1 3 auto;
}

.f-20 {
    flex: 2 0 auto;
}
.f-21 {
    flex: 2 1 auto;
}
.f-22 {
    flex: 2 2 auto;
}
.f-23 {
    flex: 2 3 auto;
}

.f-30 {
    flex: 3 0 auto;
}
.f-31 {
    flex: 3 1 auto;
}
.f-32 {
    flex: 3 2 auto;
}
.f-33 {
    flex: 3 3 auto;
}

/*----------------------------------------------------------------------------*/

.m-05 {
    margin: 5px;
}
.ml-05 {
    margin-left: 5px;
}
.mr-05 {
    margin-right: 5px;
}
.mt-05 {
    margin-top: 5px;
}
.mb-05 {
    margin-bottom: 5px;
}

.m-00 {
    margin: 0px;
}

/*----------------------------------------------------------------------------*/

.pd-02 {
    padding: 2px;
}
.pdl-02 {
    padding-left: 2px;
}
.pdr-02 {
    padding-right: 2px;
}
.pdb-02 {
    padding-bottom: 2px;
}
.pdt-02 {
    padding-top: 2px;
}

.pd-10 {
    padding: 10px;
}
.pdl-10 {
    padding-left: 10px;
}
.pdr-10 {
    padding-right: 10px;
}
.pdt-10 {
    padding-top: 10px;
}
.pdb-10 {
    padding-bottom: 10px;
}

.pd-05 {
    padding: 5px;
}
.pdl-05 {
    padding-left: 5px;
}
.pdr-05 {
    padding-right: 5px;
}
.pdt-05 {
    padding-top: 5px;
}
.pdb-05 {
    padding-bottom: 5px;
}

.pd-00 {
    padding: 0px;
}

.pd-20 {
    padding: 20px;
}
.pdl-20 {
    padding-left: 20px;
}
.pdr-20 {
    padding-right: 20px;
}
.pdt-20 {
    padding-top: 20px;
}
.pdb-20 {
    padding-bottom: 20px;
}

.pd-30 {
    padding: 30px;
}
.pdl-30 {
    padding-left: 30px;
}
.pdr-30 {
    padding-right: 30px;
}
.pdt-30 {
    padding-top: 30px;
}
.pdb-30 {
    padding-bottom: 30px;
}

/*----------------------------------------------------------------------------*/

.a-i-c {
    align-items: center;
}
.a-i-s {
    align-items: start;
}
.a-i-e {
    align-items: end;
}

/*----------------------------------------------------------------------------*/

.j-c-c {
    justify-content: center;
}
.j-c-l {
    justify-content: left;
}
.j-c-r {
    justify-content: right;
}

/*----------------------------------------------------------------------------*/

.t-a-c {
    text-align: center;
}
.t-a-l {
    text-align: left;
}
.t-a-r {
    text-align: right;
}

/*----------------------------------------------------------------------------*/

.z-index-high {
    z-index: 9999;
}

.z-index-mid {
    z-index: 4999;
}

.z-index-low {
    z-index: 999;
}

/*----------------------------------------------------------------------------*/

.w-sticky {
    position: sticky;
    top: 0;
}

/*----------------------------------------------------------------------------*/

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% { transform: rotateY(0deg); }
    100% { transform: rotateY(360deg); }
}

/*----------------------------------------------------------------------------*/

.font-smaller {
    font-size: smaller;
}
.font-small {
    font-size: small;
}
.font-medium {
    font-size: medium;
}
.font-large {
    font-size: larger;
}
.font-larger {
     font-size: xx-large;
}
.hidden {
    visibility: hidden;
    height: 0px;
    width: 0px;
}
.white-bkg {
    background-color: #ffffff;
}
.black-bkg {
    background-color: #000000;
}
.white-color {
    color: #ffffff;
}
.black-color {
    color: #000000;
}
.pre-wrap {
    white-space: pre-wrap;
}

/*----------------------------------------------------------------------------*/

html {
    padding: 0px;
}
body {
    font-family: Rubik;
    min-width: 320px;
    min-height: 480px;
    padding: 0px;
    margin: 0px;
    background-image: url("../res/cpk_bkg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: repeat-y;
}
img, video {
    pointer-events: none;
}

.header {
    background: var(--hdr-bkg);
    border-style: outset;
    border-color: var(--hdr-btn-bkg-act);
    z-index: 998;
    
}
.header .img {
    max-height: 2.5em;
}
.header .btn {
    background-color: var(--hdr-btn-bkg);
    /*background-color: transparent;*/
    color: white;
    border-radius: 0.5em;
    border-width: 0px;
    cursor: pointer;
    transition: background-color 0.2s linear;
}
.header .btn:disabled {
    background-color: grey;
    cursor: default;
}
.header .btn:not(:disabled):hover {
    background-color: var(--hdr-btn-bkg-hov);
}
.header .btn:not(:disabled):active {
    background-color: var(--hdr-btn-bkg-act);
}
.header .mod-menu-lst {
    border-style: groove;
    border-color: var(--hdr-btn-bkg);
    border-radius: 0.5em;
}
.hidden-hover {
    visibility: visible;
    width: auto;
    height: auto;
}
.hh-cont:hover .hidden-hover {
    visibility: visible;
    width: auto;
    height: auto;
}
.frm-wht {
    background-color: rgba(255,255,255,0.65);
    border-width: 0px;
    /*border-radius: 0.5em;*/
}

/*----------------------------------------------------------------------------*/

.cpk-form {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    font-family: Rubik;
    font-size: medium;
}
.cpk-form .close-btn {
    background-color: transparent;
    transition: color 0.2s linear;
    box-shadow: none;
}
.cpk-form .close-btn:hover {
    color: red;
}

.cpk-form button {
    border-radius: 0.5em;
    border-width: 0px;
    cursor: pointer;
    box-shadow: 0.2em 0.2em 0.5em #888888f0;
    /*transition: background-color 0.1s linear, border 0.1s ease;*/
    transition: background-color 0.1s linear;
    font-family: Rubik;
}
.cpk-form button:disabled {
    cursor: default;
    background-color: rgba(150,150,150, 0.8);
}
.cpk-form button:not(:disabled):hover {
    background-color: rgba(210,210,210, 0.8);
}

.cpk-form button:not(:disabled):active {
    /*border: medium ridge rgba(150,150,150, 0.8);*/
    background-color: rgba(150,150,150, 0.8);
}

.cpk-form input[type='text'],
.cpk-form input[type='password'],
.cpk-form input[type='date'],
.cpk-form input[type='time'],
.cpk-form input[type='number'],
.cpk-form input[type='tel'],
.cpk-form input[type='email'],
.cpk-form input[type='search'],
.cpk-form input[type='url'],
.cpk-form select
{
    border-width: 1px;
    border-style: outset;
    border-color: #7ec4b0f8;
    border-radius: 0.5em;
    outline: none;
    box-shadow: 0.2em 0.2em 0.5em #888888f0;
    font-family: Rubik;
}
.cpk-form select {
    cursor: pointer;
}
.cpk-form input[type="date"]{
    cursor: text;
}
.cpk-form input:read-only, 
.cpk-form textarea:read-only,
.cpk-form select:disabled {
    background-color: #ccffff;
}

.cpk-form textarea {
    border-width: 1px;
    border-style: outset;
    border-color: #7ec4b0f8;
    border-radius: 0.5em;
    outline: none;
    box-shadow: 0.2em 0.2em 0.5em #888888f0;
    resize: none;
    font-family: Rubik;
}
.cpk-form fieldset {
    border-radius: 0.5em;
}

.cpk-form button.bkg-red {
    background-color: rgba(255,0,0,0.8);
}
.cpk-form button.bkg-red:hover {
    background-color: rgba(200,0,0,0.8);
}
.cpk-form button.bkg-red:active {
    background-color: rgba(150,0,0,0.8);
}

.cpk-form button.bkg-green {
    background-color: rgba(0,255,0,0.8);
}
.cpk-form button.bkg-green:hover {
    background-color: rgba(0,200,0,0.8);
}
.cpk-form button.bkg-green:active {
    background-color: rgba(0,150,0,0.8);
}

.vs-auto {
    box-sizing: border-box;
    overflow-y: auto;
}
.vh50-max {
    max-height: 50vh;
}
.vh75-max {
    max-height: 75vh;
}
.vh100-max {
    max-height: 100vh;
}
.bold-txt {
    font-weight: bolder;
}

/*----------------------------------------------------------------------------*/

.img-of-cover {
    object-fit: cover;
    height: auto;
    border-radius: 0.5em;
}
.img-of-none {
    object-fit: none;
    height: auto;    
}
.img-of-contain {
    object-fit: contain;
    height: auto;    
}
.img-of-fill {
    object-fit: fill;
    height: auto;
    border-radius: 0.5em;
}

.home .title-color {
    color: var(--hdr-title-clr);
    text-shadow: 0 0 10px rgba(255,255,0,1.0);
}

.home span {
    line-height: 2.0;
}

.home footer {
    font-family: Arial, sans-serif;
    border-top: 1px solid #888;
}

img.glow { 
    filter: drop-shadow(0 0 5px rgba(255, 255, 0, 1.0)); 
}
