/**
 *
 * ImpressPages CMS theme: LT pagan
 *
 * Styles file for widgets, system modules and content
 *
 * @package ImpressPages
 * @copyright Copyright (C) 2011 ImpressPages LTD.
 * @license see ip_license.html
 *
 */

/*
    Clearing floated elements
*/
/* http://sonspring.com/journal/clearing-floats */
.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}
/* http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified */
.ipWidget:before,
.ipWidget:after,
.ipModuleForm .ipmField:before,
.ipModuleForm .ipmField:after,
.clearfix:before,
.clearfix:after {
    content: '.';
    display: block;
    overflow: hidden;
    visibility: hidden;
    font-size: 0;
    line-height: 0;
    width: 0;
    height: 0;
}
.ipWidget:after,
.ipModuleForm .ipmField:after,
.clearfix:after {
    clear: both;
}
/*
  The following zoom:1 rule is specifically for IE6 + IE7.
  Move to separate stylesheet if invalid CSS is a problem.
*/
.clearfix {
    zoom: 1;
}

/* Libraries */
/* tiny mce :: rich text editor
    should be similar to text widgets or follow default styles of the <body>, including style reset
 */
.mceContentBody {
    color: #333;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 14px;
}
.mceContentBody p,
.mceContentBody ul,
.mceContentBody ol,
.mceContentBody li,
.mceContentBody dl,
.mceContentBody dd,
.mceContentBody dt {
    border: none;
    margin: 0;
    padding: 0;
}
.mceContentBody a {
    text-decoration: none;
}

/* Modules :: search */
.ipModuleSearch {
    clear: right;
    float: right;
    margin-top: 20px;
}
.ipModuleSearch .ipmField {
    float: left;
}
.ipModuleSearch .ipmControlInput {
    border: 1px solid #b3b3b3;
    box-shadow: 0 1px 2px -1px #b3b3b3 inset;
    float: left;
    height: 21px;
    padding: 1px 2px;
    width: 160px;
}
.ipModuleSearch .ipmControlInput:focus {
    box-shadow: none;
}
.ipModuleSearch .ipmControlSubmit,
.ipModuleForm .ipmControlSubmit {
    /* Background gradient editor - http://www.colorzilla.com/gradient-editor/ */
    background: #f4f4f4; /* Old browsers */
    background: -moz-linear-gradient(top,  #f4f4f4 0%, #d1d1d1 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f4f4f4), color-stop(100%,#d1d1d1)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #f4f4f4 0%,#d1d1d1 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #f4f4f4 0%,#d1d1d1 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #f4f4f4 0%,#d1d1d1 100%); /* IE10+ */
    background: linear-gradient(top,  #f4f4f4 0%,#d1d1d1 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#d1d1d1',GradientType=0 ); /* IE6-9 */
    border: 1px solid #a7a7a7;
    color: #000;
    cursor: pointer;
    float: left;
    height: 25px; /* input buttons have borders inside their height */
    line-height: 25px;
    margin-left: 5px;
    padding: 0 6px;
    text-transform: uppercase;
}
.ipModuleSearch .ipmControlSubmit:hover,
.ipModuleForm .ipmControlSubmit:hover {
    /* Background gradient editor - http://www.colorzilla.com/gradient-editor/ */
    background: #e1e0e0; /* Old browsers */
    background: -moz-linear-gradient(top,  #e1e0e0 0%, #d6d4d4 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e1e0e0), color-stop(100%,#d6d4d4)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #e1e0e0 0%,#d6d4d4 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #e1e0e0 0%,#d6d4d4 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #e1e0e0 0%,#d6d4d4 100%); /* IE10+ */
    background: linear-gradient(top,  #e1e0e0 0%,#d6d4d4 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e1e0e0', endColorstr='#d6d4d4',GradientType=0 ); /* IE6-9 */
    box-shadow: 0 0 3px 0 #fff inset;
}
/* Modules :: form */
.ipModuleForm {
    border: 1px solid #888;
    padding: 20px 25px;
}
.ipModuleForm .ipmPage {}
.ipModuleForm .ipmFieldset {}
.ipModuleForm .ipmField {
    margin-bottom: 25px;
    position: relative; /* to position inner elements respectively to the field */
}
.ipModuleForm .ipmField:after { /* clearing, see 960.css */ }
.ipModuleForm .ipmType-blank { /* if blank we'll remove it from the flow */
    margin: -16px 0 0;
    position: absolute;
}
.ipModuleForm .ipmField:last-child {
    margin-bottom: 0;
}
.ipModuleForm .ipmField.ipmRequired {} /* change any styles if field is required */
.ipModuleForm .ipmLabel {
    display: block;
    font-weight: bold;
    float: left;
    margin: 0 10px 0 0;
    min-height: 1px; /* to keep the width when empty */
    padding-top: 3px;
    width: 85px;
}
.ipModuleForm .ipmMarker {}
.ipModuleForm .ipmControl {
    float: left;
    width: 393px; /* 488px (content width) - 85px (label) - 10px (margin) */
}
.ipModuleForm .ipmControlBlank {
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden;
    width: 0;
}
.ipModuleForm .ipmControlInput {
    background-color: #f2f2f2;
    border: 1px solid #a7a7a7;
    height: 21px;
    padding: 1px 2px;
    width: 185px;
}
.ipModuleForm .ipmControlTextarea {
    background-color: #f2f2f2;
    border: 1px solid #a7a7a7;
    display: block;
    height: 9.5em; /* height is relative to the font size to have full lines */
    padding: 1px 2px;
    overflow: auto; /* hiding scrolls if not necessary */
    width: 387px;
}
.ipModuleForm .ipmControlInput:focus,
.ipModuleForm .ipmControlTextarea:focus {
    border-color: #000;
}
.ipModuleForm .ipmControlSubmit {
    margin-left: 0;
    text-transform: none;
}
.ipModuleForm .ipmControlSelect {
    background-color: #f2f2f2;
    border: 1px solid #a7a7a7;
    height: 25px;
    padding: 2px;
    width: 191px; /* padding and borders doesn't expand the width */
}
.ipModuleForm .ipmControlRadio {}
.ipModuleForm .ipmControlCheckbox {}
.ipModuleForm .ipmType-confirm .ipmControlCheckbox {
    float: left;
}
.ipModuleForm .ipmControlConfirmOptions {
    margin-left: 25px;
}
.ipModuleForm .ipmNote { /* always visible */
    color: #656565;
    font-size: 11px;
    margin: -15px 0 0 95px;
    position: absolute;
}
.ipModuleForm .ipmHint { /* to be shown on hover */
    background-color: #a7a7a7;
    color: #fff;
    display: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    min-height: 16px;
    padding: 5px 10px 4px;
    position: absolute;
    right: 0;
    width: 181px;
    z-index: 1;
}
.ipModuleForm .ipmField:hover .ipmHint { /* hint is shown only on hover */
    display: block;
}
.ipModuleForm .ipmType-textarea .ipmHint { /* for textarea hint goes below the field */
    bottom: 0;
    left: 95px;
    margin-bottom: -25px;
    max-width: 393px;
    right: auto;
    width: auto;
}
/* Module :: form :: errors */
.ipModuleForm .ipmError {}
.ipModuleForm .ipmError .ipmLabel {
    color: #e44445;
}
.ipModuleForm .ipmControlError {
    border-color: #e44445;
}
.ipmErrorMessage { /* this object is created globally next to each invalid field */
    background-color: #fff;
    color: #da0001;
    font-size: 11px;
}

/* Widgets :: main */
.ipBlock.ipbEmpty {
    min-height: 30px;
    outline: #019bd4 dashed 1px;
}
.ipWidget {
    margin-bottom: 25px;
}
.ipWidget:after { /* clearing, see 960.css */ }
.ipWidget:last-child,
.ipPreviewWidget p:last-child,
.ipPreviewWidget ul:last-child,
.ipPreviewWidget ol:last-child {
    margin-bottom: 0; /* removing bottom margin on last elements */
}
.ipPreviewWidget h1,
.ipPreviewWidget h2,
.ipPreviewWidget h3 {
    color: #000;
    font-family: Georgia, serif;
}
.ipPreviewWidget h1 {
    font-size: 36px;
}
.ipPreviewWidget h2 {
    font-size: 28px;
}
.ipPreviewWidget h3 {
    font-size: 22px;
}
.ipPreviewWidget p,
.mceContentBody p {
    line-height: 24px;
    margin-bottom: 20px;
}
.ipPreviewWidget ul,
.mceContentBody ul {
    list-style-position: inside;
    list-style-type: square;
    margin: 0 0 20px 15px;
}
.ipPreviewWidget ol,
.mceContentBody ol {
    list-style-position: inside;
    margin: 0 0 20px 15px;
}
.ipPreviewWidget ul ul,
.ipPreviewWidget ol ol,
.ipPreviewWidget ul ol,
.ipPreviewWidget ol ul,
.mceContentBody ul ul,
.mceContentBody ol ol,
.mceContentBody ul ol,
.mceContentBody ol ul {
    margin-bottom: 0; /* removing bottom spacing for inner lists */
}
.ipPreviewWidget li,
.mceContentBody li {
    line-height: 24px;
    margin-bottom: 4px;
}
.ipPreviewWidget p+ul,
.mceContentBody p+ul,
.ipPreviewWidget p+ol,
.mceContentBody p+ol {
    margin-top: -20px; /* If list goes just after the paragraph the space is removed */
}
.ipPreviewWidget a,
.mceContentBody a {
    color: #019bd4;
}
.ipPreviewWidget a:hover,
.mceContentBody a:hover {
    text-decoration: underline;
}
/* default text style on rich text editor */
.ipPreviewWidget .caption,
.mceContentBody .caption {
    color: #000;
    font-family: Georgia, serif;
    font-size: 20px;
    line-height: 28px;
}
/* default text style on rich text editor */
.ipPreviewWidget .signature,
.mceContentBody .signature {
    font-family: Georgia, serif;
    font-size: 16px;
    font-style: italic;
}
/* default text style on rich text editor */
.ipPreviewWidget .note,
.mceContentBody .note {
    color: #000;
    display: block;
    font-family: Georgia, serif;
    font-size: 16px;
    font-style: italic;
    margin: 0 30px 25px;
}
.ipWidget-IpImage img,
.ipWidget-IpImageGallery img {
    display: block; /* to remove 3px space below the image (default rendering behavior) */
}
.ipWidget-IpTextImage .ipwImage {
    float: left;
    width: 220px;
}
.ipWidget-IpTextImage .ipwText {
    float: right;
    width: 300px;
}
.ipWidget-IpTextImage.ipLayout-right .ipwImage {
    float: right;
}
.ipWidget-IpTextImage.ipLayout-right .ipwText {
    float: left;
}
.ipWidget-IpImageGallery ul,
.ipWidget-IpLogoGallery ul {
    list-style: none;
    margin: -20px 0 0 -20px; /* hack to keep images aligned with the content but keeping spaces between them; the size should be smaller than space below widgets */
}
.ipWidget-IpImageGallery li,
.ipWidget-IpLogoGallery li {
    float: left;
    margin: 20px 0 0 20px; /* size should be equal with ul element but without minus sign */
}
.ipWidget-IpImageGallery li a,
.ipWidget-IpLogoGallery li img {
    border: 1px solid #888;
    display: block;
    padding: 2px;
}
.ipWidget-IpImageGallery a:hover,
.ipWidget-IpLogoGallery a:hover img {
    border-color: #000;
}
.ipWidget-IpFile ul {
    list-style: none;
    margin-left: 0;
}
.ipWidget-IpFile li {
    background: url(img/icon_download.gif) no-repeat left center;
    margin-bottom: 4px;
    padding-left: 25px;
}
.ipWidget-IpFile a {
    color: #019bd4;
    font-weight: bold;
}
.ipWidget-IpFile a:hover {
    text-decoration: underline;
}
.ipPreviewWidget table,
.mceContentBody table {
    border-collapse: collapse;
    color: #000;
    font-size: 11px;
    width: 100%;
}
.ipPreviewWidget table p,
.mceContentBody table p {
    line-height: auto;
    margin: 0;
}
.ipPreviewWidget td,
.mceContentBody td {
    border-bottom: 1px solid #b2b2b2;
    font-size: 11px;
    padding: 9px;
    text-align: center;
}
.ipPreviewWidget th,
.mceContentBody th,
.ipPreviewWidget thead td,
.mceContentBody thead td,
.ipPreviewWidget tbody tr:first-child td,
.mceContentBody tbody tr:first-child td { /* making first line look like header in all cases */
    background-color: #000;
    border: none;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}
.ipPreviewWidget thead+tbody tr:first-child td,
.mceContentBody thead+tbody tr:first-child td { /* setting back styles if thead exists */
    background-color: transparent;
    border-bottom: 1px solid #b2b2b2;
    color: inherit;
    font-size: 12px;
    font-weight: normal;
}
.ipPreviewWidget td:first-child,
.mceContentBody td:first-child {
    text-align: left;
}
.ipWidget-IpSeparator.ipLayout-default {
    border-bottom: 1px dotted #000;
    height: 0;
    overflow: hidden;
}
.ipWidget-IpSeparator.ipLayout-space {
    height: 25px;
}
.ipWidget-IpHtml {}
.ipWidget-IpFaq {
    padding-left: 30px;
}
.ipWidget-IpFaq .ipwQuestion {
    color: #000;
    cursor: pointer;
    font-family: Georgia, serif;
    font-size: 18px;
    text-decoration: none;
}
.ipWidget-IpFaq .ipwQuestion:hover {
    text-decoration: underline;
}
.ipWidget-IpFaq .ipwQuestion:before {
    border: 1px solid #000;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 11px;
    font-weight: bold;
    color: #000;
    content: '?';
    display: block;
    margin: 3px 0 0 -30px;
    padding: 1px 2px;
    position: absolute;
}
.ipWidget-IpFaq .ipwQuestion:hover:before {
    background-color: #f3f3f3;
}
.ipWidget-IpFaq .ipwExpanded .ipwQuestion:before {
    background-color: #000;
    color: #fff;
}
.ipWidget-IpFaq .ipwAnswer {
    margin-top: 5px;
}
.ipWidget-IpFaq .ipwCollapsed .ipwAnswer {
    display: none;
}
.ipWidget-IpForm {}
.ipWidget-IpForm .ipwForm {}
.ipWidget-IpForm .ipwSuccess { /* mimicking the same styles as for form to keep message 'inside' the box */
    border: 1px solid #888;
    display: none;
    padding: 20px 25px;
}


/* Widgets :: side */
.side .ipWidget {
    margin-bottom: 15px;
}
.side .ipPreviewWidget h1,
.side .ipPreviewWidget h2,
.side .ipPreviewWidget h3 {
    background-color: #000;
    color: #fff;
    font-size: 22px;
    margin-bottom: 1px;
    padding: 7px 20px;
}
.side .ipWidget-IpText,
.side .ipWidget-IpRichText {
    padding: 0 20px;
}
.side .ipPreviewWidget ul,
.side .ipPreviewWidget ol {
    list-style-position: outside;
}
.side .ipPreviewWidget .note,
.side .mceContentBody .note {
    background-color: #f3f3f3;
    color: #000;
    display: block;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 14px;
    font-style: normal;
    margin-left: -20px; /* aligning background with box side */
    margin-right: -20px; /* aligning background with box side */
    margin-top: -15px; /* pushing up to stick to headline */
    padding: 15px 20px;
}
.side .ipWidget-IpTextImage .ipwImage,
.side .ipWidget-IpImage img {
    max-width: 100%;
}
.side .ipWidget-IpTextImage .ipwText {
    width: 220px;
}
.side .ipWidget-IpImageGallery ul,
.side .ipWidget-IpLogoGallery ul {
    margin: -15px 0 0 -15px; /* hack to keep images aligned with the content but keeping spaces between them; the size should be smaller than space below widgets */
}
.side .ipWidget-IpImageGallery li,
.side .ipWidget-IpLogoGallery li {
    float: left;
    margin: 15px 0 0 15px; /* size should be equal with ul element but without minus sign */
}
.side .ipWidget-IpImageGallery li img,
.side .ipWidget-IpLogoGallery li img {
    width: 96px;
}
.side .ipWidget-IpFile {
    padding: 15px 0;
}
.side .ipModuleForm {
    padding: 20px;
}
.side .ipModuleForm .ipmField {
    margin-bottom: 15px;
}
.side .ipModuleForm .ipmField:last-child {
    margin-bottom: 0;
}
.side .ipModuleForm .ipmLabel {
    float: none;
    margin: 0 0 3px 0;
    width: auto;
}
.side .ipModuleForm .ipmMarker {
    display: block;
}
.side .ipModuleForm .ipmControl {
    width: 178px;
}
.side .ipModuleForm .ipmControlInput,
.side .ipModuleForm .ipmControlTextarea {
    width: 172px;
}
.side .ipModuleForm .ipmControlSelect {
    width: 178px;
}
.side .ipModuleForm .ipmNote {
    margin: 0;
    position: static;
}
.side .ipModuleForm .ipmHint {
    bottom: auto;
    left: 198px;
    right: auto;
    top: 0;
    width: 178px;
}

/* Inline Management */
.ipModuleInlineManagement.ipmEmpty {
    outline: #019bd4 dashed 1px;
}

/* Admin */
/* here should go styles for admin tools if you want to override the default styles */
