/*=====================================================================================*/
/*       1. RESET CSS                                                                  */
/*=====================================================================================*/
@media (max-width: 480px) {
    #welcome_text {
      font-size: 28px;
    }
    div#intro h1 {
      font-size: 16px;
    }
    /* Services - ensure vertical stacking on mobile */
    div#service_elements { width: 100%; max-width: 100%; }
    div#service_elements ul { width: 100%; padding: 0; margin: 0; list-style: none; }
    div#service_elements ul li { width: 100%; max-width: 90%; float: none !important; margin: 0 auto 40px auto !important; display: block; clear: both !important; }
    div#service_elements ul li.ls { clear: none !important; }
    .l, .ll { margin-left: 0 !important; }
  }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body { width: 100%; height: 100%; font-weight: normal; line-height: 23px; font-family: 'Open Sans', sans-serif; color: #666; overflow-x:hidden; padding-top: 70px;}
a { cursor: pointer; text-decoration: none; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
:focus { outline: 0; }
ins    { text-decoration: none; }
del    { text-decoration: line-through; }
table  { border-collapse: collapse; border-spacing: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
.clear   { clear: both; }
.absolute { position: absolute; }
.relative { position: relative; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }
.content { width: 960px; margin: 0 auto; padding-top: 60px; }
.title { font-size: 40px; font-family: 'Oswald', sans-serif; text-align: center; }
.loading { height: 100px; background: url('images/loading.gif') center center no-repeat; }

/*-- Notifications --*/
.error, .success, .alert, .remember         { display: block; position: relative; width: 98%; margin: 0 auto; padding-top: 20px; padding-bottom: 20px; min-height: 50px; }
.error p, .success p, .alert p, .remember p { line-height: 20px; padding-right: 35px; padding-left: 70px; font-size: 12px; }
.error a, .success a, .alert a, .remember a { display: block; width: 10px; height: 10px; position: absolute; top: 10px; right: 10px; font-size: 14px; font-weight: bold; }

.error    { background: #FF9393 url('images/error.png') 20px 20px no-repeat; border: 1px solid #990000; color: #4A0000; }
.success  { background: #D0F993 url('images/success.png') 20px 20px no-repeat; border: 1px solid #003300; color: #003300; }
.alert    { background: #FFF38C url('images/alert.png') 20px 20px no-repeat; border: 1px solid #D9AD00; color: #886C00; }
.remember { background: #A8DCFF url('images/remember.png') 20px 20px no-repeat; border: 1px solid #0F9FFF; color: #00609F; }

.error a { color: #4A0000; }
.success a { color: #003300; }
.alert a { color: #886C00; }
.remember a { color:  #00609F; }

/*-- ToolTips --*/
#tiptip_holder { display: none; position: absolute; top: 0; left: 0; z-index: 99999; }
#tiptip_holder.tip_top { padding-bottom: 5px; }
#tiptip_holder.tip_bottom { padding-top: 5px; }
#tiptip_holder.tip_right { padding-left: 5px; }
#tiptip_holder.tip_left { padding-right: 5px; }
#tiptip_content { font-size: 11px; color: #fff; text-shadow: 0 0 2px #000; padding: 4px 8px; border: 1px solid rgba(255,255,255,0.25); background-color: rgb(25,25,25); background-color: rgba(25,25,25,0.92); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000)); border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; box-shadow: 0 0 3px #555; -webkit-box-shadow: 0 0 3px #555; -moz-box-shadow: 0 0 3px #555; }
#tiptip_arrow, #tiptip_arrow_inner { position: absolute; border-color: transparent; border-style: solid; border-width: 6px;  height: 0; width: 0; }
#tiptip_holder.tip_top #tiptip_arrow { border-top-color: #fff; border-top-color: rgba(255,255,255,0.35); }
#tiptip_holder.tip_bottom #tiptip_arrow { border-bottom-color: #fff; border-bottom-color: rgba(255,255,255,0.35); }
#tiptip_holder.tip_right #tiptip_arrow { border-right-color: #fff; border-right-color: rgba(255,255,255,0.35); }
#tiptip_holder.tip_left #tiptip_arrow { border-left-color: #fff; border-left-color: rgba(255,255,255,0.35); }
#tiptip_holder.tip_top #tiptip_arrow_inner { margin-top: -7px; margin-left: -6px; border-top-color: rgb(25,25,25); border-top-color: rgba(25,25,25,0.92); }
#tiptip_holder.tip_bottom #tiptip_arrow_inner { margin-top: -5px; margin-left: -6px; border-bottom-color: rgb(25,25,25); border-bottom-color: rgba(25,25,25,0.92); }
#tiptip_holder.tip_right #tiptip_arrow_inner { margin-top: -6px; margin-left: -5px; border-right-color: rgb(25,25,25); border-right-color: rgba(25,25,25,0.92); }
#tiptip_holder.tip_left #tiptip_arrow_inner { margin-top: -6px; margin-left: -7px; border-left-color: rgb(25,25,25); border-left-color: rgba(25,25,25,0.92); }
@media screen and (-webkit-min-device-pixel-ratio:0) { #tiptip_content { padding: 4px 8px 5px 8px; background-color: rgba(45,45,45,0.88); }
                                                       #tiptip_holder.tip_bottom #tiptip_arrow_inner { border-bottom-color: rgba(45,45,45,0.88); }
	                                               #tiptip_holder.tip_top #tiptip_arrow_inner { border-top-color: rgba(20,20,20,0.92); }
}

#qLpercentage { font-family: 'Quicksand', sans-serif; }


/*=====================================================================================*/
/*       . HEADER                                                                      */
/*=====================================================================================*/

#header { width: 100%; padding-bottom: 10px; background: #FFF; }

/*-- 1. Navigation --*/
/* New Responsive Navbar */
.navbar {
    background: url(images/topbg.png) no-repeat center center, #2596be;
    background-size: cover;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100006;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

.navbar-logo a {
    display: block;
    text-decoration: none;
}

.navbar-logo img {
    height: 50px;
    width: auto;
    max-width: 200px;
}

.navbar-logo a:hover {
    opacity: 0.8;
}

.navbar-toggle {
    display: none;
    flex-direction: column;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
}

.hamburger {
    width: 25px;
    height: 3px;
    background-color: #FFF;
    margin: 3px 0;
    transition: 0.3s;
}

.navbar-menu {
    display: flex;
}

.navbar-nav {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.nav-item {
    position: relative;
    margin: 0 5px;
}

.nav-link {
    display: block;
    padding: 0 20px;
    color: #FFF;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.3s ease;
    height: 70px;
    line-height: 70px;
}

.nav-link:hover,
.nav-item.active .nav-link {
    color: #000;
}

/* Dropdown styles */
.dropdown {
    position: relative;
}

/* Desktop dropdown styles only */
@media screen and (min-width: 769px) {
    .dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;
        background: #FFF;
        min-width: 220px;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        border-radius: 4px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: all 0.3s ease;
        z-index: 1000;
        border: 1px solid #e0e0e0;
        list-style: none;
        padding: 0;
        margin: 0;
    }
}

/* Desktop hover only */
@media screen and (min-width: 769px) {
    .dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

.dropdown-menu li {
    border-bottom: 1px solid #f0f0f0;
}

.dropdown-menu li:last-child {
    border-bottom: none;
}

.dropdown-menu li a {
    display: block;
    padding: 12px 20px;
    color: #666;
    font-size: 14px;
    font-weight: normal;
    text-decoration: none;
    transition: all 0.3s ease;
    height: auto;
    line-height: normal;
}

.dropdown-menu li a:hover {
    background: #2596be;
    color: #FFF;
}

/* Mobile styles */
@media screen and (max-width: 768px) {
    .navbar-toggle {
        display: flex;
    }
    
    .navbar-menu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: rgba(37, 150, 190, 0.95);
        backdrop-filter: blur(10px);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-20px);
        transition: all 0.3s ease;
        padding: 20px 0;
        max-height: none;
        overflow: visible;
    }
    
    .navbar-menu.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    
    .navbar-nav {
        flex-direction: column;
        width: 100%;
    }
    
    .nav-item {
        margin: 0;
        width: 100%;
        text-align: center;
    }
    
    .nav-link {
        padding: 15px 20px;
        height: auto;
        line-height: normal;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .nav-item:last-child .nav-link {
        border-bottom: none;
    }
    
    /* Mobile dropdown */
    .dropdown-menu {
        position: static;
        opacity: 0;
        visibility: hidden;
        transform: none;
        background: rgba(0,0,0,0.1);
        box-shadow: none;
        border: none;
        border-radius: 0;
        max-height: 0;
        overflow: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    
    .dropdown.active .dropdown-menu {
        opacity: 1;
        visibility: visible;
        max-height: 1000px;
        overflow: visible;
    }
    
    .dropdown-menu li a {
        padding: 10px 40px;
        color: rgba(255,255,255,0.8);
        font-size: 14px;
    }
    
    .dropdown-menu li a:hover {
        background: rgba(255,255,255,0.1);
        color: #FFF;
    }
    
    /* Hamburger animation */
    .navbar-toggle.active .hamburger:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .navbar-toggle.active .hamburger:nth-child(2) {
        opacity: 0;
    }
    
    .navbar-toggle.active .hamburger:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
    }
}

/* Old mobile menu styles removed - using new navbar */

/* Old mobile menu styles removed - using new navbar */

select.mobile_menu { display: none; }

/*--- 2. Logo --*/
div#logo { margin-bottom: 60px; text-align: center; }

/*-- 3. Intro --*/
div#intro { margin-bottom: 20px; margin-top: 20px; text-align: center; }

div#intro h1 {
    margin-bottom: 10px;
    font-size: clamp(16px, 4vw, 20px); /* responsywne dopasowanie */
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    color: #3ea1bd;
    text-align: center;
    padding: 0 10px; /* zapobiega przycinaniu tekstu */
    line-height: 1.3em; /* poprawa czytelności */
  }
  #welcome_text {
    margin-bottom: 22px;
    font-size: clamp(24px, 6vw, 50px);
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    color: #3ea1bd;
  }
div#intro p { line-height: 28px; font-family: 'Open Sans', sans-serif; font-size: 18px; color: #666; }
div#intro p strong { color: #000; }

/*-- 4. Slider --*/
#slider_wrapper { width: 960px; height: 400px; margin: 0 auto; }
#slider a:active {outline: none;} .slides, .flex-control-nav, .flex-direction-nav {margin: 0; padding: 0; list-style: none;}
#slider {width: 100%; margin: 0; padding: 0;}
#slider .slides > li {display: none;}
#slider .slides img {max-width: 100%; display: block;}
.flex-pauseplay span {text-transform: capitalize;}
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}
.no-js .slides > li:first-child {display: block;}
#slider {background: #fff; position: relative; zoom: 1;}
#slider .slides {zoom: 1;}
#slider .slides > li {position: relative;}
.flex-caption {width: 100%; height: 40px; line-height: 40px; position: absolute; left: 0%; bottom: 0%; background: #000; color: #FFF; font-size: 14px; font-family: 'Oswald', sans-serif; text-align: center; }
.flex-direction-nav li a { width: 56px; height: 120px; background: transparent; position: absolute; top: 130px; cursor: pointer; text-indent: -9999px; }
#slider:hover .flex-direction-nav li .next { right: 0px; background: url('images/slider_next.png') no-repeat; }
#slider:hover .flex-direction-nav li .prev { left: 0px; background: url('images/slider_prev.png') no-repeat; }
.flex-direction-nav li .disabled {opacity: 0.3; filter:alpha(opacity=30); cursor: default;}
.flex-control-nav {width: 100%; position: absolute; bottom: 5px; text-align: center;}
.flex-control-nav li {margin: 0 0 0 5px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-nav li:first-child {margin: 0;}
.flex-control-nav li a {width: 13px; height: 13px; display: block; background: #272727; cursor: pointer; text-indent: -9999px;}
.flex-control-nav li a:hover, .flex-control-nav li a.active { width: 11px; height: 11px; border: 1px solid #272727; background: #FFF; }
/* Static Video */
#video_wrapper { height: 0; position: relative; margin-bottom: 50px; padding-bottom: 56.25%; overflow: hidden; }
#video_wrapper iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }


/*=====================================================================================*/
/*       . PORTFOLIO                                                                   */
/*=====================================================================================*/

/*-- 1. General --*/
div#portfolio { padding-top: 50px; background: #bfbfbf; }
div#portfolio_title { margin-bottom: 33px; }
div#portfolio_title h2 { color: #FFF; }

/*-- 2. Filter --*/
div#filter { border-top: 1px solid #3ea1bd; display: flex; justify-content: center; }
div#filter_wrapper { float: none; position: relative; margin-bottom: 15px; left: auto; }
ul#portfolioFilter { line-height: 18px; float: none; position: relative; left: auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 0; padding: 0; list-style: none; }
ul#portfolioFilter li { float: none; height: 46px; line-height: 46px; padding-right: 15px; padding-left: 15px; }
ul#portfolioFilter li.separator { line-height: 49px; padding: 0px; color: #3ea1bd; font-size: 12px; font-weight:bold; }
ul#portfolioFilter li a { font-size: 18px; color: #ffffff; text-transform:uppercase;}
ul#portfolioFilter li a:hover { font-size: 18px; color: #3ea1bd; text-transform:uppercase;}
ul#portfolioFilter .ofertMenuActive a { font-size: 18px; color: #3fa1bf; text-transform:uppercase;}

/*-- 3. Thumbs --*/
div#portfolio_thumbs { position: relative; z-index: 10; margin: 0; padding: 0; }
div#portfolio_thumbs ul { display: block; margin: 0; padding: 0; list-style: none; }
div#portfolio_thumbs ul li { float: left; width: 25%; margin: 0; padding: 0; position: relative; overflow: visible; aspect-ratio: 1 / 1; box-sizing: border-box; }
div#portfolio_thumbs ul li a.more_info { display: block; width: 100%; height: 100%; overflow: hidden; position: relative; }
div#portfolio_thumbs ul li img { width: 100%; height: 100%; display: block; object-fit: cover; }
div#portfolio_thumbs ul li img.rollover { position: absolute; opacity: 0; filter: alpha(opacity = 0); top: 0px; left: 0px; width: 100%; height: 100%; object-fit: cover; }
/* Kafelki z oferty: ten sam obraz w grayscale, po najechaniu kolor (rollover) */
div#portfolio_thumbs ul li.tile-oferta img:not(.rollover) { filter: grayscale(100%); -webkit-filter: grayscale(100%); transition: filter 0.6s ease; }
div#portfolio_thumbs ul li.tile-oferta:hover img:not(.rollover) { filter: grayscale(0%); -webkit-filter: grayscale(0%); }
div#portfolio_thumbs ul li div.item_info { display: none; position: absolute; top: 100%; left: 0; z-index: 11; width: 100%; max-height: 44px; padding: 6px 10px; text-align: center; background: #333; border-bottom: 2px solid #079ddb; box-sizing: border-box; overflow: hidden; }
div#portfolio_thumbs ul li div.item_info h3 { margin: 0; font-size: 15px; color: #FFF; font-family: 'Oswald', sans-serif; line-height: 1.25; }
div#portfolio_thumbs ul li div.item_info h3 a { color: #FFF; }
div#portfolio_thumbs ul li div.item_info p { font-size: 12px; font-style: italic; color: #CCC; }

/*-- 4. Item page --*/
#portfolio_item { display: none; width: 100%; margin-top: 20px; padding-bottom: 20px; }
#item_content { width: 960px; margin: 0 auto; }
#text_content { float: left; width: 310px; margin-left: 20px; line-height: 20px; text-align: center; font-size: 12px; color: #fff; }
#text_content h3 { margin-bottom: 20px; font-size: 20px; color: #FFF; font-family: 'Oswald', sans-serif; }
/* Slider */
#item_slider { float: left; width: 560px; margin: 0; padding: 0; }
#item_slider a:active {outline: none;} .slides, .flex-control-nav, .flex-direction-nav {margin: 0; padding: 0; list-style: none;}
#item_slider .slides > li {display: none;}
#item_slider .slides img {max-width: 100%; display: block;}
#item_slider { position: relative; zoom: 1;}
#item_slider .slides {zoom: 1;}
#item_slider .slides > li {position: relative;}
#item_slider .flex-direction-nav li a { width: 30px; height: 30px; line-height: 29px; background: #666; position: absolute; top: 0px; cursor: pointer; text-indent: 1px; font-size: 15px; font-family: 'Quicksand', sans-serif; text-align: center; }
#item_slider .flex-direction-nav li .next { right: 0px; color: #FFF; }
#item_slider .flex-direction-nav li .prev { right: 30px; color: #FFF; }
#item_slider .flex-direction-nav li .next:hover { background: #999; }
#item_slider .flex-direction-nav li .prev:hover { background: #999; }
/* Video */
#item_video_wrapper { float: left; width: 560px; }
#item_video { height: 0; position: relative; padding-bottom: 56.25%; overflow: hidden; }
#item_video iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; visibility:hidden; }
/* Control buttons */
#control_buttons { width: 30px; float: right; }
#control_buttons a { display: block; width: 30px; height: 30px; line-height: 29px; margin-bottom: 10px; background: #999; font-size: 15px; font-family: 'Quicksand', sans-serif; color: #FFF; text-align: center; }
#control_buttons a:hover { background: #CCC; }

/*-- 5. Quote --*/
div#quote { width: 960px; margin: 0 auto; padding: 45px 0; text-align: center; color: #fff; }
div#quote p { line-height: 32px; font-size: 24px; font-family: 'Verdana', sans-serif; word-wrap: break-word; overflow-wrap: break-word; }
span#author { display: block; padding-top: 18px; text-align: center; font-size: 13px; }


/*=====================================================================================*/
/*       . SERVICES                                                                    */
/*=====================================================================================*/

/*-- 1. General --*/
div#services { padding-bottom: 90px; padding-top: 50px; background: #FFF; }
#services_title h2 { margin-bottom: 40px; color: #333; }
div#services_intro { width: 960px; margin: 0 auto; margin-bottom: 40px; line-height: 26px; text-align: center; font-size: 16px; color: #666; }

/*-- 2. Service items --*/
.l{
	margin-left:200px!important;
}
div#service_elements { width: 960px; margin: 0 auto; overflow-x: hidden; -ms-overflow-x: hidden; }
div#service_elements ul { width: 1050px; }
div#service_elements ul li { width: 260px; float: left; margin-right: 90px; margin-bottom: 60px; }
div#service_elements ul li.ls { clear: both; }
div#service_elements ul li .icon { width: 150px; max-width: 150px; height: 150px; max-height: 150px; line-height: 150px; margin: 0 auto; margin-bottom: 23px; text-align: center; background: #333; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; }
div#service_elements ul li .icon img { max-width: 150px; max-height: 150px; vertical-align: middle; }
div#service_elements ul li .service_content { text-align: center; }
div#service_elements ul li .service_content h3 { margin-bottom: 16px; font-size: 19px; color: #333; font-family: 'Oswald', sans-serif; }
div#service_elements ul li .service_content p { margin-bottom: 13px; line-height: 19px; font-size: 12px; }
div#service_elements ul li .service_content a.read_more { font-size: 15px; color: #1fa2c1; }
div#service_elements ul li .service_content a.read_more:hover { color: gray; }
div#service_elements ul li .service_content a.landing_page {color: #1fa2c1; }
div#service_elements ul li .service_content a.landing_page:hover { color: gray; }

/*-- 3. Single service ( loaded by ajax ) --*/
div#service_item { width: 960px; margin: 0 auto; margin-bottom: 50px; }
div#service_content { display: none; position: relative; font-size: 13px; text-align: left; }
div#service_content h3 { margin-bottom: 22px; font-size: 22px; color: #333; font-family: 'Oswald', sans-serif; }
div#service_content a#close_service { position: absolute; top: 0px; right: 0px; display: block; width: 30px; height: 30px; line-height: 30px; text-align: center; font-size: 13px; color: #CCC; background: #333; }

/* Desktop layout for services: 2 rows × 3 tiles */
@media screen and (min-width: 961px) {
   div#service_elements {
      width: 100%;
      max-width: 960px;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      overflow-x: visible;
   }
   div#service_elements ul {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      column-gap: 40px;
      row-gap: 60px;
   }
   div#service_elements ul li {
      width: auto;
      margin: 0;
      float: none;
      clear: none;
   }
   div#service_elements ul li.ls {
      clear: none;
   }
}

/*=====================================================================================*/
/*       . ABOUT                                                                       */
/*=====================================================================================*/

/*-- 1. General --*/
div#about { padding-top: 70px; background: #bfbfbf url(images/bgonas.png) no-repeat; background-position:center top; color: #fff; }
div#about_title h2 { margin-bottom: 50px; color: #FFF; }
div#about_image { width: 260px; height: 260px; margin: 0px auto; margin-bottom: 38px; }
div#about_image img { width: 260px; border-radius: 38px; -moz-border-radius: 38px; -webkit-border-radius: 38px; }
div#about_content { width: 960px; margin: 0px auto; padding-bottom: 78px; text-align: center; }
div#about_content h3 { margin-bottom: 25px; font-size: 22px; color: #FFF; font-family: 'Oswald', sans-serif; }
div#about_content p { font-size: 12px; line-height: 19px; }

/*-- 2. Testimonails --*/
div#testimonials_contaier { padding-top: 40px; padding-bottom: 40px; background: #3ea1bd; }
div#testimonials { width: 960px; margin: 0 auto; }
div.testimonial { width: 960px; }
div.avatar { float: left; width: 145px; text-align: right; }
div.avatar img { max-width: 145px; }
div.testimonial_content { float: right; width: 770px; padding-top: 10px; line-height: 28px; font-size: 16px; color: #CCC; }
span.customer_name { display: block; text-align: right; font-weight: bold; font-style: italic; }

/*=====================================================================================*/
/*       . CONTACT                                                                     */
/*=====================================================================================*/

/*-- 1. General --*/
div#contact { padding-top: 70px; background: #FFF; }
#contact_title h2 { margin-bottom: 30px; color: #000; }
div#contact_info { width: 880px; margin: 0 auto; margin-bottom: 26px; font-size: 15px; line-height: 26px; text-align: center; }
div#social_icons { width: 960px; height: 36px; margin: 0 auto; margin-bottom: 28px; }
div#social_icons div { position: relative; float: left; left: 50%; }
div#social_icons div ul { position: relative; float: left; left: -50%; }
div#social_icons div ul li { float: left; margin-right: 10px; }

/*-- 2. Contact form --*/
div#contact_form { width: 360px; margin: 0 auto; margin-bottom: 100px; text-align: center; }
div#contact_form input[type="text"], div#contact_form textarea { width: 100%; margin: 0px; padding: 0px; border: 0px; text-align: center; background: transparent; font-family: 'Oswald', sans-serif; font-size: 16px; color: #666; -webkit-appearance: none; }
div#contact_form input[type="text"] { margin-bottom: 11px; padding: 12px 0px; border-bottom: 1px solid #CCC; }
div#contact_form textarea { height: 200px; margin-bottom: 28px; padding-top: 17px; border-bottom: 1px solid #CCC; }
div#contact_form button { width: 60px; height: 60px; line-height: 60px; padding: 0px; border: 0px; font-family: 'Oswald', sans-serif; font-size: 18px; color: #FFF; text-align: center; background: #333; border-radius: 30px; -moz-border-radius: 30px; -webkit-border-radius: 30px; cursor: pointer; }

/*-- 3. Google map --*/
div#google_map { width: 100%; }
div#google_map iframe { width: 100%; height: 500px; }

/*=====================================================================================*/
/*       . MOBILE STYLES                                                               */
/*=====================================================================================*/

/*--- Screen <= 960px ( Tablets portrait view  )---*/
@media screen and (max-width: 960px) {

   /*- General -*/
   body { overflow-x: hidden; }
   .content { width: 100% !important; max-width: 100% !important; padding: 60px 20px 0 20px !important; box-sizing: border-box !important; }
   body, div, p, h1, h2, h3, h4, h5, h6, a, span, li {
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
   }

   /*- Header -*/
   div#navigation div ul li a { padding: 0px 20px; }
   div#intro h1 { font-size: clamp(24px, 5vw, 46px) !important; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   #slider_wrapper { width: 100% !important; max-width: 100% !important; height: auto !important; padding: 0 20px !important; box-sizing: border-box !important; }
   #slider_wrapper img { max-width: 100% !important; height: auto !important; }
   .flex-direction-nav li a { top: 87px; }
   
   /*- Portfolio -*/
   div#portfolio_thumbs ul li { width: 33.33%; }
   #item_content { width: 700px; }
   div#quote { width: 100% !important; max-width: 100% !important; padding: 45px 20px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#quote p { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   #item_slider { width: 350px; }
   #text_content { width: 290px; }
   #item_video_wrapper { width: 350px; }
   
   /*- Services -*/
   .l{
	margin-left:0!important;
	}
	 .ll{
	margin-left:0!important;
	}
	 .ls{
	clear:none!important;
	}
   div#services_intro { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#service_elements { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#service_elements ul { width: 100% !important; padding: 0 !important; margin: 0 !important; list-style: none !important; box-sizing: border-box !important; }
   div#service_elements ul li { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 auto 40px auto !important; display: block !important; clear: both !important; box-sizing: border-box !important; }
   div#service_elements ul li.ls { clear: none !important; }
   div#service_item { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   
   /*- About -*/
   div#about_content { width: 100% !important; max-width: 100% !important; padding: 0 20px 78px 20px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#about_content p, div#about_content h3 { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#testimonials { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div.testimonial { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div.avatar { width: 100px; }
   div.avatar img { max-width: 100px; }
   div.testimonial_content { width: 100% !important; max-width: 100% !important; padding: 0 20px 0 0 !important; box-sizing: border-box !important; line-height: 24px; font-size: 13px; }
   
   /*- Contact -*/
   #contact_title { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   #contact_title h2, #contact_title div { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#contact_info { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; margin: 0 auto 26px auto !important; }
   div#contact_form { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; margin: 0 auto 100px auto !important; }
   div#social_icons { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#google_map iframe { height: 400px; max-width: 100% !important; }

}

/*--- Screen <= 700px ( iPhone5 landscape view )---*/
@media screen and (max-width: 700px) {

   /*- General -*/
   .content { width: 100% !important; max-width: 100% !important; padding: 0px 20px 0 20px !important; box-sizing: border-box !important; }

   /*- Header -*/
   div#navigation div { display: none; }
   select.mobile_menu { display: block; width: 250px; height: 28px; margin: 0 auto; margin-top: 10px; }
   div#intro { margin-bottom: 30px; }
   div#intro h1 { font-size: clamp(20px, 5vw, 30px) !important; margin-bottom: 30px; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#intro p { font-size: 14px; word-wrap: break-word !important; overflow-wrap: break-word !important; }
   #slider_wrapper { width: 100% !important; max-width: 100% !important; height: auto !important; margin-bottom: 50px; padding: 0 20px !important; box-sizing: border-box !important; }
   #slider_wrapper img { max-width: 100% !important; height: auto !important; }
   .flex-direction-nav li a { display: none; }
   
   /*- Portfolio -*/
   div#portfolio_thumbs ul li { width: 50%; }
   #item_content { width: 520px; padding-top: 50px; position: relative; }
   div#quote { width: 100% !important; max-width: 100% !important; padding: 45px 20px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#quote p { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   #item_slider { width: 100%; float: none; margin-bottom: 30px; }
   #item_video_wrapper { width: 100%; float: none; margin-bottom: 30px; }
   #text_content { width: 100%; margin: 0px; }
   #control_buttons { width: 0%; float: none; }
   #control_buttons a { position: absolute; top: 0px; }
   #control_buttons a#prev { left: 215px; }
   #control_buttons a#close { left: 255px; }
   #control_buttons a#next { left: 295px; }
   
   /*- Services -*/
      .l{
	margin-left:0!important;
	}
	 .ll{
	margin-left:0!important;
	}
	.ls{
	clear:none!important;
	}
   div#services { margin-bottom: 0px; }
   div#services_intro { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#service_elements { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#service_elements ul { width: 100% !important; padding: 0 !important; margin: 0 !important; list-style: none !important; box-sizing: border-box !important; }
   div#service_elements ul li { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 auto 40px auto !important; display: block !important; clear: both !important; box-sizing: border-box !important; padding: 0 !important; }
   div#service_elements ul li.ls { clear: none !important; }
   div#service_item { width: 400px; }
   
   /*- About -*/
   div#about_content { width: 100% !important; max-width: 100% !important; padding: 0 20px 78px 20px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#about_content p, div#about_content h3 { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#testimonials { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div.testimonial { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div.avatar { width: 100px; }
   div.avatar img { max-width: 100px; }
   div.testimonial_content { width: 100% !important; max-width: 100% !important; padding: 0 20px 0 0 !important; box-sizing: border-box !important; }

   /*- Contact -*/
   #contact_title { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   #contact_title h2, #contact_title div { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#contact_info { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; margin: 0 auto 26px auto !important; }
   div#contact_form { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; margin: 0 auto 100px auto !important; }
   div#social_icons { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#google_map iframe { height: 280px; max-width: 100% !important; }

}

/*--- Screen <= 500px ( iPhone 3 & 4 ( and many more devices... ) landscape view )---*/
@media screen and (max-width: 500px) { 

   /*- General -*/
   .content { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   .title { font-size: 30px; }
   
   /*- Header -*/
   #slider_wrapper { width: 100% !important; max-width: 100% !important; height: auto !important; padding: 0 20px !important; box-sizing: border-box !important; }
   #slider_wrapper img { max-width: 100% !important; height: auto !important; }
   div#intro h1 { font-size: clamp(18px, 5vw, 26px) !important; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }

   /*- Portfolio -*/
   div#portfolio { padding-top: 40px; }
   #item_content { width: 420px; }
   div#quote { width: 100% !important; max-width: 100% !important; padding: 45px 20px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#quote p { font-size: 15px; line-height: 26px; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   #control_buttons a#prev { left: 165px; }
   #control_buttons a#close { left: 205px; }
   #control_buttons a#next { left: 245px; }
   
   /*- Services -*/
      .l{
	margin-left:0!important;
	}
	 .ll{
	margin-left:0!important;
	}
	.ls{
	clear:none!important;
	}
   div#services { margin-bottom: 0px; padding-top: 30px; }
   #services_title h2 { margin-bottom: 20px; }
   div#services_intro { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; font-size: 13px; margin-bottom: 20px; }
   div#service_elements { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#service_elements ul { width: 100% !important; padding: 0 !important; margin: 0 !important; list-style: none !important; box-sizing: border-box !important; }
   div#service_elements ul li { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 auto 40px auto !important; display: block !important; clear: both !important; box-sizing: border-box !important; padding: 0 !important; }
   div#service_elements ul li.ls { clear: none !important; }
   div#service_item { width: 320px; }
   
   /*- About -*/
   div#about { padding-top: 35px; }
   div#about_title h2 { margin-bottom: 30px; }
   div#about_content { width: 100% !important; max-width: 100% !important; padding: 0 20px 78px 20px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#about_content p, div#about_content h3 { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#testimonials { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div.testimonial { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div.avatar { width: 80px; }
   div.avatar img { max-width: 80px; }
   div.testimonial_content { width: 100% !important; max-width: 100% !important; padding: 0 20px 0 0 !important; box-sizing: border-box !important; }
   
   /*- Contact -*/
   div#contact { padding-top: 35px; }
   #contact_title { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   #contact_title h2 { margin-bottom: 20px; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   #contact_title div { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#contact_info { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; margin: 0 auto 26px auto !important; font-size: 13px; }
   div#contact_form { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; margin: 0 auto 100px auto !important; }
   div#social_icons { width: 100% !important; max-width: 100% !important; padding: 0 20px !important; box-sizing: border-box !important; }
   div#google_map iframe { height: 220px; max-width: 100% !important; }

}

/*--- Screen <= 768px ( Mobile devices - one column layout )---*/
@media screen and (max-width: 768px) {
   /*- General - Fix content wrapper and text wrapping -*/
   .content { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 0 20px 0 20px !important;
      box-sizing: border-box !important;
   }
   body, div, p, h1, h2, h3, h4, h5, h6, a, span, li {
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
      hyphens: auto;
   }
   
   /*- Header -*/
   /* Note: Padding-top accounts for fixed navbar (70px) + spacing. Adjust as needed. */
   #header .content {
      width: 100% !important;
      max-width: 100% !important;
      padding-top: 20px !important;
      padding-left: 20px !important;
      padding-right: 20px !important;
      padding-bottom: 0 !important;
      box-sizing: border-box !important;
   }
   div#intro h1 {
      font-size: clamp(20px, 5vw, 30px) !important;
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
      max-width: 100% !important;
   }
   #slider_wrapper { 
      width: 100% !important; 
      max-width: 100% !important;
      height: auto !important;
      padding: 0 20px !important;
      box-sizing: border-box !important;
   }
   #slider_wrapper img {
      max-width: 100% !important;
      height: auto !important;
   }
   
   /*- Services - Force single column layout on all mobile devices -*/
   div#service_elements { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 0 20px !important;
      box-sizing: border-box !important;
   }
   div#service_elements ul { 
      width: 100% !important; 
      padding: 0 !important; 
      margin: 0 !important; 
      list-style: none !important;
      box-sizing: border-box !important;
   }
   div#service_elements ul li { 
      width: 100% !important; 
      max-width: 100% !important;
      float: none !important; 
      margin: 0 auto 40px auto !important; 
      display: block !important; 
      clear: both !important;
      box-sizing: border-box !important;
      padding: 0 !important;
   }
   div#service_elements ul li.ls { 
      clear: none !important; 
   }
   div#service_elements ul li.l,
   div#service_elements ul li.ll {
      margin-left: 0 !important;
   }
   div#services_intro { 
      width: 100% !important; 
      max-width: 100% !important;
      padding: 0 20px !important;
      box-sizing: border-box !important;
   }
   
   /*- Quote -*/
   div#quote { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 45px 20px !important; 
      box-sizing: border-box !important; 
      margin: 0 auto !important; 
   }
   div#quote p { 
      word-wrap: break-word !important; 
      overflow-wrap: break-word !important; 
      max-width: 100% !important; 
   }
   
   /*- About -*/
   div#about_content { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 0 20px 78px 20px !important;
      box-sizing: border-box !important;
      margin: 0 auto !important;
   }
   div#about_content p,
   div#about_content h3 {
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
      max-width: 100% !important;
   }
   
   /*- Contact -*/
   #contact_title {
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 20px !important;
      box-sizing: border-box !important;
   }
   #contact_title h2,
   #contact_title div {
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
      max-width: 100% !important;
   }
   div#contact_info { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 0 20px !important;
      box-sizing: border-box !important;
      margin: 0 auto 26px auto !important;
   }
   div#contact_form { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 0 20px !important;
      box-sizing: border-box !important;
      margin: 0 auto 100px auto !important;
   }
   div#social_icons { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 0 20px !important;
      box-sizing: border-box !important;
   }
}

/*--- Screen <= 360px ( iPhone 3 & 4 &5 ( and many more devices... ) portrait )---*/
@media screen and (max-width: 360px) {

   /*- General -*/
   .content { width: 100% !important; max-width: 100% !important; padding: 0 15px !important; box-sizing: border-box !important; }
   .title { font-size: 26px; }
   
   /*- Header -*/
   div#intro h1 { margin-bottom: 25px; font-size: clamp(16px, 5vw, 26px) !important; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   #slider_wrapper { width: 100% !important; max-width: 100% !important; height: auto !important; padding: 0 15px !important; box-sizing: border-box !important; }
   #slider_wrapper img { max-width: 100% !important; height: auto !important; }
   
   /*- Portfolio -*/
   div#filter_wrapper { float: none; margin-bottom: 20px; padding-top: 20px; left: auto; }
   ul#portfolioFilter { line-height: 18px; float: none; left: auto; text-align: center; }
   ul#portfolioFilter li { float: none; height: 20px; line-height: 1; margin-bottom: 10px; padding: 0px; }
   ul#portfolioFilter li.separator { display: none; }
   #item_content { width: 300px; }
   div#portfolio_thumbs ul li div.item_info h3 { font-size: 14px; }
   div#quote { width: 100% !important; max-width: 100% !important; padding: 45px 15px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#quote p { font-size: 15px; line-height: 26px; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   #control_buttons a#prev { left: 105px; }
   #control_buttons a#close { left: 145px; }
   #control_buttons a#next { left: 185px; }
   
   /*- Services -*/
   div#service_elements { 
      width: 100% !important; 
      max-width: 100% !important; 
      padding: 0 15px !important;
   }
   div#service_elements ul { 
      width: 100% !important; 
      padding: 0 !important; 
      margin: 0 !important; 
   }
   div#service_elements ul li { 
      width: 100% !important; 
      max-width: 100% !important;
      float: none !important; 
      margin: 0 auto 40px auto !important; 
      display: block !important; 
   }
   div#service_elements ul li.ls { 
      clear: none !important; 
   }
   div#service_item { width: 280px; }
   div#service_content { font-size: 12px; }
   div#service_content h3 { font-size: 16px; }
   
   /*- About -*/
   div#about_content { width: 100% !important; max-width: 100% !important; padding: 0 15px 78px 15px !important; box-sizing: border-box !important; margin: 0 auto !important; }
   div#about_content p, div#about_content h3 { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#testimonials { width: 100% !important; max-width: 100% !important; padding: 0 15px !important; box-sizing: border-box !important; }
   div.testimonial { width: 100% !important; max-width: 100% !important; padding: 0 15px !important; box-sizing: border-box !important; }
   div.avatar { width: 100%; float: none; margin-bottom: 25px; text-align: center; }
   div.avatar img { max-width: 100px; }
   div.testimonial_content { width: 100% !important; max-width: 100% !important; padding: 0 15px 0 0 !important; box-sizing: border-box !important; float: none; }
   
   /*- Contact -*/
   #contact_title { width: 100% !important; max-width: 100% !important; padding: 0 15px !important; box-sizing: border-box !important; }
   #contact_title h2, #contact_title div { word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
   div#contact_info { width: 100% !important; max-width: 100% !important; padding: 0 15px !important; box-sizing: border-box !important; margin: 0 auto 26px auto !important; }
   div#contact_form { width: 100% !important; max-width: 100% !important; padding: 0 15px !important; box-sizing: border-box !important; margin: 0 auto 100px auto !important; }
   div#social_icons { width: 100% !important; max-width: 100% !important; padding: 0 15px !important; box-sizing: border-box !important; }
   div#google_map iframe { height: 300px; max-width: 100% !important; }

}


