h1 {
    color: #525252;
    font-size: 30px;
    font-weight: normal;
}

h2 {
    color: #525252;
    font-size: 24px;
    font-weight: normal;
}

h3 {
    color: #757575;
    font-size: 24px;
    font-weight: normal;
}

h1.align-center, h2.align-center, h3.align-center {
    width: 100%;
}

.pointer {
    cursor: pointer;
}

.affix {
    top: 20px;
}

section {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: solid 1px #AEAEAE;
}

.wrapper {
    min-height: 100%;
    position: relative;
}

.controls {
    background-color: #212121;
}

.header {
    margin: 20px 0;
}

.content {
    margin-top: 30px;
    margin-bottom: 30px;
    color: #000000;
}

.page {
    padding-bottom: 190px;
}

.footer {
    background-color: #212121;
    bottom: 0;
    color: #999999;
    left: 0;
    padding: 20px 0;
    position: absolute;
    right: 0;
    height: 150px;
}

.footer h4 {
    color: #FFF;
    font-size: 18px;
}

.disclaimer br {
    display: none;
}

.lowlight {
    color: #525252;
    font-size: 12px;
}

.shade {
    color: #a5a5a5;
}

a {
    color: #F03B02;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

.btn {
    text-decoration: none;
}

.align-center {
    text-align: center;
}

.vertical-middle {
    vertical-align: middle;
}

blockquote {
    background: url("../images/icons/quote.png") no-repeat scroll 8px 8px #DADADA;
    border: 1px solid #797979;
    color: #525252;
    font-size: 12px;
    margin-left: 20px;
    margin-bottom: 1em;
    padding: 4px 7px 10px 30px;

    -webkit-border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    border-radius: 3px 3px 3px 3px;
}

blockquote p {
    margin-bottom: 0.5em;
}

/**** messages ****/
.messages ul {
    -webkit-border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    border-radius: 3px 3px 3px 3px;
}

.messages li {

}

.errors ul {
    background-color: #FED1C2;
    border: 1px solid #F03B02;
    color: #F03B02;
    list-style: none outside none;
    padding: 7px 15px;

    -webkit-border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    border-radius: 3px 3px 3px 3px;
}

.errors li {
    margin: 0;
    padding: 0;
}

table {
    border-collapse: separate;
    color: #525252;
    width: 100%;
}

table.table {
    border-color: #CCCCCC;
    border-style: solid;
    border-width: 0 1px;
}

table tr {

}

table tr td {
    padding: 7px 10px;
}

table.table tr td {
    border-bottom: solid 1px #CCCCCC;
    line-height: 1.5em;
    border-top: 0;
}

table tr th {
    font-weight: bold;
    padding: 5px 10px;
}

.table th.vertical-middle, .table td.vertical-middle {
    vertical-align: middle;
}

.table th.align-center, .table td.align-center {
    text-align: center;
}

table.table tr th {
    background: #f7f7f7; /* Old browsers */
    background: -moz-linear-gradient(top,  #f7f7f7 0%, #e5e5e5 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f7f7), color-stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #f7f7f7 0%,#e5e5e5 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #f7f7f7 0%,#e5e5e5 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #f7f7f7 0%,#e5e5e5 100%); /* IE10+ */
    background: linear-gradient(top,  #f7f7f7 0%,#e5e5e5 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
    border-color: #CCCCCC rgba(100, 100, 100, 0.25) #CCCCCC rgba(255, 255, 255, 0.25);
    border-style: solid;
    border-width: 1px;
}

table tr th.first {
    border-left: medium none;
}

table tr th.last {
    border-right: medium none;
}

table.table tr td.first {
    border-color: #CCCCCC;
    border-style: solid;
    border-width: 0 0 0 1px;
}

table.table tr td.last {
    border-color: #CCCCCC;
    border-style: solid;
    border-width: 0 1px 0 0;
}

table.table .error td {
    background-color: #FECDBC;
}

/************ anchors **************/
a.inactive {
    color: #797979;
}

/* main menu ********************************/

#menu {

}

#menu ul {
    list-style: none outside none;
    margin: 0;
    padding: 0;
}

#menu ul li {
    float: left;
    margin: 0;
    padding: 0;
}

#menu ul li a {
    color: #000000;
    display: block;
    font-size: 24px;
    height: 75px;
    line-height: 75px;
    padding: 0 19px;
    text-align: center;
    text-decoration: none;
}

#menu ul li a:hover,
#menu ul li.active a {
    background-color: #F03C02;
    color: #FFFFFF;
}

ul.menu {
    list-style: none outside none;
    margin: 0;
    padding: 0;
    color: #8a8a8a;
    overflow: hidden;
}

/*ul.menu a {*/
/*color: #FFFFFF;*/
/*}*/

/*ul.menu a:hover {*/
/*color: #F03B02;*/
/*}*/

ul.menu li {
    border-left: 1px solid #8a8a8a;
    float: left;
    margin: 0;
    padding: 0 10px;
}

ul.menu .first {
    border: none;
}

.profile-menu {
    margin: 7px 0;
    text-align: right;
    /*overflow: hidden;*/
}

.profile-menu .menu {
    float: right;
}

.profile-menu li {
    line-height: 22px;
}

/*************** cams list *******************/
.cam_list {
    margin-bottom: 20px;
    overflow: hidden;
}

/* Listing page: replace 960.gs float columns with a tight CSS Grid */
.cam_list.grid_12 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    overflow: visible;
}

/* 4-column listing grids (homepage sections, monitored page) */
.cam_list.cam_list--4col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    overflow: visible;
}

/* Ad banners / non-cam children span the full row on both grid types */
.cam_list.grid_12 > :not(.grid_2),
.cam_list.cam_list--4col > :not(.grid_2) {
    grid-column: 1 / -1;
}

/* Disable 960.gs float/width on the per-cam column wrappers */
.cam_list.grid_12 > .grid_2,
.cam_list.cam_list--4col > .grid_2 {
    float: none;
    width: auto;
    margin-left: 0;
    margin-right: 0;
}

/* Gap handles vertical rhythm — no extra bottom margin needed */
.cam_list.grid_12 .cam_item,
.cam_list.cam_list--4col .cam_item {
    margin-bottom: 0;
}

/* Tighter description area */
.cam_list.grid_12 .cam_description,
.cam_list.cam_list--4col .cam_description {
    padding: 3px 8px;
}

.cam_item a.cam_website {
    background-color: #A5A5A5;
    color: #FFFFFF;
    display: block;
    font-size: 11px;
    left: 2px;
    padding: 1px 7px;
    position: absolute;
    text-decoration: none;
    text-transform: uppercase;
    top: 2px;
}

.cam_item.online .cam_website {
    background-color: #00B121;
}

.cam_list .cam_item {
    float: left;
    width: 100%;          /* fill the .grid_2 column (was shrinking to image width) */
    height: auto;         /* let the aspect-ratio wrapper drive height */
    margin-bottom: 20px;
    box-sizing: border-box;
}

.cam_item span {
    color: #a5a5a5;
    font-size: 11px;
    text-align: left;
}

.cam_item .cam_thumb {
    text-align: center;
    position: relative;
}

.cam_list .hover .cam_description {
    background-color: #565656;
}

.cam_list .hover h4 a {
    color: #FFFFFF;
}

.cam_list .hover .cam_image {
    opacity: 0.6;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.cam_list a.cam_website:hover {
    text-decoration: underline;
}

.cam_list .cam_description {
    background-color: #ECECEC;
    padding: 4px 10px;

    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

/* Unified cam image wrapper — every cam image is wrapped in this */
.cam_image_wrapper {
    overflow: hidden;
    position: relative;
    border: 2px solid #A5A5A5;
}

.cam_item.online .cam_image_wrapper {
    border-color: #00B121;
}

/* Image inside the wrapper fills it; border lives on the wrapper */
.cam_image_wrapper img.cam_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
}

/* cam_list: override the inline width/height emitted by _cam_image.php so
   thumbnails scale fluidly with the grid column instead of staying fixed at
   136×100px. The same technique is used in responsive.css for mobile. */
.cam_list .cam_image_wrapper {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 136 / 100;
    box-sizing: border-box;
}

.cam_list .cam_image_wrapper img.cam_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

/* Bare img.cam_image fallback (legacy, outside a wrapper) */
img.cam_image {
    border: 2px solid #A5A5A5;
}

.cam_item.online img.cam_image {
    border-color: #00B121;
}

.cam_list h4 {
    font-size: 14px;
    font-weight: normal;
    margin: 0;
    text-align: left;
    line-height: 1.5em;
}

.cam_list h4 a {
    color: #494949;
    text-decoration: none;
    font-weight: bold;

    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

/************** steps *******************/

ul.steps {
    background-color: #E8E8E8;
    list-style: none outside none;
    margin: 0 0 15px;
    overflow: hidden;
    padding: 25px 0 10px;
}

ul.steps li {
    float: left;
    margin-left: 35px;
    margin-right: 35px;
}

ul.steps li span {
    -webkit-border-radius: 65px;
    -moz-border-radius: 65px;
    border-radius: 65px;

    background-color: #F03C02;
    border: 5px solid #781F01;
    color: #FFFFFF;
    display: inline-block;
    float: left;
    font-size: 32px;
    height: 65px;
    line-height: 65px;
    margin-right: 10px;
    text-align: center;
    width: 65px;
}

ul.steps li span.steps-one {

}

ul.steps li span.steps-two {
    background-position:-94px 50%;
}

ul.steps li span.steps-three {
    background-position:94px 50%;
}

ul.steps a {
    font-size: 20px;
    font-weight: bold;
    outline: medium none;
    text-decoration: none;
}

ul.steps a:hover {

}

ul.steps ul {
    margin-left: 65px;
    margin-top: 0;
}

ul.steps ul li {
    float:none;
    color: #4F4F4F;
    list-style:disc outside none;
    line-height: 1.1em;
}


/************ status *****************/
.status-online {
    width: 20px;
    height: 20px;
    background-color: #18F200;
    display: inline-block;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.status-offline {
    width: 20px;
    height: 20px;
    background-color: #AEAEAE;
    display: inline-block;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}


.messages-error {
    background: url("../images/error.gif") no-repeat scroll 5px 50% #FECDBC;
    color: #FF3600;
    font-weight: bold;
    margin-bottom: 1em;
    min-height: 45px;
    padding: 12px 12px 12px 60px;

    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.messages-notice {
    background:url("../images/valid.gif") no-repeat scroll 5px 50% #B7FFC4;
    color:#00B121;
    font-weight:bold;
    min-height:45px;
    padding-left:60px;
    margin-bottom: 1em;
    padding: 12px 12px 12px 60px;

    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.block {
    background-color: #E8E8E8;
    padding: 5px;
    margin-bottom: 15px;
}

.block h3,
.block h1 {
    background-color: #212121;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: normal;
    padding: 5px 10px;
    margin: 0;
    text-transform: uppercase;
    line-height: 1.5em;
}

.block h3 a {
    color: #FFF;
}

.block .content {
    color: #525252;
}

.block .block-content {
    margin: 7px;
    overflow: hidden;
}

.block .news {
    border-bottom: 1px solid #F03C02;
    color: #4F4F4F;
    margin-bottom: 10px;
}

.block .news .news-date {
    color: #F03C02;
}

.block .news p {
    margin: 10px 0;
}

.block-highlight {
    background: none repeat scroll 0 0 transparent;
    border: 2px solid #F03C02;
    padding: 3px;
}


.block .block-comment {
    border-bottom: 1px solid #F03C02;
    margin-bottom: 10px;
    overflow: hidden;
    padding-bottom: 10px;
}

.block .block-comment .user-avatar {
    float: left;
    margin-right: 10px;
}

.block .block-comment .user-nick {
    color: #525252;
}
.block .block-comment .comment-date {
    font-size: 11px;
    color: #8A8A8A;
}

.block .block-comment p {
    line-height: 1.2em;
    margin: 5px 0;
}

.block .block-comment:last-child {
    border: medium none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.user-details {
    overflow: hidden;
    margin-bottom: 20px;
}

/******************* breadcrumb **********************/
ul.breadcrumb {
    overflow: hidden;
}

ul.breadcrumb li {
    float: left;
    font-size: 14px;
    list-style: none outside none;
    margin: 0;
    padding: 0;
}

ul.breadcrumb li a {
    background: url("../images/icons/arrow_right.png") no-repeat scroll right center transparent;
    color: #304EA6;
    padding-right: 16px;
}

/******************************** forum **************************/
.forum .category-title {
    font-size: 16px;
    font-weight: normal;
}

.forum .category-description {
    font-size: 12px;
}

.forum .forum-title {
    background: url("../images/icons/document.png") no-repeat scroll 11px 11px transparent;
    padding-left: 45px;
}

.forum .thread-avatar {
    background-color: #F2F2F2;
    border-right: 1px solid #CCCCCC;
}

.forum .thread-nick {
    font-weight: bold;
    margin-bottom: 0.5em;
    display: inline-block;
}

.forum .thread-avatar dl {
    font-size: 12px;
    overflow: hidden;
}

.forum .thread-avatar dd {
    border-top: solid 1px #CCCCCC;
    margin-right: 5px;
    margin-left: 0;
    padding-top: 2px;
}

.forum .thread-avatar dt {
    border-top: solid 1px #CCCCCC;
    padding-top: 2px;
}

.forum .thread-content {

}

.forum .thread-content h4 {
    border-bottom: 1px solid #CCCCCC;
    font-size: 14px;
}

.forum .thread-actions {
    text-align: right;
}

.forum .thread-actions .button {
    font-size: 12px;
    padding: 3px 8px;
}

.forum .thread-avatar .image {
    margin-bottom: 10px;
    text-align: center;
}

.forum dl {
    margin-bottom: 0;
}

.forum dt {
    color: #a5a5a5;
    font-weight: normal;
}

.forum .stats dt {
    width: 50%;
    text-align: right;
}

/************************ BBCode ***********************/
.wysibb {
    width: 100%;
}
/*********************** pager ***********************/
ul.pager {
    overflow: hidden;
    float: right;
    margin: 0 0 15px;
}

ul.pager li {
    float: left;
    list-style: none outside none;
    margin: 0 1px;
    padding: 0;
}

ul.pager a {
    background-color: #F1F1EE;
    border: 1px solid #F1F1EE;
    display: block;
    height: 30px;
    line-height: 30px;
    padding: 0 11px;
    text-decoration: none;
}

ul.pager a:hover {
    background-color: #FFFFFF;
}

ul.pager span {
    display: block;
    height: 30px;
    line-height: 30px;
    padding: 0 11px;
}

/******************************** cam page ********************************/
.cam-page {
    position: relative;
}

.cam-page .cam-details {
    margin-bottom: 10px;
    overflow: hidden;
}

/* Cam detail page — main preview image: override inline width/height
   emitted by _cam_image.php so it fills the grid_3.cam-image column */
.cam-page .cam-image .cam_image_wrapper {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 216 / 164;
    box-sizing: border-box;
}
.cam-page .cam-image .cam_image_wrapper img.cam_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.cam-page h1 {
    margin-bottom: 0;
    line-height: 30px;
    margin-bottom: 0.2em;
}

.cam-page dl {
    margin: 0;
}

.cam-page dd {
    color: #7E7E7E;
}

.cam-page dt {
    color: #212121;
    float: left;
    font-weight: bold;
    margin-right: 0.3em;
}

.cam-page .actions {
    position: static;
}

/* Desktop: flex row so the right column stretches to match the image height,
   then margin-top: auto pushes the buttons flush with the image bottom */
@media (min-width: 768px) {
    .cam-page .cam-details {
        display: flex;
        align-items: stretch;
    }

    .cam-page .cam-details .cam-image {
        float: none;
        flex-shrink: 0;
    }

    .cam-page .cam-details .grid_5 {
        float: none;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
    }

    .cam-page .cam-details .grid_5 .actions {
        margin-top: auto;
        padding-top: 8px;
    }
}

.cam-page .view span {
    background: url("../images/sprite.png") no-repeat scroll 0 -30px transparent;
    display: block;
    float: left;
    height: 17px;
    width: 22px;
}

.cam-page .follow span {
    background: url("../images/sprite.png") no-repeat scroll 0 1px transparent;
    display: block;
    float: left;
    height: 17px;
    width: 22px;
}

.status-text-online {
    color: #00B121;
    font-weight: bold;
}

.status-text-offline {
    color: #F03B02;
    font-weight: bold;
}

#infscr-loading {
    text-align: center;
    padding: 10px;
    clear: both;

    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

/********************** general dl ******************/
dl {
    overflow: hidden;
}

dl dt {
    float: left;
    font-weight: bold;
    padding-right: 0.3em;
    margin-bottom: 0.3em;
    line-height: 1.5em;
}

dl dd {
    margin-bottom: 0.3em;
    line-height: 1.5em;
}

dl dt.with-button {
    line-height: 26px;
}

/***************************** my cams *******************************/
.mycams .cam {
    float: left;
}

.mycams ul {
    float: left;
    list-style: none outside none;
    margin: 0;
    padding: 0;
}

.mycams li {
    margin-left: 10px;
}

.mycams .delete span {
    background: url("../images/sprite.png") no-repeat scroll -30px 0 transparent;
    display: block;
    float: left;
    height: 17px;
    width: 22px;
}

.mycams .enable-notification span {
    background: url("../images/sprite.png") no-repeat scroll -60px -30px transparent;
    display: block;
    float: left;
    height: 17px;
    width: 22px;
}

.mycams .disable-notification span {
    background: url("../images/sprite.png") no-repeat scroll -30px -30px transparent;
    display: block;
    float: left;
    height: 17px;
    width: 22px;
}

.multi-actions {
    margin-bottom: 1em;
}
.mycams .cam_website {
    color: #4F4F4F;
}

.mycams .cam_notification_on {
    background: url("../images/sprite.png") no-repeat scroll -60px -30px transparent;
    height: 17px;
    width: 22px;
    display: inline-block;
}

.mycams .cam_notification_off {
    background: url("../images/sprite.png") no-repeat scroll -30px -30px transparent;
    height: 17px;
    width: 22px;
    display: inline-block;
}

/******************************* comment form ********************************/
.comments-form form ul.error_list {
    left: auto;
    margin: 0;
    right: 15px;
    top: 35px;
    width: auto;
}

.comment-form form {

}

.comments-form .form-input-wrapper .field-wrapper {
    position: static;
}

.comments-form {
    background-color: #F5F5F5;
    padding: 15px;
    overflow: hidden;
    margin-bottom: 10px;
    position: relative;

    -webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

.comments-form .form-input-wrapper {
    float: none;
}

.comments-form textarea {
    width: 100%;
    max-width: 410px;
    box-sizing: border-box;
}

.comments-form .comments-title {
    color: #000000;
    display: inline-block;
    font-size: 16px;
    margin-bottom: 10px;
}

.comments-form .form-field-submit {
    float: right;
    margin: 0;
    overflow: hidden;
}

.comment {
    background-color: #F5F5F5;
    margin-bottom: 10px;
    overflow: hidden;
    padding: 15px 15px 7px;

    -webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

.comment .user-avatar {
    float: left;
}

.comment .comment-body {
    float: left;
    margin-left: 10px;
    color: #525252;
    width: 280px;
}

.comment .user-nick {
    color: #F03C02;
}

.comment .comment-date {
    color: #C6C6C6;
    font-size: 11px;
    margin-left: 5px;
    vertical-align: middle;
}

.comment .comment-footer {
    clear: both;
    padding-top: 10px;
}

.comment .comment-actions {

}

.comment .comment-actions ul {
    float: right;
    list-style: none outside none;
    margin: 0;
    padding: 0;
}

.comment .comment-actions li {
    float: left;
    margin-left: 10px;
}

.comment .comment-actions a {
    color: #7E7E7E;
    font-size: 11px;
    text-decoration: none;
}

.comment .comment-actions a:hover {
    color: #525252;
}

.comment p {
    margin-bottom: 0.5em;
    margin-top: 0.3em;
}

.comments-form .reply {

}

.comments-form .reply .comment {
    margin-top: 5px;
    padding: 0;

    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0    ;
}

/*********************************** tags *******************************/
.tags {
    background-color: #F5F5F5;
    margin-bottom: 10px;
    overflow: hidden;
    padding: 15px 15px 7px;

    -webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

.tags .tags-title {
    color: #000000;
    display: inline-block;
    font-size: 16px;
    margin-bottom: 10px;
}

.tags ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tags li {
    float: left;
    margin: 0 10px 5px 0;
}

.tags a {
    background-color: #FFFFFF;
    color: #7E7E7E;
    padding: 4px 10px;
    text-decoration: none;
    display: inline-block;

    -webkit-border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    border-radius: 3px 3px 3px 3px;
}

.tags a:hover {
    color: #525252;
}

/******************************** filters ********************************/

.cam-filters .block {
    overflow: hidden;
    height: 28px;

    -webkit-border-radius: 5px;
    -webkit-border-top-left-radius: 0;
    -moz-border-radius: 5px;
    -moz-border-radius-topleft: 0;
    border-radius: 5px;
    border-top-left-radius: 0;
    padding: 10px 12px;
}

.cam-filters .open {
    height: auto;
}

.cam-filters .filters-wrapper {
    margin-top: 15px;
}

.cam-filters h3 {
    background: none repeat scroll 0 0 transparent;
    color: #F03C02;
    float: left;
    font-weight: normal;
    margin: 2px;
    padding: 0;
}

.cam-filters h3 a {
    background: url("../images/icons/arrows.png") no-repeat scroll right 1px transparent;
    color: #F03B02;
    display: block;
    padding-right: 25px;
}

.cam-filters .open h3 a {
    background: url("../images/icons/arrows.png") no-repeat scroll right -49px transparent;
}

.cam-filters .filter-title {
    display: block;
    font-weight: bold;
}

.cam-filters ul {
    list-style: none outside none;
    margin-bottom: 0;
    margin-top: 10px;
}

.cam-filters li {
    color: #6F6F6F;
    line-height: 1.8em;
    margin: 0;
}

.cam-filters li input {
    height: auto;
    margin: 2px 3px;
    padding: 0;
}

.cam-filters .filter-section {
    float: left;
}

.cam-filters .filter-part {
    float: left;
    width: 182px;
}

.cam-filters .search {
    overflow: hidden;
    float: right;
}

.cam-filters .search span {
    float: left;
    font-weight: bold;
    line-height: 28px;
    margin: 0 7px 0 0;
}

.cam-filters .search input {
    height: 16px;
    padding: 5px 8px;
    float: left;
    margin: 0 7px 0 0;
}

.cam-filters .search button {
    height: 28px;
    float: left;
}

.cam-filters .search button span {
    background-image: url("../images/icons/search.png");
    background-position: center center;
    display: block;
    height: 16px;
    width: 16px;
    float: none;
    margin: 0;
}

.cam-filters ul.status {
    list-style: none outside none;
    margin: 0;
    overflow: hidden;
}

.cam-filters ul.status li {
    float: left;
}

.cam-filters ul.status a {
    background-color: #FFFFFF;
    border-color: #E8E8E8;
    border-style: solid;
    border-width: 1px 1px 0;
    color: #A5A5A5;
    display: block;
    font-size: 16px;
    margin-right: 3px;
    margin-top: 8px;
    padding: 3px 14px;
    text-decoration: none;

    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.cam-filters ul.status a:hover,
.cam-filters ul.status li.active a {
    background-color: #E8E8E8;
    margin-top: 0;
    padding: 7px 14px;
    color: #212121;
}

.cam-filters .no-tabs {
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
    border-top-left-radius: 5px;
}

/************************* order ******************************/
.products {
    margin: 30px 0;
    overflow: hidden;
}

.products .product {
    background-color: #F4F4F4;
    border: 3px solid #525252;
    height: 440px;
    overflow: hidden;
    text-align: center;
}

.products h2 {
    font-size: 30px;
    margin-top: 20px;
}

.products .description {
    height: 100px;
    margin: 0 auto;
    text-align: center;
    width: 225px;
}

.products .price {
    color: #494949;
    font-size: 38px;
    font-weight: normal;
}

.products .saves {
    color: #00B121;
    display: block;
    font-size: 17px;
}

.products .free h2 {
    color: #212121;
}

.products .btn {
    margin: 25px 90px;
    clear: both;
    display: block;
}

.products .gold h2 {
    color: #F29800;
}

.products .gold {
    border: 3px solid #F29800;
}

.products ul {
    margin: 10px 35px;
}

.products li {
    margin: 0px;
    text-align: left;
}

.products .nav-tabs > .active > a, .nav-tabs > .active > a:hover, .nav-tabs > .active > a:focus
{
    background: #F2F2F2;
}

.products .nav-tabs > li {
    margin-left: 15px;
}

.products .price_summary {
    color: #757575;
    line-height: 2.5em;
}

.products .tabbable {
    height: 145px;
}
/************************************* ads **************************************/
.ads {
    border: solid 2px #00B121;
}

.ads-simple {
    border: none;
}

.ads-wrapper {
    position: relative;
    overflow: hidden;
}

.ads span {
    background-color: #00B121;
    color: #FFFFFF;
    display: block;
    padding: 1px 7px;
}

.ads-body {
    position: absolute;
    top: -1px;
    left: -1px;
}

/* Hidden on desktop — shown on mobile via responsive.css */
.mobile-sidebar-ad {
    display: none;
}

.ads-300-250 {
    width: 100%;  /* fill the sidebar column (was 300px) */
}

/* Align sidebar ad with the top of the cam grid on the homepage.
   Offset = h2 margin-top (10) + h2 height (40) + h2 margin-bottom (10) */
.homepage-sidebar-ad {
    margin-top: 60px;
}

.ads-300-250 .ads-wrapper {
    width: 100%;
    height: 250px;
    overflow: hidden;
}

/* Stretch the absolutely-positioned body to fill wrapper width.
   left: -1px already exists on .ads-body; adding right: -1px mirrors it
   so the iframe fills edge-to-edge while still hiding the 1px border. */
.ads-300-250 .ads-body {
    right: -1px;
}

/* Let the iframe reflow to the actual rendered width (overrides width=320
   HTML attribute — Chaturbate's embed is responsive to iframe CSS width). */
.ads-300-250 .ads-body iframe {
    width: 100%;
}

.ads-728-90 {
    width: 744px;
    margin: 0 auto;
}

.ads-728-90 .ads-wrapper {
    height: 114px;
}

.ads-728-90 .ads-body {
    position: absolute;
    top: -4px;
    left: -4px;
}

.redirect {
    color: #F03C02;
    display: block;
    font-size: 16px;
    text-align: center;
}

.ads-simple-300-250 {
    width: 300px;
    height: 250px;
    overflow: hidden;
    position: relative;
}

#FFN_INTSIT_AdBox table tr td {
    padding: 0;
}

/************************************* sort ********************************/
.orderasc {
    background: url("../images/icons/arrows.png") no-repeat scroll right -51px transparent;
    padding-right: 20px;
}

.orderdesc {
    background: url("../images/icons/arrows.png") no-repeat scroll right -1px transparent;
    padding-right: 20px;
}

/********************** messages **************************/
ul.messages {
    list-style: none outside none;
    margin: 0;
}

ul.messages li {
    border-bottom: 1px solid #212121;
    margin: 0 0 5px;
    padding-bottom: 5px;
}

/******************* simple list **************************/
ul.simple {
    list-style: none;
}

ul.simple li {
    margin: 0;
}

/***************** monitoring users ******************************/
/* Cam detail page sidebar: 4-column flex grid.
   Scoped to .cam-page so it doesn't affect .latest-premium on homepage. */
.cam-page .monitoring .block-content {
    display: flex;
    flex-wrap: wrap;
}
.cam-page .monitoring .user-avatar {
    width: 25%;
    box-sizing: border-box;
    min-height: 90px;
    overflow: hidden;
    text-align: center;
}

.monitoring .user-nick {
    display: block;
}

.monitoring .user-avatar img {
    margin-top: 5px;
}

/* Latest Supporting Premium Users (homepage + prices page):
   single row of 99px avatars */
.block-content.monitoring.latest-premium {
    display: flex;
    flex-wrap: wrap;
}
.latest-premium .user-avatar {
    width: 94px;   /* 8 × 94 = 752px fits in the ~756px container */
}

/**************** premium ***************************/
.premium {
    color: #F29800;
    font-weight: bold;
}

.avatar {
    display: inline-block;
    position: relative;
}

.avatar .premium-flag {
    left: 0;
    position: absolute;
    top: 0;
}

/***************** monitored cams - user profile block ******************************/
.monitored .cam-image {
    float: left;
    height: 90px;
    overflow: hidden;
    text-align: center;
    width: 90px;
}

.monitored .cam-title {
    display: block;
}

.monitored .cam-image img {
    margin-top: 5px;
}

/*************** poll **********************/
.poll {
}

.poll .answers {
    overflow: hidden;
    text-align: center;
    margin-bottom: 2em;
}

.poll .answers a {
    font-size: 2em;
    text-align: center;
    width: 200px;
    margin: 0 20px;
}

.poll .notice {
    color: #F03C02;
}

/*************** side-nav ***************/
.side-nav {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.side-nav li {
    margin: 0;
}

.side-nav li a {
    margin: 0;
    text-decoration: none;
    line-height: 2em;
    border-bottom: solid 1px #AEAEAE;
}

.side-nav li.active a,
.side-nav li.active a:hover {
    background-color: #202020;
}

.side-nav li:last-child a {
    border: none;
}

/******************* history table *******************/
#history-modal .modal-legend {
    float: left;
}

#history-modal {
    width: 800px;
    overflow: hidden;
    margin-left: -400px;
}

#history-modal .modal-body {
    max-height: 600px;
    padding: 15px 0;
    margin-right: 15px;
}

#history-legend {
    margin-top: 49px;
    margin-left: 15px;
    margin-right: 10px;
    margin-bottom: 0;
}

#history-legend td {
    padding: 0;
    font-size: 10px;
    height: 21px;
}

#history-table {
    margin: 0;
}

#history-table tr {

}

#history-table td {
    border: solid 1px #9D9D9D;
    border-width: 1px 1px 0 0;
    padding: 0;
    margin: 0;
}

#history-table td:first-child {
    border-left: solid 1px #9D9D9D;
}

#history-table tr:last-child td {
    border-bottom: solid 1px #9D9D9D;
}

#history-table .active {
    display: block;
    width: auto;
    height: 20px;
    background-color: #00B121;
}

#history-table th {
    padding: 0;
    text-align: center;
    font-size: 10px;
    background-color: #E8E8E8;
}

#history-table .filler {
    height: 20px;
    width: 20px;
    display: block;
}

#history-table .day_6 {
    background-color: #FEC4AF;
}

#history-table .day_7 {
    background-color: #FEAC8D;
    border-right: #515151 solid 1px;
}

/************************* navbar **********************/
.nav-tabs > li {
    margin-left: 10px;
}

.nav-tabs a {
    text-decoration: none;
}

.dropdown-menu li {
    margin-left: 0;
}

.dropdown-menu a {
    text-decoration: none;
}

/***************** suggestions **************/
/* 2-column grid so thumbnails match the listing-page size (~120px vs ~180px
   on the full listing, proportionally the same appearance) */
.cam_list.suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.suggestions .cam_item {
    width: calc(50% - 4px);   /* 2 columns; half of 8px gap */
    margin-left: 0;
    margin-bottom: 0;
}
.suggestions .cam_description {
    font-size: 11px;
}

.xmass {
    background: url('../images/xmass-hat.png') no-repeat;
    width: 72px;
    height: 95px;
    position: absolute;
    left: -25px;
    top: -10px;
    display: block;
}

.logo {
    position: relative;
}

ul.links {
    list-style: none;
}

ul.links li {
    float: left;
    margin: 0;
    border-right: solid 1px #999999;
    padding: 0 10px;
    display: block;
}

ul.links li:last-child {
    border-right: none;
}