input.contactme-txt {
    border-style: solid;
    padding-left:5px; 
    width:100%; 
    margin: 4px 0px;
    box-sizing: border-box;
    line-height: 2em;
    border-width: 1px; border-style: solid;
    }
input.contactme-txt[type="file"] { border:0px none; padding-left:0;}
textarea.contactme-txt {
    width: 100%;
    margin: 4px 0px;
    border-style: solid;
    box-sizing: border-box;
    border-width: 1px; border-style: solid;
}
.contactme-form input#contactme-agreement {
    height: auto;
    padding-left:2px; 
    width:20px; 
    display: inline;
    margin: 5px 0px;
}
.contactme-form label {
    margin: 5px 0px;
    display: inline;
}

.contactme-form {
    text-align: center;
}
.contactme-form form {
    text-align: left;
}

.contactme-submit {
    padding-top: 20px;
    text-align: center;
}
.required { position: relative;}
.required:after {
    content: '*';
    color: #ff4f4f;
    position: absolute;
    right: -15px;
    top: 10px;
}

.required-warning {
    box-shadow: 0 0 5px #ff4f4f !important;
    color: #ff4f4f;
}

.contactme-result {
    padding: 10px 0px;
    font-weight: bold;
}
.contactme-warning, .contactme-valid-warning {
    color: #ff4f4f;
    display: none;
    padding-top: 5px;
    font-size: 0.9em;
}
.contactme-warning, .contactme-valid-warning, .contactme-error, .contactme-captcha-error {
    color: #ff4f4f;       
}
.contactme-success {
    color: #319f1a;
}

.wa-captcha {
    height:40px;   
}
.wa-captcha .wa-captcha-input {
    width: 100px;
}

.contactme-frame {
    height: 0px;
    border: 0px none;
}


/* POPUP */
        .contactme-panel-wrap {
            position: fixed;
            opacity: 0;
            z-index: 10010;
            display: none;
            width: 100%;
            height: 100%;
            max-height:100vh;
            top: 0;
            left: 0;
            justify-content: center;
            align-items: center;
            overflow-y: scroll;
        }
        
        
        .contactme-right {
            right: 0;
        }
        .contactme-left {
            left: 0;
        }
        .contactme-top {
            top: 0;
        }
        .contactme-bottom {
            bottom: 0;
        }
        
        
        
        .contactme-open {
            z-index: 10006;
            position:fixed;
            cursor:pointer;
            padding: 10px;
            background-color: #fcfcfc;
            border: 1px solid #999;
        }
        .contactme-open:hover { background-color: white;}
        
        .contactme-open.left {
            left: 0px;
            box-shadow: 1px 1px 2px rgba(121,121,121,0.4);
            top:50vh;
        }
        .contactme-open.left.rotate { transform: rotate(-90deg); transform-origin: left top 0; }
        .contactme-open.left.round { border-radius: 10px; left:-5px;}
        
        .contactme-open.right {
            right: -1px;
            box-shadow: -1px 1px 2px rgba(121,121,121,0.4);
            top:50vh;
        }
        .contactme-open.right.rotate { transform: rotate(-90deg); transform-origin: right bottom 0;}
        .contactme-open.right.round { border-radius: 10px; right:-5px;}
        .contactme-open.top {
            top: -1px;
            left:50vw;
            /*border-top:0px none;*/
            box-shadow: 1px 1px 2px rgba(121,121,121,0.4);
            
        }
        .contactme-open.top.round { border-radius: 10px; top:-5px;}
        .contactme-open.bottom {
            bottom: -1px;
            left:50vw;
            /*border-bottom: 0px none;*/
            box-shadow: 1px -1px 2px rgba(121,121,121,0.4);
        }
        .contactme-open.bottom.round { border-radius: 10px; bottom:-5px;}
        
        .contactme-helper-panel {
            padding:40px 40px 20px 40px; 
            background:#fcfcfc;
            z-index: 10001;
            border: 1px solid #dddddd;
            max-width:99%;
            width: inherit;
            /*display: none;*/
            max-height: 85vh;
            overflow-y: scroll;
        }
        
        .contactme-close {
            font-size: 200%;
            float: right;
            margin: -35px -35px 0 0;
            cursor: pointer;
            color: #232323;
            border-radius: 50%;
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .contactme-helper-button {
            cursor:pointer;
        }
        
.contactme-form .hide {
    display:none !important;
}

textarea.contactme-txt { padding:8px 5px; border-width: 1px; border-style: solid;} 

.contactme-shadow { display:none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.5; background-color: #000;}

label span.checkbox-label { /*margin-left: 8px;*/}
.contactme-field { margin-bottom: 15px; margin-top: 15px;}
        
        @media (min-width: 768px) {
            .contactme-helper-panel {
                max-width: 80%;
            }
        }
        @media (min-width: 992px) {
            .contactme-helper-panel {
                max-width: 60%;
            }
        }
        @media (min-width: 1200px) {
            .contactme-helper-panel {
                max-width: 35%;
            }
        }
        
.contactme-form-in-page { }
.contactme-file-block {
    display: inline-block;
    position: relative;
    border-width: 1px;
    border-style: solid;
    padding:5px;
    width: 100%;
    box-sizing: border-box;
}
.contactme-file-block label {
    outline: 0;
    border: 0;
    width: 100%;
    cursor: pointer;
    display: block;
}

.contactme-file-block input {
    display: none;
}
.contactme-hint { font-size: 0.8em; color:#999;}

input[type="checkbox"]:checked, 
input[type="checkbox"]:not(:checked) {
    position: absolute;
    left: -9999px;
}

input[type="checkbox"]:checked + .checkbox-label, 
input[type="checkbox"]:not(:checked) + .checkbox-label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    padding-left: 23px;
}

input[type="checkbox"]:checked + .checkbox-label:before, 
input[type="checkbox"]:not(:checked) + .checkbox-label:before {
    content: "";
    position: absolute;
    left: 0px;
    bottom:5px;
    width: 15px;
    height: 15px;
    border: 1px solid #dddddd;
    background-color: #ffffff;
}

input[type="checkbox"]:checked + .checkbox-label:before, 
input[type="checkbox"]:not(:checked) + .checkbox-label:before {
    border-radius: 2px;
}


input[type="checkbox"]:checked + .checkbox-label:after, 
input[type="checkbox"]:not(:checked) + .checkbox-label:after {
    content: "";
    position: absolute;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

input[type="checkbox"]:checked + .checkbox-label:after, 
input[type="checkbox"]:not(:checked) + .checkbox-label:after {
    left: 2px;
    bottom:11px;
    width: 11px;
    height: 4px;
    border-radius: 1px;
    border-left: 2px solid #999;
    border-bottom: 2px solid #999;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
input[type="checkbox"]:not(:checked) + .checkbox-label:after {
    opacity: 0;
}

input[type="checkbox"]:checked + .checkbox-label:after {
    opacity: 1;
}

.checkbox-label, .input-file-btn { color: #999; }
::-webkit-input-placeholder, :-moz-placeholder, ::-moz-placeholder, :-ms-input-placeholder, ::-ms-input-placeholder { /* WebKit, Blink, Edge */
    color:    #999;
}
::placeholder { /* WebKit, Blink, Edge */
    color:    #999;
}
.contactme-wait { cursor: wait;} 
