.pp-opo .container {
    margin-top: 20px;
    margin-bottom: 20px;
}

.pp-opo .pp-opo-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.pp-opo .pp-opo-form .fields-top {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.pp-opo .pp-opo-form .fields-bottom {
    display: flex;
    flex-direction: row;
}

.pp-opo .pp-opo-form .fields-top > * {
    flex-grow: 1;
}

.pp-opo .pp-opo-form .fields-bottom > * {
    flex-grow: 1;
}

.pp-opo .pp-opo-form .fields-bottom {
    display: flex;
    flex-direction: column;
}

.pp-opo .pp-opo-form .form-group {
    margin-bottom: 15px;
    min-width: 350px;
    display: flex;
}

.pp-opo-form input[type="text"],
.pp-opo-form input[type="file"],
.pp-opo-form input[type="email"],
.pp-opo-form select {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box;
    flex-grow: 1;
    margin-left: 10px;
    margin-right: 10px;
}

.pp-opo-form button {
    background-color: #4a7bff;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
    flex-grow: 1;
    margin-left: 10px;
    margin-right: 10px;
}

.pp-opo button:hover {
    background-color: #3d67cc;
}

.pp-opo .form-result {
    padding: 20px;
}

.pp-opo .form-result img {
    width: 100px;
    margin: 10px auto;
}

.pp-opo h1 {
    text-align: center;
    color: #333;
    margin-bottom: 20px;
}

.pp-opo p {
    font-size: 14px;
    color: #666;
    text-align: center;
    margin-bottom: 20px;
}

@media all and (min-width: 500px) {
    .fields-top, .fields-right {
        flex: 1 auto;
    }
}

@media all and (min-width: 800px) {
    .main-content {flex: 500 0px;}
    .nav-column {order: 0;}
}
