div.wpcf7 {
	margin: 0;
	padding: 0;
}

div.wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
}

div.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	width: 1px;
	margin: 0;
	padding: 0;
	border: 0;
}

div.wpcf7-mail-sent-ok {
	border: 2px solid #398f14;
}

div.wpcf7-mail-sent-ng {
	border: 2px solid #ff0000;
}

div.wpcf7-spam-blocked {
	border: 2px solid #ffa500;
}

div.wpcf7-validation-errors {
	border: 2px solid #f7e700;
}

span.wpcf7-form-control-wrap {
	position: relative;
}

span.wpcf7-not-valid-tip {
	color: #f00;
	font-size: 1em;
	display: block;
}

.use-floating-validation-tip span.wpcf7-not-valid-tip { 
	position: absolute;
	top: 20%;
	left: 20%;
	z-index: 100;
	border: 1px solid #ff0000;
	background: #fff;
	padding: .2em .8em;
}

span.wpcf7-list-item {
	margin-left: 0.5em;
}

.wpcf7-display-none {
	display: none;
}

div.wpcf7 img.ajax-loader {
	border: none;
	vertical-align: middle;
	margin-left: 4px;
}

div.wpcf7 div.ajax-error {
	display: none;
}

div.wpcf7 .placeheld {
	color: #888;
}

.error {
    display: none;
    float: left;
    line-height: 1em;
    color: #FF0000;
}

#PhoneError {
    margin-top:-0.65rem;
    padding: 0 0 0.65rem 0.65rem;
}

input:valid {
    background: #ccffcc;
    border-color: #55cc55;
}

input:invalid {
    background: #FFB9B9;
    border-color: #00F;
}

@media (min-width: 768px) {

    .link-right {
        position: absolute;
        top:45%;
        right:0;
        width:1.3rem;
        margin-right: -0.65rem;
        /*border-top: 1px solid orange;*/
        color: orange;
        text-align: center;
        vertical-align: top;
    }
    
    .upper {
        margin-top: -1.8em;
        top: 0;
        border-bottom: 1px solid orange;
        font-size: 0.9em;
    }
    
    .lower {
        top: 0;
        font-size: 0.9em;
    }

}

@media (max-width: 768px) {

    .link-right {
        position: absolute;
        right:45%;
        line-height: 2.3rem;
        margin-top: 2.7rem;
        color: orange;
        text-align: center;
        vertical-align: top;
    }
    
    .upper {
        display: inline-block;
        margin-left: 0em;
        left: 0;
        border-right: 1px solid orange;
        text-align: left;
        vertical-align: middle;
        padding-right:1em;
        font-size: 0.9em;
    }
    
    .lower {
        display: inline-block;
        right: 0;
        vertical-align: middle;
        padding-left:1em;
        font-size: 0.9em;
    }

}