/*
Theme Name: Themify Ultra
Theme URI: http://themify.me/themes/ultra
Version: 1.4.4
Description: Created by <a href="http://www.themify.me">Themify</a>.
Author: Themify
Author URI: http://www.themify.me
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Copyright: (c) Themify.
Tags: themify, featured-images, translation-ready, custom-menu, sidebar
Text Domain: themify

---------

DO NOT EDIT THIS FILE.

If you need to overwrite the CSS styling, create a new custom_style.css
in the theme folder and it will automatically load in the <head>.

*/

/*----------------------------------------------------------------------------------
TABLE OF CONTENT

1.  Reset
2.  General Styling (default font, color, lists, headings, form elements, etc.)
3.  Structure (page width & layout containers)
4.  Grid (column width)
5.  Header (logo, tagline, social widget, search form, main menu)
6.  Page (page title, author page, pagination)
7.  Post (post layouts & styling, comments, post navigation)
    7.1 Portfolio Post Type
8.  Sidebar
    8.1 Widget Styles
9.  Footer
10. Builder Styling
11. WordPress Formatting
12. Gallery
13. Clear & Alignment
1
----*/

/************************************************************************************
1. RESET
*************************************************************************************/
html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object,
a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,
strong, sub, sup, tt, var, legend, fieldset, figure {
	margin: 0;
	padding: 0;
}

img, fieldset {
	border: 0;
}

/* set img max-width */
img {
	max-width: 100%;
	height: auto;
}
/* ie 8 img max-width */
.ie8 img { width: auto;}

/* set html5 elements to block */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

/* audio */
audio {
	max-width: 100%;
}

/* iframes and objects max-width (for embed media) */
iframe, object, embed {
	max-width: 100%;
}

/************************************************************************************
2. GENERAL STYLING
*************************************************************************************/
body {
	font: 1.05em/1.85em 'Raleway', "Arial", sans-serif;
	word-wrap: break-word;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
a {
	text-decoration: none;
	outline: none;
	color: #ed1e24;
}
a:hover {
	text-decoration: underline;
}
p {
	margin: 0;
	padding: 0 0 2.3em;
}
small {
	font-size: 87%;
}
blockquote {
	font-size: 1.2em;
	line-height: 1.4em;
	padding: .8em 2em 1em;
	margin: 0 0 1.2em;
	position: relative;
}
blockquote:before {
	content: '\201C';
	font-size: 3.3em;
	position: absolute;
	margin-left: -.5em;
	margin-top: .2em;
}
ins {
	text-decoration: none;
}

/* LIST
================================================ */
ul, ol {
	margin: 0 0 1.4em 1.6em;
	padding: 0;
}
li {
	margin: 0 0 1em 0;
	padding: 0;
}

/* HEADINGS
================================================ */
h1, h2, h3, h4, h5, h6 {
	line-height: 1.4em;
	margin: 0 0 .4em;
	word-wrap: normal;
	font-weight: normal;
}
h1 {
	font-size: 3.2em;
	font-family: 'Raleway', sans-serif;
	letter-spacing: .1em;
	text-transform: uppercase;
}
h2 {
	font-size: 2.9em;
	font-family: 'Sorts Mill Goudy', serif;
	letter-spacing: -.035em;
	margin: 0 0 .8em;
}
h3 {
	font-size: 1.6em;
	font-family: 'Sorts Mill Goudy', serif;
	margin: 0 0 .8em;
	line-height: 1.6em;
	letter-spacing: -.01em;
}
h4 {
	font-size: 1.3em;
	letter-spacing: .1em;
	line-height: 1.6em;
	margin: .7em 0 1em;
	text-transform: uppercase;
	font-weight: bold;
}
h5 {
	font-size: 1.3em;
	line-height: 1.7em;
}
h6 {
	font-size: 1.1em;
}

/* FORM
================================================ */
/* form input */
input, textarea, select, input[type=search], button {
	font-size: 100%;
	font-family: inherit;
	max-width: 100%;
}
textarea, input[type=text], input[type=password], input[type=search], input[type=email], input[type=url], input[type=number], input[type=tel], input[type=date], input[type=datetime], input[type=datetime-local], input[type=month], input[type=time], input[type=week] {
	border: 1px solid #bdbdbd;
	padding: .7em .5em;
	margin: 0 1.15em .4em 0;
	max-width: 100%;
	-webkit-appearance: none;
	color: #5b6270;
}
input[type=text], input[type=password], input[type=search], input[type=email], input[type=url], input[type=tel] {
	max-width: 24.3em;
	width: 100%;
}
input[type=number] {
	width: 7em;
}

/* text area */
textarea {
	width: 100%;
	min-height: 13.5em;
	margin: 0;
}

select {
	padding: .7em;
}
/* form input:focus */
textarea:focus, input[type=text]:focus, input[type=password]:focus, input[type=search]:focus, input[type=email]:focus, input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus, input[type=date]:focus, input[type=datetime]:focus, input[type=datetime-local]:focus, input[type=month]:focus, input[type=time]:focus, input[type=week]:focus {
	outline: none;
}

/* form button */
input[type=reset], input[type=submit], button {
	background-color: #ed1e24;
	color: #fff;
	border: none;
	padding: .7em 1.4em;
	cursor: pointer;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-family: 'Raleway', sans-serif;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: .065em;
	-webkit-appearance: none;
}

/* form input:hover */
input[type=reset]:hover,
input[type=submit]:hover,
button:hover {
	background-color: #000;
	color: #fff;
}

/************************************************************************************
3. STRUCTURE
*************************************************************************************/
/* set general layout containers box-sizing */
img, textarea, input, #pagewrap, .pagewidth, #headerwrap, #header, #main-nav, #main-nav ul a, .sidemenu, .header-bar, #body, #layout, #content, .post, .post-content, .author-box, .post-nav, .post-nav .prev, .post-nav .next, .pagenav, #sidebar, .widget, #footerwrap, #footer, .col4-1, .col4-2, .col4-3, .col3-1, .col3-2, .col2-1 {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#pagewrap {
	padding-top: 470px; /* required for absolute position headerwrap */
}
.header-none #pagewrap {
	padding-top: 0 !important; /* no padding-top when header is excluded */
}

/* main page width */
.pagewidth,
.full_width .themify_builder_row .row_inner {
	width: 1160px;
	max-width: 100%;
	margin: 0 auto;
}
.full_width .themify_builder_row.fullwidth .row_inner {
	width: 100%;
}

/* body (middle container) */
#body {
	max-width: 100%;
	clear: both;
}

/* admin-bar */
.admin-bar #headerwrap,
.admin-bar #headerwrap.fixed-header {
	top: 32px;
}

/* content */
#content {
	width: 67.6%;
	float: left;
	padding: 5.75% 0;
}
.sidebar-none #content {
	width: 100%;
	float: none;
}

/* sidebar */
#sidebar {
	width: 25.9%;
	float: right;
	padding: 5.75% 0 10%;
	font-size: .95em;
}
#sidebar .secondary {
	width: 47%;
}

/* full_width content */
.full_width #layout {
	width: 100%;
	max-width: 100%;
}
.full_width #content {
	padding: 0;
	width: auto;
	max-width: 100%;
	float: none;
}
.full_width #sidebar {
	width: auto;
	float: none;
}

/* sidebar left */
.sidebar-left #content {
	float: right;
}
.sidebar-left #sidebar {
	float: left;
}

/************************************************************************************
4. GRID
*************************************************************************************/
.col4-1,
.col4-2,
.col4-3,
.col3-1,
.col3-2,
.col2-1 {
	margin-left: 3.2%;
	float: left;
}
.col4-1 {
	width: 22.6%;
}
.col4-2, .col2-1 {
	width: 48.4%;
}
.col4-3 {
	width: 74.2%;
}
.col3-1 {
	width: 31.2%;
}
.col3-2 {
	width: 65.6%;
}
.col.first,
.col4-1.first,
.col4-2.first,
.col4-3.first,
.col3-1.first,
.col3-2.first,
.col2-1.first {
	margin-left: 0;
	clear: left;
}

/************************************************************************************
5. HEADER
*************************************************************************************/
#headerwrap {
	border-bottom: 1px solid rgba(0,0,0,.1);
	position: absolute;
	width: 100%;
	min-height: 55px;
	z-index: 999;
	top: 0;
	left: 0;
}
#header {
	position: relative;
	text-align: center;
	padding: 2em 0;
	overflow: visible; /* required to prevent menu dropdown hidden */
	z-index: 1;
}
.iphone #headerwrap {
	background-attachment: scroll !important;
}
/* header widget */
.header-widget {
	clear: both;
	font-size: .9em;
	height: 100%;
}
.header-widget .widget {
	margin: 2.5em 0 2em;
}
.header-widget .widgettitle {
	margin: 0 0 .8em;
	font-size: 1.1em;
	color: inherit;
}

/* site logo */
#site-logo {
	margin: .5em auto .4em;
	padding: 0;
	line-height: 1em;
	font-weight: 300;
	font-size: 3em;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: .055em;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
#site-logo a {
	text-decoration: none;
	color: #000;
}
#site-logo a:hover {
	text-decoration: none;
}

/* site description */
#site-description {
	margin: 0 0 1.8em;
	padding: 0;
	line-height: 110%;
	font-size: 1em;
	font-style: italic;
	font-family: 'Sorts Mill Goudy', serif;
	letter-spacing: .035em;
	color: #959595;
}
#site-description p {
	padding: 0;
}

/* social widget */
#headerwrap .social-widget strong {
	display: none;
}
.social-widget {
	display: inline-block;
	margin: 0 0 2em 2.7em;
	vertical-align: middle;
}
.social-widget a {
	text-decoration: none;
	color: inherit;
}
.social-widget a:hover {
	text-decoration: none;
}
.social-links .icon-medium i {
	border-radius: 100%;
	padding: .25em;
	margin-right: .25em;
	width: 1.1em;
	height: 1.1em;
	line-height: 1.1em;
}
.social-widget .widget {
	display: inline-block;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
}
.social-widget .widget div {
	display: inline;
}
.social-widget .widgettitle {
	width: auto;
	font-weight: bold;
	font-size: 100%;
	font-family: inherit;
	text-transform: none;
	letter-spacing: 0;
	position: static;
	display: inline-block;
	vertical-align: middle;
	margin: 0 .5em 0 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
}
.social-widget ul {
	margin: 6px 0 0 !important;
	padding: 0;
	display: inline;
}
.social-widget ul li {
	padding: 0 2px 5px 0;
	margin: 0 7px 2px 0;
	display: inline-block;
	border: none !important;
	clear: none;
	line-height: 100%;
}
.social-widget li img {
	vertical-align: middle;
	margin-top: -3px;
}
.social-links li i {
	border-radius: 100%;
	padding: .25em;
	margin-right: .25em;
	width: 1.1em;
	height: 1.1em;
	line-height: 1.1em;
}
/* rss */
.social-widget div.rss {
	margin-right: 3px;
	display: inline-block;
	vertical-align: middle;
}
.social-widget div.rss a {
	display: inline-block;
	font-size: 20px;
	color: inherit;
	border-radius: 100%;
	padding: .3em;
	line-height: 1.0em;
	height: 1.0em;
	width: 1.0em;
	text-align: center;
}
.social-widget div.rss a:before {
	content: "\f09e";
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	text-decoration: inherit;
}

/* search form */
#searchform-wrap {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 2.25em .2em;
}
#headerwrap #searchform {
	position: relative;
	margin: 0 0 0 3px;
	z-index: 1;
}
#headerwrap #searchform #s {
	background: transparent;
	border-radius: 5em;
	border: none;
	color: #fff;
	margin: 0;
	padding: 6px 35px 6px;
	width: 1px;
	height: 34px;
	-webkit-transition: width .7s, background .7s;
	-moz-transition: width .7s, background .7s;
	transition: width .7s, background .7s;
}
#headerwrap #searchform #s:focus,
#headerwrap #searchform #s:hover,
#headerwrap #searchform .icon-search:hover + #s {
	width: 140px;
	background-color: #000;
}
#headerwrap #searchform .icon-search:before {
	content: "\f002";
	color: #fff;
	font-family: FontAwesome;
	font-size: 19px;
	font-style: normal;
	background-color: #000;
	border-radius: 100%;
	padding: .3em;
	position: absolute;
	z-index: 1;
	width: 1.1em;
	height: 1.1em;
	line-height: 1.2em;
	margin: 1px 0 0 0;
}

/* main navigation */
#main-nav {
	margin: 0;
	padding: 0;
}
#main-nav li {
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
	display: inline-block;
}

#main-nav li.themify-widget-menu {
	min-width: 200px;
}

/* main level link */
#main-nav a {
	color: #2d2d2d;
	display: block;
	padding: .6em .7em;
	margin: 0;
	text-decoration: none;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
/* main level link :hover */
#main-nav a:hover {
	color: #ed1e24;
}

/* current link */
#main-nav .current_page_item > a,
#main-nav .current-menu-item > a {
	color: #ed1e24;
}

/* sub-levels link */
#main-nav ul a {
	color: #484848;
	font-size: 1em;
	line-height: 1.45em;
	font-weight: normal;
	text-transform: none;
	text-align: left;
	padding: 0.5em 1.25em .5em 1.6em;
	margin: 0;
	display: block;
	width: 238px;
	background: none;
	border: none;
	text-shadow: none;
	border-radius: 0;
	box-shadow: none;
}
/* sub-levels link :hover */
#main-nav ul a:hover {
	color: #ed1e24;
}

/* dropdown ul */
#main-nav li:not(.themify-widget-menu) > ul {
	margin: 0;
	padding: .6em 0;
	list-style: none;
	background-color: #fff;
	border: 1px solid #ccc;
	position: absolute;
	z-index: 100;
	display: none;
	left: -.3em;
	top: 100%;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	transition: all .2s;
}
#main-nav ul li {
	background: none;
	padding: 0;
	margin: 0;
	float: none;
}
/* sub-levels dropdown */
#main-nav li:not(.themify-widget-menu) > ul ul {
	left: 100%;
	top: -.65em;
}
/* show dropdown ul */
.no-touch #main-nav li:hover > ul {
	display: block;
}

/* Edge Menu */
#main-nav li.edge > ul {
	left: auto;
    right: 0;
}
#main-nav ul li.edge > ul {
	left: auto;
    right: 100%;
}

/* mega menu */
#main-nav {
	position: relative;
}
#main-nav .has-mega-sub-menu,
#main-nav .has-mega-column,
#main-nav .has-mega-column ul {
	position: static;
}
#main-nav .has-mega-sub-menu .mega-sub-menu,
#main-nav .has-mega-column > .sub-menu {
	background-color: #fff;
	box-shadow: 0 4px 8px rgba(0,0,0,.13), inset 0px 16px 9px -13px rgba(0,0,0,0.13);
	display: none;
	margin: 0 27px;
	list-style: none;
	padding: 5px;
	po