
.kp-article-header {
    display: block;
    position: relative;
    height: 70px;
    white-space: nowrap;
    border-bottom: solid 1px #d0d0d0;
}

.kp-logo-link {
    display: inline-block;
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    height: 49px;    
}

.kp-logo-link img {
    display: inline-block;
    height: 49px;
}


.kp-container {
    background: black;
}

.kp-container strong {
    font-weight: bold;
}

.kp-center {
    background: white;
    max-width: 1700px;
    margin: auto;
    font: 18px Arial;
    line-height: 1.6;    
}

.kp-link img {
    display: inline-block;
    height: 20px;
    vertical-align: middle;
}

.kp-pc-phone {
    width: 1410px;
    max-width: 100%;
}

.kp-logo {
    text-align: center;
    padding-top: 50px;
}

.kp-logo img {
    width: 435px;
    max-width: 100%;
}

.kp-top-menu {
    height: 98px;    
    white-space: nowrap;
    position: relative; 
}

.kp-top-menu a {
    display: inline-block;
    line-height: 98px;
    margin-left: 25px;
}

.kp-top-menu a:first-child {
    margin-left: 0px;
}

.kp-top-menu a:link, .kp-top-menu a:visited {
    color: black;
    text-decoration: none;
}

.kp-top-menu a:hover, .kp-top-menu a:active {    
    text-decoration: underline;
}

.kp-mid-menu {
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: calc(100% - 500px);
    text-align: center;
}

.kp-right-menu {
    display: inline-block;
    position: absolute;
    top: 0px;
    right: 0px;
    height: 100%;
    text-align: right;
}


.kp-top-cta {
    display: inline-block;
    background: #FFD480;
    border-radius: 5px;
    padding-left:40px;
    padding-right:40px;
    user-select: none;
    cursor: pointer;
    line-height: 60px;
    margin-left: 30px;
    font-weight: bold;
}

.kp-top-cta:active {
    transform: translateY(2px);
}

.kp-cta {
    display: inline-block;
    background: #FFD480;
    border-radius: 5px;
    padding-left:20px;
    padding-right:20px;
    user-select: none;
    cursor: pointer;
    line-height: 60px;
    font-weight: bold;
    position: absolute;
    right: 0px;
    bottom: 0px;
}

.kp-cta:active {
    transform: translateY(2px);
}

a.kp-cta:link, a.kp-cta:visited {
    color: black;
    text-decoration: none;
}

.kp-simple-cta {
    display: inline-block;
    background: #FFD480;
    border-radius: 5px;
    padding-left:20px;
    padding-right:20px;
    user-select: none;
    cursor: pointer;
    line-height: 60px;
    font-weight: bold;
    margin-top: 30px;
}

.kp-simple-cta:active {
    transform: translateY(2px);
}

a.kp-simple-cta:link, a.kp-simple-cta:visited {
    color: black;
    text-decoration: none;
}


.kp-combo {
    display: inline-block;
}

.kp-header {
    position: relative;
    height: 330px;
    margin-bottom: 50px;
    color: #333333;
}

.kp-about {
    display: inline-block;
    position: absolute;    
    font-family: Arial;
    font-size: 50px;
    font-weight: bold;
    left: 0px;
    bottom: 0px;
    line-height: 1.1;
}

h1.kp-main-header {
    font-size:50px;
    font-weight: bold;
    line-height:1.1;
    margin-bottom:20px;
    margin-top: 50px;
}

.kp-location {
    display: inline-block;
    position: absolute;
    right: 0px;
    bottom: 0px;
    font-family: Arial;
    font-weight: bold;
    font-size: 20px;
}

.kp-location img {
    display: inline-block;
    vertical-align: middle;    
    height: 30px;
    margin-right: 10px;
}

.kp-block {
    position: relative;
    padding-left: 145px;
    padding-right: 145px;        
}


.kp-block-wide {
    text-align: center;
}

.kp-block a:link, .kp-block a:visited {
    text-decoration: underline;
    color: black;
}


.kp-cta-center {
    background: orange;
    padding-left: 30px;
    padding-right: 30px;
    line-height: 50px;
    font-size: 20px;
    font-weight: bold;
    display: inline-block;
    border-radius: 5px;
}

a.kp-cta-center:link, a.kp-cta-center:visited {
    text-decoration: none;
}


.kp-block h2 {
    margin-top: 30px;
    margin-bottom: 30px;
    color: #333333;
    font-family: Arial;
    font-weight: bold;
    font-size: 50px;
    line-height: 1;
}

h3 {
    font-weight: bold;
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 10px;
}

.kp-block h2.kp-landing-header-2 {
    color: #333333;
    font-family: Arial;
    font-weight: bold;
    font-size: 28px;
    line-height: 1;
}


.kp-3parts {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.kp-3part {
    white-space: normal;
    text-align: left;
    vertical-align: top;    
    color: #333333;    
    flex-basis: calc(33.33% - 20px);
    min-width: 250px;
}

.kp-3part:first-child {
    margin-left: 0px;
}

.kp-3part img {
    width: 100%;
}

.kp-3part h3 {
    min-width: 300px;
    color: #333333;
    font: bold 30px Arial;
    margin-top: 20px;
    margin-bottom: 15px;
}

a.button-link {
    text-align: center;
    width: 250px;
    margin-bottom: 20px;
    max-width: 100%;    
    display: inline-block;
    background: white;
    border: solid 2px #E6E6E6;
    border-radius: 5px;
    padding-left:40px;
    padding-right:40px;
    user-select: none;
    cursor: pointer;
    line-height: 60px;
    font-size:18px;
    margin-top: 0px;
}

a.button-link:hover  {
    background: #eeeeee;
}


a.button-link:link, a.button-link:visited {
    text-decoration: none;
    color: #333333;
}

.a.button-link:active {
    transform: translateY(2px);
}

.hie {
    width: 100%;
    margin-top: 20px;
}

.kp-subblock {
    display: inline-block;
    width: 400px;
    vertical-align: top;
}

.kp-container ul {
    list-style-type: disc;
    margin-left: 17px;
    margin-bottom: 5px;
}

.kp-container li, .kp-container p {
    line-height: 1.2;
    margin-bottom: 20px;
}

.kp-subblock-right {
    position: absolute;
    display: inline-block;
    top: 150px;
    right: 145px;
    margin-left: 30px;
    width: 810px;
    vertical-align: top;

}

.kp-editing {
    width: 820px;
    max-width: 100%;
    display: inline-block; 
    border: solid 5px #F2F2F2;
    border-radius: 20px;
}

.kp-spacer {
    height: 100px;    
}

.buran {
    display: inline-block;
    width: 820px;
    max-width: 100%;    
}

.kp-2parts {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.kp-2part {
    white-space: normal;
    text-align: left;
    vertical-align: top;    
    color: #333333;    
    flex-basis: 450px;
    padding: 20px;
    border-radius: 20px;
}

.kp-preffered {
    background: #FCEEDE;
    border: solid 3px #FFD480;    
}

.kp-other {
    background: #F8F7F6;
    border: solid 3px #F2F2F2;
}

.kp-2part h3 {
    font-weight: bold;
    font-size: 30px;
    line-height: 1;
    margin-bottom: 10px;
}

.kp-price-line {
    font-size: 25px;
    margin-bottom: 40px;
}

.kp-preffered .kp-price-subheader {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.2;
}

.kp-other .kp-price-subheader {
    font-size: 25px;    
    margin-bottom: 20px;
    line-height: 1.2;
}


.kp-price-explain {
    color: #828181;
    margin-bottom: 20px;
    line-height: 1.2;
}


.kp-product-cta {
    display: block;
    background: #FFD480;
    border-radius: 5px;
    padding-left:40px;
    padding-right:40px;
    user-select: none;
    cursor: pointer;
    line-height: 60px;
    text-align: center;
    font-weight: bold;
}

.kp-product-cta:active {
    transform: translateY(2px);
}

a.kp-product-cta:link, a.kp-product-cta:visited {
    text-decoration: none;
    color: black;
}

.kp-product-other {
    display: block;
    background: white;
    border: solid 2px #E6E6E6;
    border-radius: 5px;
    padding-left:40px;
    padding-right:40px;
    user-select: none;
    cursor: pointer;
    line-height: 60px;
    text-align: center;
}

.kp-product-other:active {
    transform: translateY(2px);
}

a.kp-product-other:link, a.kp-product-other:visited {
    text-decoration: none;
    color: black;
}

.kp-basement {
    background: #1A1A1A;
    color: #808080;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: 145px;
    padding-right: 145px;
    line-height: 1.2;
}

.kp-basement a:link, .kp-basement a:visited {
    color: white;
    text-decoration: none;
}

.kp-basement-header img {
    max-width: 100%;
}

.kp-basement a:hover {
    text-decoration: underline;
}

.kp-basement-1 {
    flex-grow: 2;      
    flex-basis: 450px;
    align-self: stretch;
    position: relative;
    min-height: 280px;
}

.kp-basement-n {
    flex-grow: 1;
    flex-basis: 250px;
    align-self: stretch;    
    position: relative;
    min-height: 280px;
}

.kp-basement-subheader {
    font-weight: bold;
    margin-bottom: 20px;
}

.kp-basement-parts {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 20px;
}

.kp-basement-floor {
    display: inline-block;
    position: absolute;
    width: 100%;
    bottom:0px;
    left: 0px;
}

.mobile-only-wide {
    display: none;
}

.desktop-only-wide {
    display: block;
}

.mobile-header {
    display: block;
    position: relative;
    height: 50px;
    white-space: nowrap;
    border-bottom: solid 1px #d0d0d0;
}

#open-menu-button, #close-menu-button {
    display: inline-block;
    position: absolute;
    cursor: pointer;
    width: 49px;
    height: 49px;
    right: 0px;
    top: 0px;
}

#mobile-menu {
    border-bottom: solid 1px #d0d0d0;
}

#mobile-menu a {
    display: block;
    padding:30px;
    padding-top: 15px;
    padding-bottom: 15px;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
}

#mobile-menu a:first-child {
    padding-top: 30px;
}

#mobile-menu a:last-child {
    padding-bottom: 30px;
}

#mobile-menu a:link, #mobile-menu a:visited {
    color: #404040;
}

.kp-desc-im {    
    display: flex;
    gap: 20px;
}

.kp-desc {
    flex-grow: 1;      
    flex-basis: 400px;
    min-width: 300px;
    align-self: stretch;
    position: relative;       
    margin-bottom: 20px;
}

.kp-im {
    flex-grow: 1;      
    min-width: 300px;
    align-self: stretch;
    position: relative;    
    text-align: right;
}

.kp-support-link {
    font-size: 35px; font-weight: bold;
}

#cookies-popup {
    display: none;
    position: fixed;
    left: 10px;
    bottom: 10px;
    background: white;
    border: solid 1px #447C42;
    border-radius: 3px;
    padding: 10px;
    z-index: 10;
    box-shadow: 0px 1px 9px 0px rgba(100,100,100,0.75);
    max-width: calc(100vw - 20px);
    width: 400px;
    font-size: 16px;
    font-family: Arial;
}

#cookies-popup p {
    margin-bottom: 10px;
}

.small-button {
    display: inline-block;
    padding: 10px;
    border-radius: 3px;
    background: #FFD480;
    color: black;
    user-select: none;
    cursor: pointer;
}

.small-button:active {
    transform: translateY(3px);
}

#kp-background {
    display: inline-block;
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100vw;
    height: 100vh;
    z-index: 100;
}

#kp-right-popup {
    font: 16px Arial;
    display: inline-block;
    position: fixed;
    width: 400px;
    max-width: calc(100wv - 10px);
    max-height: calc(100vh - 100px);
    overflow: auto;
    z-index: 101;
    background: white;
    border: solid 1px #a0a0a0;
    border-radius: 3px;
    box-shadow: 0px 1px 9px 0px rgba(100,100,100,0.75);
    top: 100px;
    right: 100px;
}

.kp-diagram-type {
    display: block;
    margin: 10px;
    margin-bottom: 0px;
    border: solid 2px white;
    border-radius: 5px;
    white-space: nowrap;
}

.kp-diagram-type:active, .kp-diagram-type:hover {
    border: solid 2px #FFD480;
}


.kp-diagram-type:last-child {
    margin-bottom: 10px;
}

a.kp-diagram-type:link, a.kp-diagram-type:visited {
    color: black;
    text-decoration: none;
}



.kp-diagram-type-left {
    width: 80px;
    vertical-align: middle;
    display: inline-block;
    margin-left:10px;
    margin-right:10px;
}

.kp-diagram-type-right {
    display: inline-block;
    white-space: normal;
    width: calc(100% - 104px);
    height: 100px;
    padding-top: 10px;
    padding-right: 10px;
    vertical-align: middle;
}

.kp-diagram-type-right h3 {
    font-weight: bold;
    margin-bottom: 10px;
}



@media screen and (max-width: 980px) {
    .kp-top-cta {
        display: none;
    }

    .kp-cta {
        position: relative;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 690px) {
    .kp-top-menu {
        display: none;
    }
    .mobile-only-wide {
        display: block;
    }      
}


@media screen and (max-width: 1400px) {
    .kp-basement {
        padding: 40px;
    }    
    .kp-block {        
        padding-left: 40px;
        padding-right: 40px;            
    }    
    
    .kp-about {
        font-size: 30px; 
    }

    h1.kp-main-header {
        font-size: 30px; 
    }
    

    .kp-block h2 {
        font-size: 30px; 
    }

    .kp-block h2.kp-landing-header-2 {
        font-size: 20px; 
    }
    
    .kp-location {
        display: inline-block;
        position: absolute;
        font-size: 16px;        
    }

    .kp-location img {
        height: 20px;
    }
    
    .kp-2part h3, .kp-3part h3 {
        font-size: 25px;
    }    
}

@media screen and (max-width: 690px) {
    .kp-support-link {
        font-size: unset;
    }
    .kp-basement {
        padding: 20px;
    }    
    .kp-block {        
        padding-left: 20px;
        padding-right: 20px;            
    }    

    .kp-about {
        position: unset;
        display: block;
        font-size: 25px; 
        margin-top: 50px;
    }

    h1.kp-main-header {
        font-size: 25px; 
    }


    .kp-block h2 {
        font-size: 25px; 
    }

    
    .kp-location {
        display: block;
        position: unset;
        font-size: 16px;
        margin-top: 20px;
        text-align: right;
    }

    .kp-header {
        position: relative;
        height: unset;
        margin-bottom: 20px;
        color: #333333;
        
    }   
    
    .kp-desc-im {
        display: block;
    }

    .kp-2part h3, .kp-3part h3 {
        font-size: 20px;
    }

    .kp-spacer {
        height: 50px;    
    }    

    .kp-3parts {
        display: block;
    }

    .kp-3part {
        margin-top: 50px;
    }    
}
