/**Global**/
.fl {
    float: left;
}

.fr {
    float: right;
}

.ml {
    margin-left: .5em;
}

.mt {
    margin-top: 1.875em;
}

.tc {
    text-align: center;
}

.tr {
    text-align: right;
}

.w100 {
    width: 100%;
}

.grey {
    color: #6f777b;
}

@media (max-width: 640px) {
    .fl {
        float: left;
        width: 100%;
    }

    .fr {
        float: right;
        width: 100%;
    }

    .ml {
        margin-left: 0;
    }

    .mb {
        margin-bottom: 1.875em;
    }
}

/**fix for external rel with font-xsmall**/

.font-xsmall a[rel="external"]:after {background-position: right 3px;}

/**Yellow border highlight**/
.govuk-box-border-yellow {
    margin: 1em 0;
    padding: 0 1em 2.2em;
    border: 4px solid #ffbf47;
}

.govuk-box-border-yellow-reduced {
    margin: 1em 0;
    padding: 1em 1em .5em;
    border: 4px solid #ffbf47;
}

.govuk-box-border-yellow-delete {
    margin: 1em 0;
    padding: 0 1em 1.2em;
    border: 4px solid #ffbf47;
}

@media (max-width: 641px) {
    .govuk-box-border-yellow-delete {padding: 0 1em 0.2em;}
    
}

.account-info {
    padding-left: 0;
    text-align: right;
    font-size: 14px;
    line-height: 1.1428571429;
    padding: 1em 0;
    border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 641px) {
    .account-info {
        font-size: 16px;
        line-height: 1.25;
    }
}

.account-info .your-name,#signin-link {
    padding: 0 .5em;
}

.no-border td {
    border: 0;
}

.locked {
    opacity: .5;
}

/**mobile table**/
@media only screen and (max-width: 960px) {
    /* Force table to not be like tables anymore */
    #adviser table,#adviser thead,#adviser tbody,#adviser th,#adviser td,#adviser tr {
        display: block;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    #adviser thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    #adviser tr {
        border: 1px solid #BFC1C3;
        margin-top: 1em;
    }

    #adviser td {
    /* Behave  like a "row" */
        border: none;
        position: relative;
        padding-left: 50%;
    }

    #adviser td:before {
    /* Now like a table header */
        position: absolute;
    /* Top/left values mimic padding */
        top: .8em;
        left: .6em;
        width: 45%;
        padding-right: 1em;
        white-space: nowrap;
        font-weight: 700;
    }

    /*
                	Label the data
                	*/
    #adviser td:nth-of-type(1):before {
        content: "Task";
    }

    #adviser td:nth-of-type(2):before {
        content: "Due date";
    }

    #adviser td:nth-of-type(3):before {
        content: "Responsibilty";
    }

    #adviser td:nth-of-type(4):before {
        content: "Status";
    }
}

@media only screen and (min-width: 961px) {
    #adviser td:nth-of-type(1) {
        width: 35%;
    }
    #adviser td:nth-of-type(4) {
        width: 30%;
    }
}

/*change-answers*/
table.check-your-answers tr td:first-child {
    width: 30%;
}

/*My account jump links*/
.jump-links ol {
    margin-bottom: 0;
}

.jump-links {
    border-bottom: 1px solid #bfc1c3;
    margin-bottom: 1em;
    padding-bottom: 1em;
    clear:both;
}

/*search button*/
button.search {
    float:right;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    z-index: 4;
    right: 0;
    top: 0;
    width: 50px;
    height: 50px;
    border: none;
    overflow: hidden;
    text-indent: -5000px;
    color: #fff;
    background-color: #2b8cc4;
    background-image: url(./images/search-button.png);
    background-repeat: no-repeat;
    background-position: -12.5% 50%;
}

#course-search {
    float: left;    
    width:76%;
    width: -webkit-calc(100% - 62px);
    width: calc(100% - 62px);
    height: 38px;
}

/*Report a page*/
.report-a-problem {
    color: #6f777b;
    text-decoration: underline;
    cursor: pointer;
}

@media (min-width: 641px) {
    .report-a-problem {
        margin-top: 3em;
        margin-bottom: .5em;
    }
}

.report-a-problem a {
    cursor: pointer;
}

/*Pagination*/
.pagination {
    display: block;
    margin: 4em 0 0;
    border-bottom: 1px solid #bfc1c3;
}

@media (max-width: 640px) {
    .pagination {
        margin: 2em 0;
    }
}

.pagination ul {
    margin: 0;
    padding: 0;
}

.pagination li {
    font-size: 14px;
    line-height: 1.14286;
    font-weight: 400;
    text-transform: none;
    font-size-adjust: .5;
    float: left;
    list-style: none;
    text-align: right;
    margin: 0;
    padding: 0;
    width: 49%;
}

@media (min-width: 641px) {
    .pagination li {
        font-size: 16px;
        line-height: 1.25;
    }
}

.pagination li a {
    background-color: transparent;
    display: block;
    color: #005ea5;
    text-decoration: none;
}

.pagination li a:hover,.pagination li a:active {
    background-color: #f8f8f8;
}

.pagination li a .pagination-label {
    font-size: 20px;
    line-height: 1.11111;
    font-weight: 400;
    text-transform: none;
    font-size-adjust: .5;
    margin-bottom: .1em;
    display: block;
}

@media (min-width: 641px) {
    .pagination li a .pagination-label {
        font-size: 27px;
        line-height: 1.25;
    }
}

.pagination li a .pagination-part-title {
    text-decoration: underline;
}

.pagination li.next {
    float: right;
    text-align: right;
}

.pagination li.next a:before {
    background: transparent url(./images/arrow-sprite.png) no-repeat -102px -11px;
    margin: -4px -32px 0 0;
    display: block;
    float: right;
    width: 30px;
    height: 38px;
    content: " ";
}

.pagination li.previous a:before {
    background: transparent url(./images/arrow-sprite.png) no-repeat -20px -11px;
    margin: -4px 0 0 -32px;
    display: block;
    float: left;
    width: 30px;
    height: 38px;
    content: " ";
}

.pagination li.previous {
    float: left;
    text-align: left;
}

.pagination li.previous a {
    padding: .75em 0 .75em 3em;
}

.pagination li.next a {
    padding: .75em 3em .75em 0;
}

@media (max-width: 640px) {
    .pagination li.previous,.pagination li.next {
        float: none;
        width: 100%;
    }

    .pagination li.next a {
        text-align: right;
    }
}

.pagination .first,.pagination .last {
    min-height: 4.5em;
}

.pagination .first span,.pagination .last span {
    display: block;
    min-height: 4.5em;
    padding: .75em 5%;
    width: 90%;
}

.pagination .first .pagination-label,.pagination .last .pagination-label {
    display: block;
    margin-bottom: .5em;
}

.tag-filter {
    background: #BFC1C3;
    padding: 1% 2%;
    font-weight: 700;
}

.tags li {
    margin-bottom: 5%;
}

@media only screen and (max-width: 960px) {
    /* Force table to not be like tables anymore */
    #shc table,#shc thead,#shc tbody,#shc th,#shc td,#shc tr {
        display: block;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    #shc thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    #shc tr {
        border: 1px solid #BFC1C3;
        margin-top: 1em;
    }

    #shc td {
    /* Behave  like a "row" */
        border: none;
        position: relative;
        padding-left: 50%;
    }

    #shc td:before {
    /* Now like a table header */
        position: absolute;
    /* Top/left values mimic padding */
        top: .8em;
        left: .6em;
        width: 45%;
        padding-right: 1em;
        white-space: normal;
        font-weight: 700;
    }

    /*
                	Label the data
                	*/
    #shc td:nth-of-type(1):before {
        content: "Name";
    }

    #shc td:nth-of-type(2):before {
        content: "Description";
    }

    #shc td:nth-of-type(3):before {
        content: "Estimated duration";
    }

    #shc td:nth-of-type(4):before {
        text-align: right;
    }
}

/**Checking information**/
@media only screen and (max-width: 480px) {
    .scroll-x {
        overflow-x: scroll;
    }
}

.scroll-x caption {
    text-align: left;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 700;
    text-transform: none;
    margin-top: .625em;
    margin-bottom: .3125em;
}

@media (min-width: 641px) {
    .scroll-x caption {
        margin-top: 1.0526315789em;
        font-size: 19px;
        line-height: 1.3157894737;
    }
}

/**abstract**/
.abstract-images {
    float: left;
    margin-bottom: 1.0526315789em;
}

.abstract-images img {
    padding: 0 2% 0 0;
}

.image_numbers {
    float: left;
    padding: 0 2% 0 0;
}

.image_numbers span {
    display: block;
    text-align: center;
    margin: 0 auto;
}

/**mechanical**/
.mechanical-images img {
    max-width: 100%;
}

/**Job profiles**/

#search-main {
    float: left;
    width: 76%;
    width: -webkit-calc(100% - 62px);
    width: calc(100% - 62px);
    height: 38px;
}

/*Job profile browse list*/
ul.job-family {
    margin-bottom: 0;
}

/**A-z**/

#az-index-wrapper {
    float:left;
    display: block;
    margin-bottom: 1.0526315789em;
}

#az-index-wrapper .largeLetter {
    display: inline;
    float: left;
    background: #005EA5;
    margin: 4px 5px 0px 0px;
    width: 110px;
    height: 119px;
    text-align: center;
    line-height: 130px;
    font-size: 95px;
    color: #fff;
}

#az-index {    
    margin: 0;
    padding: 0;
    display: inline;
}

ul#az-index li {
    float: left;
    height: 28px;
    list-style-type: none;
    margin: 4px 0px 9px 0px;
    padding: 0;
    width: 44px;
}

#az-index a:link, #az-index a:visited {
    background: #dee0e2;    
    display: block;
    height: 25px;
    padding: 0.65em 0 0 0;
    text-align: center;    
    width: 40px;
    line-height: 15px;
}

/**job profiles filter**/

.filter {
    margin-bottom: 1.875em;
    background-color: #dee0e2;
    padding: 5px;
}

.filter:focus {
    outline: 3px solid #ffbf47;
}

.filter .legend {    
    font-size: 19px;
    line-height: 1.31579;
    font-weight: 400;
    text-transform: none;
    display: -moz-inline-stack;
    display: inline-block;
    margin-right: 0;
    font-weight: bold;
}

@media (max-width: 640px) {
    .filter .legend {
        font-size: 16px;
        line-height: 1.25;
    }
}

.radio-filter {
    padding: 10px;
}

.radio-filter label {
    margin-right: 10px;
    display: -moz-inline-stack;
    display: inline-block;
}

.radio-filter input {
    width: 14px;
}

.checkbox-filter {
    float: left;
    width: 100%;
    background-color: #dee0e2;
    padding: 5px;    
}

.js-enabled .checkbox-filter .head {
    cursor: pointer;
}

.js-enabled .checkbox-filter .toggle {
    background: url(./images/toggle-sprite.png) no-repeat;
    height: 10px;
    width: 12px;
    background-position: -12px 0;
    display: -moz-inline-stack;
    display: inline-block;
    margin-right: 5px;
}

.js-enabled .checkbox-filter.closed .checkbox-container {
    position: absolute;
    left: -9999px;
    padding: 0;
    margin: 0;
}

.js-enabled .checkbox-filter.closed .toggle {
    background-position: 0 0;
}

.checkbox-filter ::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
}

.checkbox-filter ::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0,0,0,0.5);
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,0.5);
}

.checkbox-filter .head {
    padding: 5px;
    position: relative;
    float: left;
    width: 100%;
}

.checkbox-filter .head .controls {
    display: none;
}

.js-enabled .checkbox-filter .head .controls {
    float: right;    
    display: inline-block;
}

.js-enabled .checkbox-filter .head .controls .clear-selected {
    display: -moz-inline-stack;
    display: inline-block;
    margin-right: 5px;
    font-size: 16px;
}

.js-enabled .checkbox-filter .head .controls .clear-selected.js-hidden {
    left: -9999em;
    position: relative;
    width: 0px;
    height: 0px;
    overflow: hidden;
}

.checkbox-filter .checkbox-container {
    position: relative;
    padding: 5px;
    background-color: #fff;
    height: 300px;
    overflow-y: scroll;
    overflow-x: hidden;
}

.checkbox-filter .checkbox-container ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.checkbox-filter .checkbox-container ul ul {
    padding-left: 20px;
}

.checkbox-filter .checkbox-container li label {
    display: -moz-inline-stack;
    display: inline-block;
    margin-left: 20px;
}

.checkbox-filter .checkbox-container li input {
    width: 12px;
    border: none;
    margin: 3px 10px 0 0;
    vertical-align: top;
    position: absolute;
}

/**Job profile page**/

.govuk-box-grey {
    padding: 1em 1em .5em;
    background: #DEE0E2;
}

.profile {
    padding: 1em 1em .5em;
    background: #DEE0E2;
    margin-bottom: 1.875em;
}

.hours-icon,.salary-icon {
    display: none;
}

@media (min-width:1020px) {
    .govuk-box-grey {        
        border-bottom: 1px solid #fff;
    }

    .profile {
        float: left;
        width: 100%;
        padding: 0;
        text-align: center;
        max-height: 70px;
        line-height: 24px;
    }

    .forty {
        width: 40%;
        float: right;
    }

    .sixty {
        float: left;
        width: 60%;
    }

    .hours-icon,.salary-icon {
        float: left;
        display: block;
    }

    .bold {
        font-weight: 700;
        font-size: 24px;
        display: block;
        padding-top: 0.5em;
    }
}

.ipsos {
  width: 100%;
  background-color: #ffbf47;
  padding-top: 10px;
  padding-bottom: 10px; 
  
}

.ipsos a {
    color:#000000;
}

.ipsos p {
  max-width: 960px;
  margin: 0 15px;
}


@media (min-width: 641px) {
  .ipsos p {
    margin: 0 30px;
  }
    .close {float:right;}
}

@media (min-width: 1020px) {
  .ipsos p {   
    margin: 0 auto;    
  }
}

/**Sitefinity**/

.field-validation-valid {
        display: none;
    }

    .validation-summary-valid {
        display: none;
    }

/**Search boxes in iOS**/

input[type="search"] {
    -webkit-appearance: none;
    border-radius: 0;    
}

/**search box error**/
.error input#course-search, .error input#search-main {
    width: 74%;
    width: -webkit-calc(100% - 67px);
    width: calc(100% - 67px);
}

