html,body { height: 100%; }

body { margin: 0;padding: 0;min-height: 100%;font-family: arial,tahoma,verdana;font-size: 12px;background: #252525;color: #eee;overflow-x: hidden; } 

#outer_container { min-height: 100%;position: relative; }

#page_wrapper { width: 100%; }

.footer_clear { padding-bottom: 100px; }

strong { font-weight: 700; }

a { outline: none;color: #eee;text-decoration: none; }

.clear:after { content: ".";display: block;height: 0;clear: both;visibility: hidden; }

* { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box; }

.page_width { max-width: 1100px;margin-left: auto;margin-right: auto; }

.page_padding { padding-top: 30px;padding-bottom: 40px; }

input, textarea { border-radius: 0; }

h1,h2,h3,h4,h5,h6,p { font-family: 'Lato'; }

h1 { font-size: 36px;letter-spacing: 3px;text-transform: uppercase;line-height: 40px; }
h2 { font-size: 28px;letter-spacing: 2px;line-height: 32px; }
h3 { font-size: 21px;letter-spacing: 1px;line-height: 24px; }


.cfont { font-family: 'Lato'; }

p { font-size: 14px;line-height: 22px;margin-bottom: 18px; }

.mb_small { margin-bottom: 10px; }
.mb_med { margin-bottom: 20px; }
.mb_large { margin-bottom: 30px; }
.mb_vlarge { margin-bottom: 50px; }

.tac { text-align: center; }
.un { text-decoration: underline; }

.large { font-size: 14px;line-height: 20px; }

img { max-width: 100%; }
.block { display: block; }
.iblock { display: inline-block; }


::-webkit-input-placeholder {
   color: #888;opacity: 1;
}

:-moz-placeholder { /* Firefox 18- */
   color: #888;opacity: 1;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #888;opacity: 1;
}

:-ms-input-placeholder {  
   color: #888;opacity: 1;
}


/* layouts */

.block1 { width: 25%; }
.block2 { width: 75%;padding-left: 30px; }

.fl { float: left; }
.fr { float: right; }

.sixty_left { width: 60%;float: left; }
.thirty_right { width: 30%;float: right; }

.seventy_left { width: 70%;float: left; }
.t5_right { width: 25%;float: right; }

.standard_img { display: block;width: 100%;padding-top: 65%;background-size: cover;background-position: center;background-repeat: no-repeat; }
.sq_img { display: block;width: 100%;padding-top: 85%;background-size: cover;background-position: center;background-repeat: no-repeat; }

.ft_img { display: block;width: 100%;padding-top: 75%;background-size: cover;background-position: center;background-repeat: no-repeat; }
.portrait_img { display: block;width: 100%;padding-top: 140%;background-size: cover;background-position: center;background-repeat: no-repeat; }


.standard { display: inline-block;background: #555;padding: 14px 22px;text-transform: uppercase;font-size: 14px;letter-spacing: 2px; }

.cms h1 { margin-bottom: 22px; }
.cms h2 { margin-bottom: 18px; }
.cms h3 { margin-bottom: 16px; }

.cms ul { list-style: disc;margin: 0 0 25px 25px;line-height: 22px;font-size: 14px; }

.cms a { color: #fa0;text-decoration-line: underline;text-decoration-style: dashed; }

/* headers */



/* top */

#top_wrapper { background: #252525; }

#top_logo { padding-top: 30px;padding-bottom: 10px; }
#top_logo img { display: block;margin: 0 auto;max-width: 40%; }

.top_bg { background-image: url('http://www.roymorrisphotography.com/img/logos/top_logo_background.png');background-repeat: no-repeat;background-position: left center;background-size: contain; }

#top_wrapper h1 { text-transform: uppercase;font-size: 15px;color: #888;letter-spacing: 3px;padding-bottom: 25px;line-height: 22px; }

/* portfolio */

#portfolio_wrapper { padding: 30px;background: #333; }

ul.gallery li { float: left;width: 25%;padding: 0 10px 20px; }
ul.gallery li a { display: block;width: 100%;padding-top: 70%;border: 1px solid #aaa;background-size: cover;background-position: center;background-repeat: no-repeat;box-shadow: 0;transition: all 0.2s ease; }
ul.gallery li a:hover { transform: scale(1.2);box-shadow: 0 0 30px #000; }

.fullbackground { position: fixed;width: 100%;height: 100%;top: 0;left: 0;right: 0;bottom: 0;background-size: cover;background-repeat: no-repeat;background-position: center;z-index: -1;filter: grayscale(90%);opacity: 0.3; }


/* slider */

/* full screen slider */

.slider_wrapper,.slider_outer .owl-stage-outer,.slider_outer .owl-stage,.slider_outer .owl-item { height: 100%; }

.slide { width: 100%;height: 100%;position: relative;display: block;background-color: #000; }
.slide h2 { position: absolute;left: 50%;transform: translate(-50%, 0%);bottom: 10%;z-index: 2;font-size: 24px;background: url('../img/overlay70.png');padding: 15px 30px 15px 30px;text-transform: uppercase; }

.slide_block { background-position: center;background-repeat: no-repeat;height: 100%; }

/* generic slide */

.slide_block_generic { background-size: cover; }
.slide_block_portrait { background-size: contain;}

.slidenav { position: absolute;top: 50%;font-size: 32px;color: #fff;background: #222;padding: 4px 14px;border-radius: 4px; }

.prevslide { left: 1%; }
.nextslide { right: 1%; }


/* news */

.small_left { width: 25%;float: left; }
.small_right { width: 75%;float: right;padding-left: 24px; }
.small_right p { font-size: 13px;line-height: 18px;color: #aaa; }

.news_date { font-size: 13px;text-transform: uppercase;color: #aaa;letter-spacing: 2px; }
.news_mainimg { display: block;margin: 0 auto 18px; }

ul.newsimgs li { float: left;width: 25%;padding: 6px; }


.othernews h3 { font-size: 18px;line-height: 24px;border-bottom: 1px solid #3f3f3f;padding-bottom: 10px }

ul.newsoptions { list-style: disc;margin: 0 0 30px 25px;font-size: 14px;line-height: 22px; }
ul.newsoptions li { margin-bottom: 6px; }
ul.newsoptions li span { display: block;color: #888;padding-top: 4px; }

.about_img { float: right;width: 25%;display: block;margin: 0 0 15px 30px; }


/* credits */

.credit_row { padding: 15px;margin-bottom: 1px;font-size: 14px;line-height: 22px; }

.alt1 { background: #444; }
.alt2 { background: #555; }

.credit_row .b1 { width: 30%;float: left; }
.credit_row .b2 { width: 10%;float: left;padding: 0 20px; }
.credit_row .b3 { width: 25%;float: left; }
.credit_row .b4 { width: 25%;float: left;padding: 0 20px; }
.credit_row .b5 { width: 10%;float: left;text-align: center; }


/* contact */

#contact_left { float: left;width: 65%; }

.formrow p.left { margin: 0;float: left;width: 28%;font-size: 14px;padding-top: 9px; }
.formrow p.right { margin: 0;float: right;width: 70%; }

.sb_ml { margin-left: 30%; }

#contact_right { float: right;width: 30%;letter-spacing: 1px; }
.contact_block { margin: 0 0 25px;padding: 20px;background: #333;text-align: center; }
.contact_block i { font-size: 60px;color: #999;margin: 0 10px; }
.contact_block h3 { font-size: 14px;margin: 0 0 6px; }
.contact_block h4 { font-size: 18px;padding: 10px 0 0 0; }
.contact_block h4 a { border-bottom: 1px dashed #555;text-decoration: none; }
.contact_block a i.fb { color: #3b5998;font-size: 40px;margin: 10px 10px 0 10px; }
.contact_block a i.tw { color: #4099ff;font-size: 40px; }

.errors { margin: 0 0 25px 0;font-size: 14px;list-style: disc;padding: 0 0 0 30px;color: #f00;line-height: 22px; }

.textbox { border: 1px solid #444;padding: 10px;background: #333;font-size: 14px;width: 100%;font-family: 'Lato';color: #fff; }
.form_button { display: inline-block;border: 0;cursor: pointer;background: #555;color: #fff;font-size: 14px;text-decoration: none;padding: 8px 18px; }
.form_button i { margin-right: 8px; }


/* navigation */

a#mobile_menu { display: none; }

.close_mobile_menu { display: none;position: absolute;right: 15px;top: 15px;color: #fff;font-size: 40px; }

.fw_open { margin-left: 0 !important; }

#nav_wrapper { border-top: 1px solid #3f3f3f;border-bottom: 1px solid #3f3f3f; }

ul#navigation { text-align: center; }
ul#navigation li { display: inline-block;position: relative; }
ul#navigation li a { display: inline-block;padding: 14px 22px;color: #eee;font-size: 14px;letter-spacing: 1px;transition: all 0.2s ease; }
ul#navigation li a:hover { background: #555; }
ul#navigation li a.on { background: #555; }

ul#navigation li:hover > a { background-color: #555; }
ul#navigation li ul { position: absolute;left: 0;display: none;z-index: 999;text-align: left;box-shadow: 0 5px 5px #000; }

ul#navigation li ul li { display: block;width: 300px;background: none; }

ul#navigation li ul li a { background: #555;display: block; }
ul#navigation li ul li a:hover { background: #444; }


/* footer */

#footer_wrapper { border-top: 1px solid #3f3f3f;position: absolute;bottom: 0;left: 0;width: 100%;font-size: 11px;line-height: 16px;color: #777;background: #252525; }
#footer_inner { padding: 30px 0; }
#footer_wrapper .contact { font-size: 16px;letter-spacing: 3px;color: #aaa; }
#footer_wrapper .contact span { display: inline-block;padding: 0 20px; }
#footer_wrapper .contact a { color: #fff; }