/* -----------------------------------------------------------------------
    Responsive
-------------------------------------------------------------------------- */

@media only screen and (min-width: 1171px) and (max-width: 1299px) {
	
	.overlay-text { bottom: 20px; width: 270px; height: 270px; }
	
}

@media only screen and (min-width: 980px) and (max-width: 1170px) {
	
	.container-1170 { max-width: 980px; }
	
	#masthead { position: relative; background-color: #fff; overflow: hidden; }
	
	.overlay-text { bottom: 35px; }
	
	#sidebar-right-sticky-wrapper.is-sticky, #sidebar-right.col-one-fourth { width: 200px !important; }
	
	.teaser h3 { font-size: 26px; line-height: 32px; }
	
	#footer-contact { width: 28.63%; }
	#footer-menu { width: 67.33%; }
	
}

@media only screen and (max-width: 979px) {
	
	.container-1170 { width: 720px; }
	
	#masthead { position: relative; background-color: #fff; overflow: hidden; }
	
	#header-logo { position: absolute; z-index: 10; }
	
	#header-menus { width: 100%; }
	#primary-nav,
	#secondary-nav nav,
	#menu-mobile-navigation { display: none; }
	#secondary-nav { margin-top: 12px; }
	#header-social { margin: 0; }
    #mobile-nav { display: block; width: 100%; position: relative; z-index: 5; }
    .slicknav_menu { position: relative; z-index: 10000; }
	.slicknav_btn { position: relative; display: block; overflow: hidden; cursor: pointer; text-decoration: none; padding: 15px 0 15px 15px; margin: 32px 0 0 0; font-family: 'Lato', sans-serif; font-size: 22px; line-height: 26px; font-weight: 700; float: right; clear: both; }
	.slicknav_btn.slicknav_collapsed { margin-bottom: 0; }
	.slicknav_menu { background: transparent; *zoom: 1; margin-bottom: 0; }
	.slicknav_menutxt, .slicknav_icon { display: block; float: left; }
	.slicknav_menutxt { color: #000; }
	.slicknav_icon { float: left; margin: 5px 0 0 10px; }
	.slicknav_icon-bar { background-color: #000; display: block; width: 1.1em; height: 0.15em; }
	.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar { margin-top: 0.16em }
	.slicknav_nav { clear: both; margin: 0 0 30px 0; padding: 0; }
	.slicknav_nav, .slicknav_nav ul { list-style: none; overflow: hidden; }
	.slicknav_nav ul { padding: 0; margin: 0; list-style: none; }
	.slicknav_nav li { display: block; margin: 0; padding: 0; font-size: 18px; line-height: 22px; border-bottom: 1px solid #fff; }
	.slicknav_nav li:last-child { border-bottom: none; }
	.slicknav_nav .slicknav_arrow { font-size: 0.8em; margin: 0 0 0 0.4em; }
	.slicknav_nav .slicknav_item { display: block; cursor: pointer; padding: 13px 20px; }
	.slicknav_nav a { display: block; padding: 13px 20px; text-decoration: none; background: #ddd; color: #000; }
	.slicknav_nav .slicknav_item a { display: inline; padding: 0; margin: 0; }
	.slicknav_nav > li:hover > a,
	.slicknav_nav a:hover,
	.slicknav_nav .slicknav_arrow:hover,
	.slicknav_nav .slicknav_item:hover,
	.slicknav_nav > li.current-menu-item > a,
	.slicknav_nav > li.current-menu-parent > a { background-color: #3e9fd9; color: #fff; }
	.slicknav_nav > li.current-menu-item > a, .slicknav_nav > li.current-menu-parent > a { font-weight: 700; }
	.slicknav_nav .slicknav_txtnode { margin-left: 15px; }
	.slicknav_menu:before,
	.slicknav_menu:after { content: " "; display: table; }
	.slicknav_menu:after { clear: both }
	
	#page-content { width: 100%; }
	
	#sidebar-right { position: relative !important; top: 0 !important; }
    #sidebar-right-sticky-wrapper, #sidebar-right-sticky-wrapper.is-sticky { width: 100% !important; float: none; }
	#sidebar-apps { max-width: 280px; }
	
}

@media only screen and (min-width: 768px) and (max-width: 979px) {
	
	h3 { font-size: 28px; line-height: 34px; }
	.btn { font-size: 14px; }
	.kicker { font-size: 20px; line-height: 28px; }
	
	#teaser-3 { clear: both; }
	.teaser { width: 44%; margin-right: 6%; float: left; margin-bottom: 40px !important; }
	.teaser.tablet-last { margin-right: 0; clear: right; }
	
	.overlay-text { width: 250px; height: 250px; bottom: 20px; font-size: 16px; line-height: 22px; }
	
	#sidebar-right.col-one-fourth { width: 50% !important; float: left; }
	
	.page-id-24 #page-content,
	.page-id-24 #page-content div { margin-bottom: 0; }
	
	#global-footer { padding-bottom: 100px; }
	#global-footer .container-1170 { position: relative; }
	#footer-contact { width: 28.63%; }
	#footer-menu { width: 67.33%; position: static; }
	#footer-nav { width: 100%; }
	#footer-logo { position: absolute; left: 0; bottom: -70px; width: 100%; }
	#footer-logo img { display: block; margin: 0 auto; width: 90px; }
	
}

@media only screen and (max-width: 767px) {

    .col-full,
    .col-half,
    .col-one-third,
    .col-two-third,
    .col-one-fourth,
    .col-three-fourth,
    .col-one-fifth,
    .col-two-fifth,
    .col-three-fifth,
    .col-four-fifth,
    .col-one-sixth,
    .col-five-sixth { width: 100%; } 

    .col-full,
    .col-half,
    .col-one-third,
    .col-two-third,
    .col-three-fourth,
    .col-one-fourth,
    .col-one-fifth,
    .col-two-fifth,
    .col-three-fifth,
    .col-four-fifth,
    .col-one-sixth,
    .col-five-sixth { margin-right: 0; float: none; }
    
    .col-full,
    .col-half,
    .col-one-third,
    .col-two-third,
    .col-three-fourth,
    .col-one-fourth,
    .col-one-fifth,
    .col-two-fifth,
    .col-three-fifth,
    .col-four-fifth,
    .col-one-sixth,
    .col-five-sixth { margin-bottom: 40px !important; }
	
	.container-1170 { padding: 0; }
	
	.btn { margin: 5px 0 15px 0; font-size: 14px; }
    
    .profile-text { margin-bottom: 20px !important; text-align: center; }
    .profile-image { max-width: 200px; margin: 0 auto 15px auto !important; }
    
    #sidebar-right.col-one-fourth { width: 100% !important; }
    
    #footer-menu { margin-bottom: 0 !important; }
	
	#footer-contact,
	#footer-menu,
	#footer-nav { width: 100%; }
	#footer-logo { width: 100%; clear: both; margin: 30px 0 0 0; }
    
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	
	body { font-size: 16px; line-height: 25px; }
	h1 { font-size: 28px; line-height: 32px; }
	h2 { font-size: 26px; line-height: 30px; }
	h3 { font-size: 22px; line-height: 26px; }
	h4 { font-size: 20px; line-height: 24px; }
	h5 { font-size: 18px; line-height: 22px; }
	.kicker { font-size: 18px; line-height: 26px; }
	
	.container-1170 { width: 440px; }
	.page-section { padding-top: 40px; padding-bottom: 40px; }
	
	.modal-dialog { width: 400px; }
	.modal-header { padding: 20px 30px; }
	.modal-body { padding: 20px 30px; }
	
	.teaser { width: 44%; margin-right: 6%; float: left; }
	.teaser.tablet-last { margin-right: 0; clear: right; }
	.teaser img { max-width: 150px; }
	
	#header-logo img { width: 100px; }
	
	.slicknav_btn { margin-top: 24px; }
	
	.home #hero-header:after { display: none; }
	#hero-header .bx-controls { bottom: 10px; }
	.overlay-text { width: 160px; height: 160px; font-size: 13px; line-height: 18px; bottom: 10px; right: 10px; border-width: 2px; }
	.overlay-text p { margin-bottom: 5px; }
	
	#sb_instagram.sbi_col_3 #sbi_images .sbi_item, #sb_instagram.sbi_col_4 #sbi_images .sbi_item, #sb_instagram.sbi_col_5 #sbi_images .sbi_item, #sb_instagram.sbi_col_6 #sbi_images .sbi_item {
	    width: 50%;
	}
	
	.ui-accordion h3 { font-size: 18px; line-height: 24px; }
	
	#sidebar-apps { width: 50%; }
	#footer-nav li { width: 33.3% }
	
    #back-to-top { right: 15px; bottom: 15px; }
	
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
    
	body { font-size: 15px; line-height: 24px; }
	h1 { font-size: 26px; line-height: 30px; }
	h2 { font-size: 22px; line-height: 28px; }
	h3 { font-size: 20px; line-height: 24px; }
	h4 { font-size: 18px; line-height: 22px; }
	h5 { font-size: 16px; line-height: 20px; }
	.kicker { font-size: 17px; line-height: 25px; }
	
	input[type="text"], input[type="email"], input[type="password"], select, textarea { font-size: 15px; line-height: 21px; }
	
	th, td { padding: 8px; font-size: 14px; line-height: 20px; }
	
	.btn, input[type="submit"] { font-size: 15px; line-height: 20px; padding: 8px 20px; }
	
	.container-1170 { width: 280px; }
	.page-section { padding-top: 40px; padding-bottom: 40px; }
	
	.modal-dialog { width: 90%; }
	.modal-header { padding: 20px; }
	.modal-body { padding: 20px; }
	 
	.teaser { border-bottom: 2px dotted #bbb; padding-bottom: 20px; margin-bottom: 30px !important; } 
	
	#header-logo img { width: 90px; }
	
	.slicknav_btn { margin-top: 15px; }
	
	.slide-overlay { display: none; }
	
	.ui-accordion h3 { font-size: 17px; line-height: 23px; }
	
	#contact-details { font-size: 14px; line-height: 18px; }
    #contact-captcha { overflow: hidden; width: 160px; border-right: 1px solid #d3d3d3; -webkit-border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-topright: 4px; -moz-border-radius-bottomright: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; height: 76px; }
    
    #footer-nav li { width: 50%; font-size: 14px; }
    
    #back-to-top { right: 10px; bottom: 10px; }

}

.visible-phone { display: none !important; }
.visible-tablet { display: none !important; }
.hidden-desktop { display: none !important; }
.visible-desktop { display: inherit !important; }

@media (min-width: 768px) and (max-width: 979px) {
  .hidden-desktop { display: inherit !important; }
  .visible-desktop { display: none !important ; }
  .visible-tablet { display: inherit !important; }
  .hidden-tablet { display: none !important; }
}

@media (max-width: 767px) {
  .hidden-desktop { display: inherit !important; }
  .visible-desktop { display: none !important; }
  .visible-phone { display: inherit !important; }
  .hidden-phone { display: none !important; }
}