@charset "utf-8"; @import url('https://fonts.googleapis.com/css?family=Advent+Pro:wght@400;700&family=Asap:wght@400;600&display=swap'); @default_color:#333; @brand_color_blue:#22405c; @brand_color_skyblue:#4e99de; @brand_color_red:#922a52; @brand_color_navy:#1a3146; @default_border_radius:3px; @default_background_color: #dee1e6; @mobile_padding:60px 25px; @tablet_padding:60px 8%; @desktop: ~"only screen and (min-width: 900px) and (max-width: 1200px)"; @netbook: ~"only screen and (min-width: 700px) and (max-width: 900px)"; @tablet: ~"only screen and (min-width: 490px) and (max-width: 700px)"; @mobile: ~"only screen and (max-width: 490px)"; // Flex .flex_center{ display:flex; align-items:center; justify-content:center; } // Float breaker .float_breaker{ &:after{ content:""; clear:both; display:block; } } // Shadows .shadow_one{ -webkit-filter:drop-shadow(0 0 10px rgba(0,0,0,0.08)); filter:drop-shadow(0 0 10px rgba(0,0,0,0.08)); } .shadow_two{ -webkit-filter:drop-shadow(0 0 25px rgba(0,0,0,0.4)); filter:drop-shadow(0 0 25px rgba(0,0,0,0.4)); } .shadow_three{ -webkit-filter:drop-shadow(0 0 5px rgba(0,0,0,0.06)); filter:drop-shadow(0 0 5px rgba(0,0,0,0.06)); } .shadow_blind{ -webkit-filter:drop-shadow(0 0 15px rgba(0,0,0,0.2)); filter:drop-shadow(0 0 15px rgba(0,0,0,0.2)); } // Margins .margin_top_60{ margin-top:60px; } .margin_top_20{ margin-top:20px; } .margin_top_10{ margin-top:10px; } .margin_top_30{ margin-top:30px; } // Background basics .background_basics{ background-repeat:no-repeat !important; background-position:top center !important; background-size:cover !important; background-color:#bbb !important; } // No paddings .no_padding_left{ padding-left:0 !important; } .no_padding_bottom{ padding-bottom:0 !important; } // Prevent User Selection .user_select_false{ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; } * { box-sizing: border-box; } body{ background: @default_background_color; font-family:'Asap', sans-serif; margin:0; padding:0; color:@default_color; font-weight:400; font-size:1rem; } p{ margin:0; line-height:150%; } a{ text-decoration:none; border:none; color:inherit; } img{ border:none; display:block; } // Headers .headerCrossStyling{ font-family:'Advent Pro', sans-serif; padding:0; margin:0; line-height:105%; color:#666; } h1{ .headerCrossStyling; font-size:5rem; font-weight:300; @media @tablet{ font-size:3.5rem; } @media @mobile{ font-size:3.1rem; } } h2{ .headerCrossStyling; font-size:3.4rem; @media @mobile{ font-size:2.3rem; } } h3{ .headerCrossStyling; font-size:2rem; margin:0 0 20px 0; @media @mobile{ font-size:1.55rem; } } h4{ .headerCrossStyling; font-size:1.2rem; line-height:135%; letter-spacing: 1px; } h5,h6{ font-family: 'Advent Pro', sans-serif; font-weight: 600; padding:0; margin:0; line-height:105%; letter-spacing: 1px; font-size: 0.9rem; } // Text colours .blue_text{ color:@brand_color_blue !important; } // Placeholder for textboxes ::-webkit-input-placeholder { color:#ccc; } :-moz-placeholder { /* Firefox 18- */ color:#ccc; } ::-moz-placeholder { /* Firefox 19+ */ color:#ccc; } :-ms-input-placeholder { color:#ccc; } // Form errors .frm_err{ display:inline-block; padding:10px 20px; color:#fff; background: @brand_color_blue; margin-bottom:5px; font-size:0.9rem; font-weight:600; } // Form success .frm_success{ display:block; padding:10px 20px; text-align:left; color:#fff; background:@brand_color_blue; border-radius:@default_border_radius; margin:30px 0; } // Textbox .textbox{ display:block; padding:15px 20px; border: none; resize:vertical; outline:none; width:100%; font-family:'Advent Pro',sans-serif; font-size:1.2rem; font-weight:400; color:@default_color; transition:0.4s ease; &.is_textarea{ height:180px; } &:hover{ -webkit-filter:drop-shadow(0 0 25px rgba(0,0,0,0.2)); filter:drop-shadow(0 0 25px rgba(0,0,0,0.2)); } &:focus{ .shadow_one; background:@brand_color_blue; color:#fff; border-color:@brand_color_blue; } } // Input field container .field_box{ margin:30px 0; > p{ margin-bottom:10px; font-weight:600; } &.no_margin_top{ margin-top:0; } } // Button .button{ .user_select_false; text-decoration:none; cursor:pointer; display:inline-block; padding: 14px 26px; background: @brand_color_blue; color: #fff; transition:0.3s ease; font-size: 0.9rem; border: solid @brand_color_blue; border-width: 0 4px; text-transform: uppercase; &:hover{ .shadow_two; background: @brand_color_blue; color: #fff; border-color: @brand_color_skyblue; } &:active{ background: @brand_color_navy; color: #fff; } } // Navigation Button .nav_button{ .user_select_false; text-decoration:none; cursor:pointer; display:inline-block; padding: 14px 26px; background: #fff; color: @brand_color_blue; transition:0.3s ease; font-size: 0.9rem; border: solid #fff; border-width: 0 4px; text-transform: uppercase; &:hover{ .shadow_two; background: @brand_color_blue; color: #fff; border-color: @brand_color_skyblue; } &:active{ background: @brand_color_navy; color: #fff; } &.active{ border-color:#6289c3; } } // Preloader .preloader{ .flex_center; > div{ &:last-child{ flex:1; padding:0 0 0 10px; } img{ width:25px; } } } // Banner .banner{ .flex_center; .shadow_two; position:fixed; z-index:5; width:100%; top:0; transition:0.4s ease; background: #fff; > div{ &:first-child{ flex:0 0 350px; position:relative; > a{ display:table; padding:0 25px; transition:0.4s ease; color: @brand_color_blue; font-size: 1.2rem; font-weight: 600; font-family: 'Advent Pro', sans-serif; text-transform: uppercase; > div{ display: table-cell; vertical-align: middle; &:first-child{ width: 50px; padding: 0 10px 0 0; } } img{ width:100%; } @media @mobile{ padding: 0 15px; } } } &:nth-child(2){ flex:1; text-align:right; } &:last-child{ flex:0 0 80px; text-align:right; display:none; } } @media @netbook{ > div{ &:first-child{ flex:1; } &:nth-child(2){ display:none; } &:last-child{ display: block; } } } @media @tablet{ > div{ &:first-child{ flex:1; } &:nth-child(2){ display:none; } &:last-child{ display:block; } } } @media @mobile{ > div{ &:first-child{ flex:1; } &:nth-child(2){ display:none; } &:last-child{ display:block; } } } } // Footer .footer{ > div{ &:first-child{ background: @brand_color_navy; color:#fff; padding:50px 5%; #footer_logo{ width: 50px; } > div{ display:table; width:100%; > div{ display:table-cell; vertical-align: middle; text-align:left; width:20%; > div{ display:table; width:100%; @media @mobile{ width: auto; margin: 0 auto; } > div{ display:table-cell; vertical-align: middle; text-align:left; &:first-child{ width:45px; padding: 0 10px 0 0; } } span{ background: @brand_color_blue; padding: 7px 10px; transition: 0.4s ease; cursor: pointer; display: block; i{ font-size: 0.9rem; } } &:hover{ span{ background: @brand_color_red; } } } &:last-child{ text-align:right; } @media @desktop{ width: auto; &:first-child{ width: 80px; } } } @media @netbook{ display: flex; flex-wrap: wrap; > div{ display: block; flex: 0 0 33.33%; &:first-child{ flex: 0 0 100%; text-align: center; padding: 0 0 30px 0; margin: 0 0 30px 0; border-bottom: 1px solid @brand_color_red; } &:last-child{ flex: 0 0 100%; text-align: center; padding: 30px 0 0 0; margin: 30px 0 0 0; border-top: 1px solid @brand_color_red; } } } @media @tablet{ display: flex; flex-wrap: wrap; > div{ display: block; flex: 0 0 50%; padding: 20px 0 0 0; &:first-child{ flex: 0 0 100%; text-align: center; padding: 0 0 30px 0; margin: 0 0 10px 0; border-bottom: 1px solid @brand_color_red; } &:last-child{ text-align: left; } } } @media @mobile{ display: flex; flex-wrap: wrap; > div{ display: block; flex: 0 0 100%; padding: 20px 0 0 0; text-align: center; &:first-child{ text-align: center; padding: 0 0 30px 0; margin: 0 0 10px 0; border-bottom: 1px solid @brand_color_red; } &:last-child{ text-align: center; padding: 30px 0 0 0; margin: 30px 0 0 0; border-top: 1px solid @brand_color_red; } } } } } &:last-child{ background: @brand_color_blue; padding: 30px; font-size: 0.8em; color: #fff; text-align: center; } } } // Hamburger .hamburger{ .user_select_false; text-align: center; display: inline-block; > div{ cursor:pointer; width: 50px; display:inline-block; background: @brand_color_blue; padding: 20px 15px; transition: 0.3s ease; > div{ height: 3px; background: #fff; right:0; transition:0.3s ease; width:100%; margin-top:5px; &:first-child{ margin-top:0; } } &:hover{ background: @brand_color_red; } } &.opened{ > div{ > div{ margin-top:7px; &:first-child{ margin-top:0; } &:nth-child(2){ background:@brand_color_blue; } &:last-child{ background:@brand_color_blue; } } &:hover{ > div{ margin-top:5px; &:first-child{ margin-top:0; } } } } } @media @netbook{ } } // Navigation #navigation{ .shadow_blind; position:fixed; z-index:10; width:100%; height:100%; overflow:auto; display:none; background: @brand_color_navy; a{ &:last-child{ border-top: 1px solid @brand_color_red; } } } a.nav{ display:inline-block; cursor:pointer; text-decoration:none; -webkit-user-select:none; user-select:none; color: @brand_color_blue; font-size:0.95rem; text-align:center; padding: 30px 15px; &:hover{ background: @brand_color_blue; color: #fff; } &:active{ border-color:@brand_color_blue; } &.active{ background: @brand_color_blue; color: #fff; } @media @netbook{ display: block; color: #fff; padding: 20px 15px; &:hover{ background:@brand_color_blue; } &:active{ background:@brand_color_blue; } &.active{ background:#fff; color: @brand_color_blue; } } @media @tablet{ display: block; color: #fff; padding: 20px 15px; &:hover{ background:@brand_color_blue; } &:active{ background:@brand_color_blue; } &.active{ background:#fff; color: @brand_color_blue; } } @media @mobile{ display: block; color: #fff; padding: 20px 15px; &:hover{ background:@brand_color_blue; } &:active{ background:@brand_color_blue; } &.active{ background:#fff; color: @brand_color_blue; } } } a.nav_dropdown{ .user_select_false; display: block; color: #fff; transition:0.4s ease; padding: 15px; font-size: 0.95rem; transition: 0.3s ease; &:hover{ background: @brand_color_red; } &.mobile{ text-align:center; &:hover{ background:@brand_color_blue; } &:active{ background:@brand_color_red; } } } // Text link .text_link{ color: @brand_color_blue; transition: 0.4s ease; cursor: pointer; &:hover{ color: @brand_color_blue; } &.footer{ color: #fff; &:hover{ font-weight: 700; } } } // Industries full navigation #industries_full_nav{ display:inline-block; position: relative; #industries_dropdown{ display:none; position:absolute; width:300px; background: @brand_color_blue; z-index:7; left:0; text-align:left; padding:20px 0; } &:hover{ .nav{ background: @brand_color_navy; color: #fff; } #industries_dropdown{ display:block; opacity:1; } } } #industries_dropdown_mobile{ background:@brand_color_blue; width:100%; > div{ > div{ display:none; } &.active{ .shadow_two; border-bottom:1px solid @brand_color_blue; background:@brand_color_blue; } } } // Services full navigation #services_full_nav{ display:inline-block; position: relative; #services_dropdown{ display:none; position:absolute; width:250px; background: @brand_color_blue; z-index:7; left:0; text-align:left; padding:20px 0; } &:hover{ .nav{ background: @brand_color_navy; color: #fff; } #services_dropdown{ display:block; opacity:1; } } } // Main image screen on pages .page_img_screen{ .flex_center; .user_select_false; .background_basics; height:70vh; transition:0.4s ease; position:relative; padding-top: 60px; > div{ &:first-child{ flex:1; color:#fff; position:relative; z-index:1; padding:0 40px; text-align: center; } &:last-child{ position:absolute; width:100%; height:100%; background:rgba(9,28,56,0.35); top: 0; } } h1,h2,h3,h4,h5,h6{ color:#fff; text-transform: uppercase; } @media @mobile{ > div{ &:last-child{ background:rgba(9,28,56,0.45); } } } } // Mini image screen on pages .mini_img_screen{ .background_basics; position:relative; height:320px; transition:0.4s ease; @media @mobile{ height:280px; } } // Custom Flex Box .custom_box{ &.single_basic{ padding:8%; width:100%; &.white{ background:#fff; } @media @tablet{ padding:@tablet_padding; } @media @mobile{ padding:@mobile_padding; } } &.single{ text-align:center; background: @brand_color_navy; color: #fff; > div{ padding:8%; display:inline-block; width:100%; max-width:850px; } &.white{ background:#fff; color: @default_color; } @media @tablet{ text-align:left; > div{ padding: 50px 40px; } } @media @mobile{ text-align:left; > div{ padding: 40px 25px; } } } &.double{ display: flex; height: auto; background: #fff; flex-wrap: wrap; h3{ color: @brand_color_blue; } > div{ position: relative; flex: 1; padding: 8%; &:first-child{ border: solid #ccc; border-width: 0 1px 0 0; flex: 0 0 47%; } } @media @netbook{ > div{ flex: 0 0 100%; &:first-child{ border-width: 0 0 1px 0; flex: 0 0 100%; } } } @media @tablet{ > div{ flex: 0 0 100%; padding: 60px 40px; &:first-child{ border-width: 0 0 1px 0; flex: 0 0 100%; } } } @media @mobile{ > div{ flex: 0 0 100%; padding: 40px 25px; &:first-child{ border-width: 0 0 1px 0; flex: 0 0 100%; } } } } &.double_contact{ display: flex; height: auto; flex-wrap: wrap; h3{ color: @brand_color_blue; } > div{ position: relative; flex: 1; padding: 8%; &:first-child{ flex: 0 0 47%; background: #fff; } } @media @tablet{ > div{ flex: 0 0 100%; &:first-child{ flex: 0 0 100%; } } } @media @mobile{ > div{ flex: 0 0 100%; padding: 40px 25px; &:first-child{ flex: 0 0 100%; } } } } } // Short line separator .line_separator{ margin: 50px 0; display: table; width: 100%; > div{ display: table-cell; vertical-align: middle; &:first-child{ width: 35px; padding: 0 5px 0 0; > div{ background: @brand_color_skyblue; height: 4px; } } &:last-child{ > div{ background: #ddd; height: 2px; } } } &.small_margin{ margin: 10px 0; } } // White box .white_box{ .shadow_three; background:#fff; padding:15px 25px; margin:10px 0; border-radius:@default_border_radius; border:1px solid #eee; font-weight:600; } // Rounded flow diagram .rounded_flow_diagram{ position:relative; > .super{ .shadow_three; position:absolute; background:#fff; height:220px; width:220px; border-radius:50%; border:1px solid #eee; left:calc(50% - 105px); top:135px; > div{ .flex_center; height:100%; > div{ flex:1; text-align:center; padding:0 15px; } } @media @desktop{ height:170px; width:170px; top:135px; left:calc(50% - 85px); } } > .subject{ .shadow_three; position:absolute; background:#fff; height:150px; width:150px; border-radius:50%; border:1px solid #eee; left:calc(50% - 70px); top:170px; > div{ .flex_center; height:100%; > div{ flex:1; text-align:center; padding:0 15px; } } &:first-child{ transform: rotate(60deg) translate(190px) rotate(-60deg); } &:nth-child(2){ transform: rotate(120deg) translate(190px) rotate(-120deg); } &:nth-child(3){ transform: rotate(180deg) translate(190px) rotate(-180deg); } &:nth-child(4){ transform: rotate(240deg) translate(190px) rotate(-240deg); } &:nth-child(5){ transform: rotate(300deg) translate(190px) rotate(-300deg); } &:nth-child(6){ transform: rotate(0) translate(190px); } @media @desktop{ height:140px; width:140px; top:150px; &:first-child{ transform: rotate(60deg) translate(160px) rotate(-60deg); } &:nth-child(2){ transform: rotate(120deg) translate(160px) rotate(-120deg); } &:nth-child(3){ transform: rotate(180deg) translate(160px) rotate(-180deg); } &:nth-child(4){ transform: rotate(240deg) translate(160px) rotate(-240deg); } &:nth-child(5){ transform: rotate(300deg) translate(160px) rotate(-300deg); } &:nth-child(6){ transform: rotate(0) translate(160px); } } } @media @tablet{ display:none; } @media @mobile{ display:none; } } // Rounded flow diagram - mobile version .rounded_flow_diagram_mobile{ display:none; @media @tablet{ display:block; } @media @mobile{ display:block; } } // Rectangular flow box .rect_flow_box{ .shadow_three; display:table; width:100%; background:#fff; border-radius:@default_border_radius; border:1px solid #eee; font-weight:bold; > div{ display:table-cell; text-align:left; padding:15px; vertical-align:middle; &:first-child{ width:50px; text-align:center; background:@default_background_color; } } } // Process arrow down .arrow_down{ text-align:center; > div{ .shadow_three; background:#fff; border-radius:50%; padding:5px; display:inline-block; margin:10px auto; border:1px solid #eee; .material-icons{ font-size:0.8rem; } } } // Custom unordered list .unordered_list{ display:flex; margin-bottom:15px; > div{ flex:1; &:first-child{ flex:0 0 30px; margin-top:3px; .material-icons{ color:@brand_color_blue; font-size:0.9rem; } } } } // Blinds .blinds{ position:fixed; z-index:7; width:100%; height:100%; background:rgba(9,28,56,0.8); } // Home section grids .home_section_3_grid{ display: flex; flex-wrap: wrap; background: #fff; > div{ flex: 0 0 33.33%; h4{ color: @brand_color_blue; } h5{ margin: 10px 0; color: @brand_color_red; } &:nth-child(2){ border: solid #ccc; border-width: 0 1px; } > div{ padding: 60px 50px; } } @media @netbook{ > div{ > div{ padding: 50px 30px; } } } @media @tablet{ > div{ flex: 0 0 50%; > div{ padding: 50px 40px; } &:nth-child(2){ border-width: 0 0 0 1px; } &:last-child{ flex: 0 0 100%; border-top: 1px solid #ccc; } } } @media @mobile{ > div{ flex: 0 0 100%; > div{ padding: 50px 25px; } &:nth-child(2){ border-width: 1px 0; } } } } .home_cubes{ display: flex; flex-wrap: wrap; > div{ .background_basics; flex: 0 0 33.33%; > div{ background: rgba(9,28,56,0.45); height: 300px; position: relative; > div{ position: absolute; bottom: 0; left: 0; padding: 30px 50px; height: 100%; width: 100%; display: table; > div{ display: table-cell; vertical-align: middle; text-align: center; color: #fff; h4{ color: #fff; margin: 10px 0 0 0; } } } } @media @netbook{ flex: 0 0 50%; > div{ > div{ padding: 30px 40px; } } } @media @tablet{ flex: 0 0 50%; > div{ height: 280px; > div{ padding: 30px; } } } @media @mobile{ flex: 0 0 100%; > div{ height: 250px; > div{ padding: 30px 25px; } } } } } // Contact box .contact_box{ > div{ &:first-child{ .user_select_false; display: table; color: @brand_color_blue; margin: 50px 0 10px 0; > div{ display:table-cell; text-align:left; vertical-align:middle; &:first-child{ padding: 0 15px 0 0; color: @brand_color_skyblue; } h5{ font-size: 1rem; } p{ font-size: 1.2rem; } } @media @tablet{ margin: 40px 0 10px 0; } @media @mobile{ margin: 30px 0 10px 0; } } .line_separator{ margin: 5px 0; } } } // Slideshow .slideshow{ position:relative; height:100vh; overflow:hidden; transition:0.4s ease; > div:nth-child(1){ width:100%; position:absolute; z-index:3; bottom:50px; text-align:center; } @media @netbook{ > div:nth-child(1){ bottom:30px; } } @media @tablet{ height:95vh; > div:nth-child(1){ bottom:30px; } } @media @mobile{ height:80vh; > div:nth-child(1){ bottom:30px; } } } .slide{ .background_basics; position:absolute; height:100%; width:100%; transition:0.4s ease; display:none; > div:nth-child(1){ position:absolute; height:100%; width:100%; background:rgba(0,0,0,0.4); top:0; } &.active{ display:block; } @media @netbook{ padding-top:35%; } @media @tablet{ padding-top:50%; } @media @mobile{ padding-top:45%; } } .slide_dot{ .user_select_false; width:11px; height:11px; border-radius:50%; display:inline-block; margin:0 5px; transition:0.4s ease; border:2px solid #fff; &:hover{ background:#fff; } &.active{ background:@brand_color_blue; border-color:@brand_color_blue; } } .slide_title{ display:none; text-align:left; max-width:600px; color:#fff; position: absolute; left: 40px; bottom: 80px; z-index:1; > h1{ margin-bottom:15px; font-size:3.5em; font-weight:600; color:#fff; text-transform:uppercase; @media @mobile{ font-size:2.5rem; } } > h4{ color:#fff; } > h5{ margin-bottom:20px; font-size:1rem; } @media @mobile{ left: 25px; } } // Popup .popup{ position:fixed; z-index:10; height:100%; width:100%; display:table; top:0; left:0; color:#333; > div{ display:table-cell; vertical-align:middle; padding:40px; text-align:center; > div{ .shadow_one; max-width:500px; display:inline-block; margin:0 auto; text-align:left; > div{ &:first-child{ display:block; background:#fff; padding:40px; border-radius:@default_border_radius @default_border_radius @default_border_radius 0; max-height:80vh; overflow-y:auto; } &:last-child{ display:inline-block; background:#fff; padding:5px; border-radius:0 0 @default_border_radius @default_border_radius; } } } } } // Homepage partners .homepage_partners{ padding:8% 8% 4% 8%; text-align:center; > div{ &:nth-child(2){ display:flex; flex-wrap:wrap; > div{ flex:0 0 20%; padding:10px; img{ width:100%; max-width:300px; } } } } @media @tablet{ text-align:left; padding:60px 8% 30px 8%; > div{ &:nth-child(2){ > div{ flex:0 0 33.33%; padding:10px; } } } } @media @mobile{ text-align:left; padding:60px 25px 30px 25px; > div{ &:nth-child(2){ > div{ flex:0 0 50%; padding:10px; } } } } } // Social links holder .social_links_holder{ text-align:left; font-size:1.5rem; margin-top:10px; } // Talk to us near footer .talk_to_us{ .background_basics; text-align: center; color: #fff; > div{ background: rgba(9,28,56,0.45); text-align: center; padding: 8%; > div{ display: inline-block; max-width: 850px; h3{ color: #fff; margin: 0; } > div{ margin: 20px 0 0 0; } } } @media @tablet{ > div{ padding: 100px 40px; } } @media @mobile{ > div{ padding: 80px 40px; } } } // Container for all industry tiles .industries_holder{ .float_breaker; margin: 60px 30px; @media @mobile{ margin: 40px 30px; } } // Industry box .industry_box{ padding:15px; float:left; width:33.33%; > div{ .shadow_one; display:block; background:#fff; > div{ &:first-child{ .background_basics; height:240px; } &:last-child{ border: 1px solid #ddd; border-top: 0; h4{ color: #fff; background: @brand_color_blue; margin: 0; padding: 20px 40px; } p{ padding: 30px 40px 40px 40px; } } } } @media @desktop{ > div{ > div{ &:last-child{ h4{ padding: 20px 30px; } p{ padding: 20px 30px 30px 30px; } } } } } @media @netbook{ width: 50%; } @media @tablet{ width: 100%; } @media @mobile{ width: 100%; padding:15px 0; > div{ > div{ &:first-child{ height:200px; } &:last-child{ h4{ padding: 20px; } p{ padding: 20px; } } } } } }