@keyframes background-slide{
	  0% { background-position: 0 0; }
	 25% { background-position: 50% 0; }
	 50% { background-position: 100% 0; }
	 75% { background-position: right 50% 0; }
	100% { background-position: 0 0; }
}
@-webkit-keyframes background-slide{
	  0% { background-position: 0 0; }
	 25% { background-position: 50% 0; }
	 50% { background-position: 100% 0; }
	 75% { background-position: right 50% 0; }
	100% { background-position: 0 0; }
}
@-moz-keyframes background-slide{
	  0% { background-position: 0 0; }
	 25% { background-position: 50% 0; }
	 50% { background-position: 100% 0; }
	 75% { background-position: right 50% 0; }
	100% { background-position: 0 0; }
}
@-ms-keyframes background-slide{
	  0% { background-position: 0 0; }
	 25% { background-position: 50% 0; }
	 50% { background-position: 100% 0; }
	 75% { background-position: right 50% 0; }
	100% { background-position: 0 0; }
}

html, body{
    margin:0px;
    padding:0px;
    background-color:#EFEFEF;
}
body{
    font-family: 'Oswald', sans-serif;
    color:#333;
    font-size:16.5px;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5em;
}

.container{
    max-width:1100px;
    margin:auto;
    padding:15px;
}
.container-wide{
	max-width:1600px;
    margin:auto;
    padding:15px;
}

.img-fluid{
    max-width:100%;
    height:auto;
}

.btn{
    display:inline-block;
    border: 2px solid black;
    background-color: transparent;
    color: black;
    padding: 8px 16px;
    cursor: pointer;
    border-radius: 5px;
}

.btn-white{
    color: #FFF;
    border-color:#FFF;

    transition: color .25s;
    -moz-transition: color .25s;
    -webkit-transition: color .25s;

    transition: background-color .25s;
    -moz-transition: background-color .25s;
    -webkit-transition: background-color .25s;
}

.section-it .btn-white:hover{
    color:#336666;
    text-shadow: none;
    background-color: #FFF;

    transition: color .25s;
    -moz-transition: color .25s;
    -webkit-transition: color .25s;

    transition: background-color .25s;
    -moz-transition: background-color .25s;
    -webkit-transition: background-color .25s;
}

.nav-main{
	overflow:hidden;
	position:absolute;
	top:0;
	width:100%;
	z-index: 1;
}

.nav-main li{
	float:left;
	color:rgba(255, 255, 51, 0.85);
	display:block;
	padding:8px;
	text-transform: uppercase;;
	letter-spacing: 1px;
	font-size: 1.15em;
}

.section-name{
	/*height:100vh;*/
    height:100%;
	color:white;
	white-space:nowrap;
}

.background-chicago{
	position: absolute; 
	top:0;
	left:0;
	width: 100%;
	height: 100%; 
	background-image: url("../img/chicago.jpg");
	background-size:cover;
	-moz-animation: background-slide 120s linear infinite;
	-ms-animation: background-slide 120s linear infinite;
	-o-animation: background-slide 120s linear infinite;
	-webkit-animation: background-slide 120s linear infinite;
	animation: background-slide 120s linear infinite;

    /*-webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);*/
}

.overlay{
	position: absolute; 
	top:0;
	left:0;
	width: 100%;
	height: 100%; 
	background-color:rgba(51, 102, 204, 0.85)
}
    

.name{        
    position:absolute;
    /*bottom:30px;*/
    bottom:6vh;
}

.name-inner{
    position:relative;
}

.name-maloney{
    display:inline-block;
    margin:auto;             
}
.name-maloney h1{
    display:inline;
    margin:0px;
    letter-spacing: 2px;
    /*font-size:120px;*/
    font-size:8vw;
    text-shadow: 4px 4px 2px #222;
}

.name-col{
    display:inline-block;
    vertical-align:top;
}

.name-col-container{
    margin-left:15px;
    margin-top:2vw;
}

.name-col h3{
    margin:0px; 
    letter-spacing:5px; 
    text-align:center; 
    text-shadow: 4px 4px 2px #222;
}

.name-col-top{
    /*font-size:45px; */
    font-size:2.8vw;
}

.name-col-bottom{
    /*font-size:40px;*/
    font-size:2.5vw;
}

.name-col .divider{
    /*min-height:12px;*/
    min-height:0.5vw; 
    background-color:white; 
    box-shadow: 4px 4px 2px #222;
}

.name-col .divider.name-col-top-div{
    display:none;
}

.arrow-down-wrapper{
    margin:auto; 
    text-align:center;
}

.arrow-down{
    text-align:center; 
    position:absolute;
    bottom:15px;
    left:50%;

    font-size:3vh;
    text-shadow: 4px 4px 2px #222;

    margin-left:-12px;
}

.section-about{
    padding-top:15px;
    text-align:center;
}

.section-about h2{
    font-weight:lighter; 
    font-size:1.85em; 
    margin-bottom:1.5em; 
    margin-top:0.5em;
    font-style: italic;
}

.section-about-inner{
    margin-top:1.5em; 
    margin-bottom:1.85em; 
}

.section-about-inner p{
    font-family: 'Neuton', serif;
    font-size:1.35em;
}

.section-services{
    padding-top:15px;
    padding-bottom:30px;

    text-align: justify;
    text-shadow: 1px 1px 2px #CCC;
}

.section-services h1{
    font-size:2em;
    padding-bottom:0.25em;
    text-align:center;
}

.section-services h2{
    margin-top:0.5em;
    text-align:center;
    font-size:1.5em;
}

.services-bg-wrapper{
    width:180px;
    margin:auto;
}

.services-bg{
    background-color:#CCC;
    width:180px;
    padding-top:180px;
    margin:auto;
    position:relative;

    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%;
    box-shadow: 4px 4px 2px #999;
}

.services-icon{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;

    font-size:80px;
    margin-top:50px;
    margin-bottom:50px;
    text-align:center;
    color:#CC3333;
    text-shadow: 4px 4px 2px #999;
}

.service-detail{
    padding-top:15px;
    padding-bottom:15px;

    font-size:18px;

    text-shadow: 2px 2px 4px #CCC;
    text-align:justify;
}

.service-detail a{
    text-decoration: none;
    color:#3366CC;
}

.service-detail a:hover{
    color:#3399FF;
}

.service-detail .call-action{
    font-size:1.15em; 
}

.service-detail .list-head{
    margin-bottom:0.5em;
}

.service-detail ul{
    margin-top:0.5em;
    padding-left: 0;
    list-style: none;
}

.service-detail li:before{
    content: '\2022';
    padding: 0.5em;
    text-shadow: 2px 2px 4px #CCC;
    font-size:1.15em;
}

.service-detail.text-white{
    color: #FFF;
    text-shadow: 2px 2px 4px #333;
}

.service-detail.text-white li:before{
    text-shadow: 2px 2px 4px #333;
}

.service-detail img{
    margin-top:0.85em;

    box-shadow: 2px 2px 4px #333;
}

.service-detail-img .services-icon .fas{
    font-size:30vw; 
    text-shadow: 3px 3px 2px #555;
}

.section-contact {
	background-color:#333;
	color:#FFF;
    font-size:1.15em;
}

.form-contact label{
    font-size:1.15em;
}


.form-contact input, .form-contact textarea{
    width:100%;
    font-size:1.15em;
}

.form-contact input[type=text], .form-contact textarea {
    width: 100%;
    padding: 8px;
    margin: 8px 0;
    box-sizing: border-box;
    border:3px solid;
    border-color:#333;

    transition: border-color .25s;
    -moz-transition: border-color .25s;
    -webkit-transition: border-color .25s;
}

.form-contact input[type=text]:focus, .form-contact textarea:focus{
    border:3px solid #3366CC;
}

.form-contact input.invalid-input, .form-contact textarea.invalid-input{
    border-color:#CC3333;

    transition: border-color .25s;
    -moz-transition: border-color .25s;
    -webkit-transition: border-color .25s;
}

.form-contact input[type=submit]{
    width:auto;
    padding:5px 15px;
    border: 3px solid #FFF;
    background-color: transparent;
    color:#FFF;
    font-family: 'Oswald', sans-serif;

    transition: color .25s;
    -moz-transition: color .25s;
    -webkit-transition: color .25s;

    transition: background-color .25s;
    -moz-transition: background-color .25s;
    -webkit-transition: background-color .25s;
}

.form-contact input[type=submit]:hover{
    background-color:#FFF;
    color:#333;

    transition: color .25s;
    -moz-transition: color .25s;
    -webkit-transition: color .25s;

    transition: background-color .25s;
    -moz-transition: background-color .25s;
    -webkit-transition: background-color .25s;
}

@media (max-width:991.98px) and (min-width:768px){    
    .col-service-detail-img, .col-service-detail-desc{
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
        
        margin-left: 16.666667%;
        
        /*-ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
        
        margin-left: 25%;*/
    }

    .col-service-detail-img{
        -ms-flex-order: -1;
        order: -1;
    }
    
    .service-detail-img{
        padding:1em;
    }
}

@media (max-width:991.98px) and (min-width:576px){    
    .col-service-detail-desc h2{
        margin-top:0.5em;
    }
}

@media(max-width:899.98px){
    .services-bg {
        width: 160px;
        padding-top: 160px;
    }
    .services-icon {
        font-size: 70px;
        margin-top: 45px;
        margin-bottom: 45px;
    }
    
    .section-services h2 {
        font-size: 1.25em;
    }
}

@media(max-width:699.98px) {
    .name{
        bottom:12vh;
    }
}

@media (max-width:575.98px) {

    .section-name .container{
        height:100%;
        position:relative;
    }

    .name{
        /*padding-top:200px;*/
        position:relative;
        text-align:center;
        top:40%;
        margin-top:-60px;
    }
    
    .name-maloney h1{
        font-size:12vw;
        text-shadow: 3px 3px 2px #222;
    }

    .name-col{
        display: block;
    }

    .name-col-container{
        margin:0px;
    }

    h3.name-col-top{
        font-size:8.5vw;
        text-align:center;
        letter-spacing: 3px;
        text-shadow: 3px 3px 2px #222;
    }

    .name-col-bottom{
        font-size:10px;
    }

    .section-about h2{
        font-size:1.5em;
    }

    .section-about-inner p{
        font-size:1.15em;
    }

    .service-detail h2{
        margin-top:15px;
        text-align:center;
    }

    .service-detail{
        font-size:16.5px;
    }

    .btn-wrapper{
        text-align:center;
    }

    .section-contact{
        text-align:center;
    }

    .section-contact form{
        margin-top:1.5em;
        text-align:left;
    }

    .form-contact label{
        font-size:1em;
    }

    .name{
        left:0;
        right:0;
        
        bottom: auto;
        top: 40vh;
    }
    
    .name-inner{
        text-align:center;
    }
    
    .name-maloney{
        display:block;
    }
    
    .name-maloney h1{
        font-size:14vw;
    }
    
    .name-col{
        display:inline-block;
    }
    
    .name-col-container{
        margin:0;
    }
    
    .name-col .divider.name-col-top-div{
        display:block;
        min-height:1vw;
    }
    
    h3.name-col-top {
        font-size:8vw;
    }
    
    .name-col-top .name-break{
        display:inline!important;
    }
    
    .name-col-bottom-wrapper{
        display:none!important;
    }
    
    h3.name-col-bottom {
        font-size:4.5vw;
    }
    
    @media(max-height:480px){
        .name{
            top: 25vh;
        }
        
        .name-maloney h1{
            font-size:12vw;
        }
        
        h3.name-col-top {
            font-size:6vw;
        }
    }
}

@media(min-width:576px) and (orientation: portrait){
    .name{
        left:0;
        right:0;
        
        bottom: auto;
        top: 25vh;
    }
    
    .name-inner{
        text-align:center;
    }
    
    .name-maloney{
        display:block;
    }
    
    .name-maloney h1{
        font-size:14vw;
    }
    
    .name-col{
        display:inline-block;
    }
    
    .name-col-container{
        margin:0;
    }
    
    .name-col .divider.name-col-top-div{
        display:block;
        min-height:1vw;
    }
    
    h3.name-col-top {
        font-size:8vw;
    }
    
    .name-col-top .name-break{
        display:inline!important;
    }
    
    .name-col-bottom-wrapper{
        display:none!important;
    }
    
    h3.name-col-bottom {
        font-size:4.5vw;
    }
}

.animated.delay-0125s{
    -webkit-animation-delay: 125ms;
    animation-delay: 125ms;
}

.animated.delay-0250s{
    -webkit-animation-delay: 250ms;
    animation-delay: 250ms;   
}

.animated.delay-0375s{
    -webkit-animation-delay: 375ms;
    animation-delay: 375ms;
}

.animated.delay-0500s{
    -webkit-animation-delay: 500ms;
    animation-delay: 500ms;
}