/*

Colours:

Yellow:    #fcb527
Dark Blue: #002856
Dark Grey: #444444

*/


/*  General Styles
***************************************************************** */

    html {
        height: 100%;
    }
    body {
        font-family: 'Roboto', sans-serif;
        font-size:1.1em;
        line-height: 1.8;
        overflow-x: hidden;
        color:#4d4d4e;
        height: 100%;
    }
    *, *::after, *::before {
        box-sizing: border-box;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
    a {
        color: #454545;
    }
    a:hover {
        color:inherit;
        text-decoration: none !important;
        border-bottom: 2px solid #FCB526;
    }
    .container {
        max-width: 1400px;
        padding:0 30px;
    }
    .container.narrow {
        max-width: 1200px;
    }
    .cms-placeholder {
        display:contents
    }
    
    /* Skipping sections */

    .skip-links {
        position: absolute;
        top: 0px;
        left: -2048rem;
        z-index: 99999999;
        width: 100%;
    }

    .skip-links ul {
        list-style: none;
    }

    .skip-links ul li {
        display: list-item;
        text-align: -webkit-match-parent;
    }

    .skip-links-link {
        display: block;
    }

    .skip-links-link:active, .skip-links-link:focus {
        position: absolute;
        top: 0px;
        left: 2048rem;
        width: 100%;
        color: rgb(255, 255, 255);
        text-align: center;
        outline: 0px;
        background: rgb(119, 119, 119);
        border-bottom: 0.0625rem solid rgb(0, 0, 0);
        padding: 0.75rem;
        text-decoration: none;
    }

/*  Typography
***************************************************************** */

    h1 {
        text-transform: uppercase;
        font-size: 3.25em;
        font-weight: 800;
        line-height: 1.3;
        color: #000;
        margin-top: 0.8em;
        margin-bottom: 0.65em;
    }
    h2 {
        text-transform: uppercase;
        font-weight: 800;
        font-size: 3em;
        margin-top: 0.8em;
        margin-bottom: 0.65em;
        color:#000
    }
    h3 {
        font-weight: 800;
        font-size: 2.4em;
        margin-top: 0.8em;
        margin-bottom: 0.65em;
        color:#000
    }
    h4 {
        font-weight: 800;
        font-size: 2em;
        margin-top: 0.8em;
        margin-bottom: 0.65em;
        color:#000
    }
    h5 {
        font-weight: 700;
        font-size: 1.6em;
        margin-top: 0.8em;
        margin-bottom: 0.65em;
        color:#000
    }
    h1:first-child,
    h2:first-child,
    h3:first-child,
    h4:first-child,
    h5:first-child {
        margin-top:0
    }
    h1 a,
    h2 a,
    h3 a,
    h4 a,
    h5 a {
        color:#000
    }
    h1 a,
    h2 a,
    h3 a,
    h4 a,
    h4 a {
        line-height: 1.3;
    }

/*  Form Styles
***************************************************************** */

    .form-container {
        max-width: 900px;
        margin: 80px auto;
    }

    .form-container h3 {
        text-align: left;
        font-size: 1.8em;
        font-weight: 600;
    }

    .form-field {
        margin-bottom:20px
    }

    

    /* Label */

    .form-field .label-wrapper {
        display:inline-block;
        width:100%;
        margin: 10px 0 20px;
        padding-left:1px;
    }
    .form-field.error label{
        color: #c50835;
    } 
    .form-field.error ul.errorlist{
        color: #c50835;
        margin-bottom:-10px
    } 

    .form-field label {
        width:100%
    } 
    .form-field .label-wrapper label {
        padding: 13px 30px;
        margin-left: -1px;
        border:1px solid #ccc;
        float:left;
        text-align:center;
        position:relative;
        cursor: pointer
    }
    .form-field .label-wrapper ul {
        display:table;
    }
    .form-field .label-wrapper ul li {
        display:inline-block
    }


    /* Form Field Columns */

    .form-field .label-wrapper.two-column label {
        width:50%;
    }
    .form-field .label-wrapper.three-column label {
        width:33.33%;
    }
    .form-field .label-wrapper.four-column label {
        width:25%;
    }
    .form-field .label-wrapper.five-column label {
        width:20%;
    }


/*  Required / Error / Success Messages
***************************************************************** */

    .required-field-indicator {
        color:#c50835;
        font-weight: bold;
    }
    .success-message {
        background: #ebf7ea;
        border: 1px solid #0b9800;
    }
    .errors {
        background: #f9e4e9;
        border: 1px solid #c50835;
    }
    .success-message,
    .errors {
        padding: 12px 20px;
        width: 100%;
        margin: 10px 0 50px;
        text-align: center;
        color: #000;
    }
    .success-message h1,
    .success-message h2,
    .success-message h3,
    .success-message h4 {
        margin:30px 0;
    }
    .success-message p,
    .errors p {
        margin:10px 0;
    }


/*  Form Elements
***************************************************************** */

    /* Input and Text Areas */
    .form-field.error input[type=text],
    .form-field.error input[type=tel],
    .form-field.error input[type=date],
    .form-field.error input[type=email],
    .form-field.error textarea {
        padding: 12px 20px;
        background: #f8f8f8;
        border: 1px solid #c50835;
        width: 100%;
        margin: 10px 0 0;
        font-size: 1.1em;
    }

    .form-field input[type=text],
    .form-field input[type=tel],
    .form-field input[type=date],
    .form-field input[type=email],
    .form-field textarea {
        padding: 12px 20px;
        background: #f8f8f8;
        border: 1px solid #ccc;
        width: 100%;
        margin: 10px 0 0;
        font-size: 1.1em;
    }

    /* Select */

    select {
        padding: 12px 20px;
        border: 1px solid #ccc;
        box-shadow: none;
        border-radius: 0;
        background: transparent;
        width: 100%;
        padding-right: 46px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-color: #f8f8f8;
        background-image: url(../images/arrow-icon.png);
        background-position: top 22px right 18px;
        background-repeat: no-repeat;
        font-size: 1.1em;
        font-weight: 400;
        margin: 10px 0 10px 0;
        color: #3f3f3f;
    } 

    select::-ms-expand {
        display: none;
    }

    /* Checkbox */
    .form-field ul {
        padding:0;
    }
    .form-field ul li {
        display: inline-block;
        padding-right: 30px;
        min-width: 175px;
    }
    input[type="checkbox"] {
        width: 30px;
        margin-right: 15px;
        height: 25px;
    }
    input[type="checkbox"]:before {
        position: relative;
        display: block;
        width: 30px;
        height: 30px;
        border: 1px solid #cccccc;
        content: "";
        background: #f8f8f8;
        cursor: pointer;
    }
    input[type="checkbox"]:checked:before {
        background-image: url(../images/check-mark.png);
        background-repeat: no-repeat;
        background-position: center center;
    }

    /* Radio Buttons */

    .form-field .label-wrapper label input[type="radio"] + span.bg-colour {
        position:absolute;
        width:100%;
        height:100%;
        left:0;
        top:0;
        z-index: -1;
    }
    .form-field .label-wrapper label input[type="radio"] {
        display:none
    }
    .form-field .label-wrapper label input[type="radio"]:checked + span.bg-colour {
        background-color: #ececec;
    }
    .form-field .radio-wrapper.four-column ul li {
        width:25%
    }
    .form-field .radio-wrapper ul {
        display: table;
        width: calc(100% + 5px);
        border-collapse: collapse;
        margin: 10px 0 0;
    }
    .form-field .radio-wrapper ul li {
        min-width: 0;
        display:table-cell;
        padding: 0px;
        margin-left: -1px;
        border:1px solid #ccc;
        text-align:center;
        position:relative;
        cursor: pointer
    }
    .form-field .radio-wrapper label {
        margin:0;
        padding: 13px 30px;
        cursor: pointer;
    }
    .form-field .radio-wrapper label input[type="radio"],
    .form-field .radio-wrapper label input[type="checkbox"] {
        opacity: 0;
        zoom: 0.1;
        display: block;
    }
    .form-field .radio-wrapper li.selected {
        background-color: #ececec;
    }
    .form-field .label-wrapper {
        display:inline-block;
        width:100%;
        margin: 10px 0 20px;
        padding-left:1px;
    }


    /* Phone Number */

    .phone-number.form-field label input {
        margin-right: -2px;
        margin-left: -2px
    }
    .phone-number.form-field label span {
        margin:0 -2px;
        width:4%;
        display:inline-block;
        text-align:center;
    }
    .phone-number.form-field label input:nth-last-child(3) {
        width:15%
    }
    .phone-number.form-field label input:last-child {
        width: 77%;
    }


/*  Table Styles
***************************************************************** */

    table {
        border: 3px solid #000;
    }
    table[border="0"] {
        border:none
    }
    table thead {
        background: #000;
    }
    table thead th, 
    table thead th * {
        color:#fff;
        margin:0;
        padding: 5px;
        border-bottom: none;
    }
    table thead th h2 {
        font-weight:600;
        font-size: 1.8em;
    }
    table thead th h3 {
        font-weight:600;
        font-size: 1.5em;
    }
    table td {
        border-top:none;
        border-bottom: none;
        border-color: #f3f1f2;
    }
    table[cellpadding="1"] td {
        padding:5px
    }
    table tbody tr:nth-child(even) th,
    table tbody tr:nth-child(even) td {
        background: #f6f6f6;
    }

/*  Button Styles
***************************************************************** */

    .button-solid,
    .button {
        text-transform: uppercase;
        border: solid 2px #fcb527;
        background:#fff;
        padding: 8px 20px;
        transition: 0.5s ease;
        -webkit-transition: 0.5s ease;
        -moz-transition: 0.5s ease;
        color: #000;
        min-width: 200px;
        text-align: center;
        font-weight: 500;
        font-size: 1.2em;
        display:inline-block;
        cursor: pointer;
    }
    .button-solid,
    .button:hover {
        background: #fcb527;
        color: #000;
    }
    .button-solid:hover {
        background:transparent
    }
    .button.inactive {
        border-color:#ccc
    }
    .text-link {
        border: none;
        cursor: pointer;
        padding: 0 0 6px 0;
        font-size: 0.75em;
        font-weight: bold;
        text-transform: uppercase;
        line-height: 1;
        display: inline-block;
        position: relative;
        bottom: -6px;
        color:#24466f
    }
    .text-link:hover {
        color:#000;
        border-bottom: 2px solid #fcb527;
    }

/*  CMS Tool Bar
******************************************************************/

    div.cms .cms-toolbar-item-logo a {
        padding-right: 5px !important;
    }
    .cms-icon-logo:before, 
    div.cms .cms-toolbar-item-logo a:before {
        content: "" !important;
        height: 36px !important;
        width: 33px !important;
        margin-top: 4px;
        background: url(../images/toronto-police-service-logo.png);
        background-size: contain;
        display: block !important;
    }
    body div.cms .cms-toolbar {
        border-bottom: 3px solid rgb(252, 181, 38) !important;
    }
    div.cms .cms-toolbar-item-navigation li a {
        height: 43px !important;
    }
    div.cms .cms-toolbar-item-navigation li a {
        line-height: 43px !important;
    }
    div.cms .cms-modal-item-buttons, div.cms .cms-toolbar-item-buttons {
        margin-top: 7px !important;
        margin-bottom: 7px !important;
    }

    .striped-background {
        background: repeating-linear-gradient(
            45deg,
            rgba(22, 22, 22, 0.15),
            rgba(22, 22, 22, 0.15) 10px,
            rgba(254, 206, 0, 0.15) 10px,
            rgba(254, 206, 0, 0.15) 20px
        );
    }

@media (max-width: 1200px) {

    /*  Typography
    ***************************************************************** */

    h2 {
        font-size: 2.8em;
    }
    h3 {
        font-size: 2.2em;
    }
    h4 {
        font-size: 2em;
    }
    h5 {
        font-size: 1.4em;
    }

}
@media (max-width: 1050px) {

    /*  Typography
    ***************************************************************** */
    
    h1 {
        font-size: 2.8em;
    }
    h2 {
        font-size: 2.5em;
    }
    h3 {
        font-size: 1.9em;
    }
    h4 {
        font-size: 1.7em;
    }
    h5 {
        font-size: 1.35em;
    }
    big {
        font-size: 1.2em;
    }
}
@media (max-width:950px) { 
    .button {
        font-size: 1.1em;
        padding: 6px 20px;
    }
}
@media (max-width:850px) {   

    /*  Typography
    ***************************************************************** */
    
    h1 {
        font-size: 2.3em;
    }
    h2 {
        font-size: 2.2em;
    }
    h3 {
        font-size: 1.7em;
    }
    h4 {
        font-size: 1.4em;
    }
    h5 {
        font-size: 1.2em;
    }
    
}
@media (max-width:700px) {

    /*  Typography
    ***************************************************************** */

    h1 {
        font-size: 2.1em;
    }  
    h2 {
        font-size: 1.9em;
    }
    h3 {
        font-size: 1.5em;
    }
    h4 {
        font-size: 1.3em;
    }
    h5 {
        font-size: 1.2em;
    }
    big {
        font-size: 1.15em;
    }
     
}

@media (max-width:500px) {

    /*  Typography
    ***************************************************************** */

    h1 {
        font-size: 1.9em;
    }  
    h2 {
        font-size: 1.7em;
    }  
}
@media (max-width:450px) {

    /*  Typography
    ***************************************************************** */

    h1 {
        font-size: 1.7em;
    }  

    /*  General Styles
    ***************************************************************** */

    body { 
        font-size: 1em
    }
    .container {
        max-width: 1400px;
        padding:0 20px;
    }
}
